Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

The strangest problem EVER (Bash in Mandrake)

3 views
Skip to first unread message

Gary Lawrence Murphy

unread,
Dec 17, 1999, 3:00:00 AM12/17/99
to

The subject line is no exaggeration: This one is weird, easily the
strangest bug I have inflicted on my system in 25 years of computing.
It just makes no sense that it should behave this way, but as we all
know, bugs always make perfect sense when you debug them.

I've upgraded a Pentium II from RH 6.0 to Mandrake 6.1 and while overall
I am impressed with the performance, there is one flaw that breaks a lot
of makefiles and other scripts ...

The relevant environment is
LANG=en_CA
LC_ALL=en_CA

but the behaviour below persists if these are set to "en_US" or "en_UK"
or even if those variables are unset.

Dig this:

Suppose we have directory of files with upper and lower case names ...

$ ls -l
-rw-r--r-- 1 garym staff 0 Dec 17 03:42 AnotherFile
-rw-r--r-- 1 garym staff 0 Dec 17 03:42 File
-rw-r--r-- 1 garym staff 0 Dec 17 03:42 aFile
-rw-r--r-- 1 garym staff 0 Dec 17 03:42 file
Follow this carefully:

$ ls [a-z]*
File aFile file

$ ls a*
aFile

$ ls [a-f]*
File aFile file

$ ls [f-z]*
file

$ ls [A-Z]*
AnotherFile File aFile file
$ ls [A-F]*
AnotherFile File aFile

$ ls [FA]*
AnotherFile File
$ ls [fa]*
aFile file
Can anyone explain this madness? There is a pattern: if the [] set is
a span, the first letter is considered case sensitive, but all the others
in the span will match *regardless* of case. If the [] is just a collection
of letters, it behaves as it should.

I have stripped out *all* old RH 6.0 libs, but because this is a
production machine, I cannot strip out all config files or reformat the
beast. The behaviour of case-sensitive first-letter in a span while
the others are not case sensitive just seems to arbitrary to be anything
that can be due to library mismatches or config options or keyboard maps,
but I can't imagine it being a bug in all Mandrake distributions because
it breaks so many scripts, someone would have reported it long ago.

So I am stumped, utterly. strace shows this particular command uses
the glibc-2.1.1-16mdk /lib/libc.so.6 but nothing else --- I get the
same behaviour using *all* commands in bash, but I do *not* get this
strange behaviour when I use tcsh or ash, and bash works fine if I use
it as root (even though the "set" environments are identical)

The relevant packages would be

readline-4.0-3mdk
bash-2.03-16mdk
--
Gary Lawrence Murphy <ga...@canada.com> TeleDynamics Communications Inc
Business Telecom Services : Internet Consulting : http://www.teledyn.com
Linux/GNU Education Group: http://www.egroups.com/group/linux-education/
"Computers are useless. They can only give you answers."(Pablo Picasso)


0 new messages