This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
New crash in crtstuff.c since Oct 31
- From: Andrew Haley <aph at redhat dot com>
- To: Tom Tromey <tromey at redhat dot com>
- Cc: GCC Hackers <gcc at gcc dot gnu dot org>
- Date: Thu, 13 Nov 2003 11:24:59 +0000
- Subject: New crash in crtstuff.c since Oct 31
- References: <871xse7nu1.fsf@fleche.redhat.com>
Tom Tromey writes:
> I'm running on x86 Red Hat Linux 9.
>
> Recently all java programs have started crashing like so:
>
> #0 0x42073771 in free () from /lib/tls/libc.so.6
> #1 0x420ebd8e in __unregister_atfork () from /lib/tls/libc.so.6
> #2 0x42029fb8 in __cxa_finalize () from /lib/tls/libc.so.6
> #3 0x4038ed55 in __do_global_dtors_aux ()
> from /home/tromey/gnu/Trunk/install/lib/libgcj.so.4
> #4 0x406563a6 in _fini () from /home/tromey/gnu/Trunk/install/lib/libgcj.so.4
> #5 0x4000ce44 in _dl_fini () from /lib/ld-linux.so.2
> #6 0x42029d40 in exit () from /lib/tls/libc.so.6
> #7 0x08048bee in main (argc=1, argv=0xbfffedf4)
> at ../../../gcc/libjava/gij.cc:163
>
>
> For instance, the above came from simply invoking "gij".
>
> If I revert the gcc/gcc directory to October 31, everything starts
> working again.
>
> Jeff Sturm reports that setting LD_ASSUME_KERNEL=2.4.17 will also fix
> the problem.
>
> Can anybody shed some light on this?
What is your kernel version?
A clue:
$ LD_ASSUME_KERNEL=2.4.17 ldd ./a.out
libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1 (0x40017000)
libgcj.so.4 => /usr/local/lib/libgcj.so.4 (0x40020000)
libm.so.6 => /lib/i686/libm.so.6 (0x40907000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0x4092a000)
libdl.so.2 => /lib/libdl.so.2 (0x4097a000)
libc.so.6 => /lib/i686/libc.so.6 (0x4097e000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
$ ldd ./a.out
libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1 (0x40017000)
libgcj.so.4 => /usr/local/lib/libgcj.so.4 (0x40020000)
libm.so.6 => /lib/tls/libm.so.6 (0x40907000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x4092a000)
libdl.so.2 => /lib/libdl.so.2 (0x40938000)
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
So, LD_ASSUME_KERNEL changes which libraries are used.
Andrew.