strange threads problem using glibc-2.10.1

Allin Cottrell cottrell@wfu.edu
Wed May 13 16:26:00 GMT 2009


I don't suppose this is a glibc bug, but it just emerged since
updating glibc and I wonder if anyone has any idea what's going
on.

I updated from glibc-2.9 to 2.10.1, build from the git sources,
glibc-2_10-branch.  Some programs that previously ran OK have
started segfaulting; this seems to happen in a threaded context
only.  One example is wine.  Called directly from the shell
there's no problem, but when the same command in invoked via a
Makefile it's crashing:

waverley:~/src/winbuild/windist$ make --version
GNU Make 3.81

waverley:~/src/winbuild/windist$ cat testmk
all:
        wine c:/innodir/ISCC.exe ./gretl.iss

waverley:~/src/winbuild/windist$ make -f testmk
wine c:/innodir/ISCC.exe ./gretl.iss
make: *** [all] Segmentation fault

and dmesg shows:

wine[3111]: segfault at 0 ip 60001507 sp bffc6ea4 error 4 in
ld-2.10.1.so[60000000+1d000]

I've tried rebuilding wine 1.0.1 and updating to wine 1.1.21, but
this makes no difference.  And I then noticed that Xprt has
started segfaulting too.

I tried running the above example in gdb:

waverley:~/src/winbuild/windist$ gdb make
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show
copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
(gdb) set follow-fork-mode child
(gdb) set args -f testmk
(gdb) run
Starting program: /usr/bin/make -f testmk
[Thread debugging using libthread_db enabled]
wine c:/innodir/ISCC.exe ./gretl.iss
[New process 10395]
Executing new program: /usr/local/bin/wine
warning: Cannot initialize thread debugging library: generic error
[New process 10395]
[Thread debugging using libthread_db enabled]
Segmentation fault
waverley:~/src/winbuild/windist$ make: *** [all] Segmentation
fault

dmesg:

gdb[10369]: segfault at 0 ip 0809daa9 sp bfccd9b8 error 6 in
gdb[8048000+2dd000]
wine[10395]: segfault at 0 ip 60001507 sp bfdb19f4 error 4 in
ld-2.10.1.so[60000000+1d000]

System info:

waverley:~$ uname -a
Linux waverley 2.6.29.3 #2 SMP PREEMPT Sat May 9 11:54:20 EDT 2009
i686 GNU/Linux

waverley:~$ gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../configure --prefix=/opt/gcc4 --with-arch=i486
--infodir=/usr/share/info --mandir=/usr/share/man --disable-nls
--enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.4.0 (GCC)

waverley:~$ ld -V
GNU ld (GNU Binutils) 2.19.1
  Supported emulations:
   elf_i386
   i386linux

glibc configuration:

../configure --prefix=/usr --with-tls \
 --disable-profile --enable-add-ons \
 --enable-kernel=2.6.29

(No errors from make or "make check" for glibc; installed via
"make install_root=/tmp/glibc-2.10.1 install", tarring up the
package, then booting from CD-ROM and unpacking.)

-- 
Allin Cottrell
Department of Economics
Wake Forest University



More information about the Libc-help mailing list