cons-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Perl 5.6.0 bug affecting Cons on WIN32


From: Steven Knight
Subject: Perl 5.6.0 bug affecting Cons on WIN32
Date: Thu, 9 Aug 2001 13:52:30 -0500 (CDT)

A small heads up for you WIN32 Cons users:

There's a bug in Perl 5.6.0 that prevents you from using any 2.x
version of Cons to build from the root directory of a lettered volume
(C:\, D:\, J:\, etc.).  This bug has been fixed in Perl 5.6.1, and does
not appear to exist in any versions of Perl before 5.6.0.

The bug is that Perl's 5.6.0 current-directory library routines drop the
root (back)slash when you're in the top-level directory of a volume.
That is, they return a current directory of "D:" (for example), not the
correct "D:\".

This causes Cons to go into in an infinite loop trying to look up a
non-existent directory.  I've seen it both use up all available memory
and die, and just hang (with a *lot* of CPU activity on the meter).

This only affects you if you're using Perl 5.6.0 *and* you're building
with Cons in the root directory of a volume--that is, you and your
Construct file are in an [A-Z]:\ directory.  It's perfectly safe to use
Perl 5.6.0 to build with Cons in any subdirectory, or to use any other
version of Perl to build in a volume's root directory.

Cons users on all flavors of UNIX are completely unaffected by this bug.

Since this is an acknowledged bug in 5.6.0, it's fixed in 5.6.1, and
there is an easy workaround (building in a subdirectory), I don't think
it makes sense to put a version-specific hack into Cons to work around
this.  It will be documented, though.

(Thanks to David Sanderson, who was indirectly responsible for this
bug's discovery, because he reported a different bug that caused me to
stumble on this one...)

        --SK




reply via email to

[Prev in Thread] Current Thread [Next in Thread]