gij crashes in GC I am not sure which component to report this bug against. I did some investigations and I got to the boehm-gc. I checked the latest CVS gcc4_0-branch and tried to "make check" in boehm-gc directory. The test crashed too.
# gij --version gij (GNU libgcj) version 3.4.3 20050221 (Red Hat 3.4.3-20) Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # gdb /usr/bin/gij GNU gdb Red Hat Linux (6.3.0.0-1.6rh) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "alpha-redhat-linux-gnu"... (no debugging symbols found) Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) r org.eclipse.jdt.internal.compiler.batch.Main -bootclasspath /usr/share/java/libgcj-3.4.3.jar Test.java Starting program: /usr/bin/gij org.eclipse.jdt.internal.compiler.batch.Main -bootclasspath /usr/share/java/libgcj-3.4.3.jar Test.java (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 2199023381872 (LWP 8734)] (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 2199023381872 (LWP 8734)] 0x0000020000b8f0a8 in GC_push_all_eager () from /usr/lib/libgcj.so.5 (gdb) bt #0 0x0000020000b8f0a8 in GC_push_all_eager () from /usr/lib/libgcj.so.5 #1 0x0000020000b8f148 in GC_push_all_stack () from /usr/lib/libgcj.so.5 #2 0x0000020000b99960 in GC_push_all_stacks () from /usr/lib/libgcj.so.5 #3 0x0000020000b933d8 in GC_default_push_other_roots () from /usr/lib/libgcj.so.5 #4 0x0000020000b90cbc in GC_push_roots () from /usr/lib/libgcj.so.5 #5 0x0000020000b8fcec in GC_mark_some () from /usr/lib/libgcj.so.5 #6 0x0000020000b84a88 in GC_stopped_mark () from /usr/lib/libgcj.so.5 #7 0x0000020000b85704 in GC_try_to_collect_inner () from /usr/lib/libgcj.so.5 #8 0x0000020000b91f68 in GC_init_inner () from /usr/lib/libgcj.so.5 #9 0x0000020000b92260 in GC_init () from /usr/lib/libgcj.so.5 #10 0x0000020000b8a58c in GC_init_gcj_malloc () from /usr/lib/libgcj.so.5 #11 0x0000020000b81a08 in _Jv_InitGC () from /usr/lib/libgcj.so.5 #12 0x00000200007dfd10 in _Jv_CreateJavaVM () from /usr/lib/libgcj.so.5 #13 0x00000200007e01a4 in _Jv_RunMain () from /usr/lib/libgcj.so.5 #14 0x0000000120000e54 in ?? () #15 0x0000020001139284 in __libc_start_main () from /lib/tls/libc.so.6.1 #16 0x0000000120000b78 in ?? () Previous frame inner to this frame (corrupt stack?) (gdb) Test in boehm-gc. [EMAIL PROTECTED] gc]# make check Making check in include make[1]: Entering directory `/opt/gcc/build/gc/include' make[1]: Nothing to be done for `check'. make[1]: Leaving directory `/opt/gcc/build/gc/include' make[1]: Entering directory `/opt/gcc/build/gc' gcc -DHAVE_CONFIG_H -I. -I../../boehm-gc -I./include -I./include -I/opt/gcc/boehm-gc/include -fexceptions -Iinclude -I././targ-include -I.//libc/include -g -O0 -c -o tests/test.o ../../boehm-gc/tests/test.c /bin/sh ./libtool --mode=link gcc -fexceptions -Iinclude -I././targ-include -I.//libc/include -g -O0 -o gctest -shared-libgcc tests/test.o ./libgcjgc.la -lpthread -ldl gcc -fexceptions -Iinclude -I././targ-include -I.//libc/include -g -O0 -o .libs/gctest -shared-libgcc tests/test.o ./.libs/libgcjgc.so -lpthread -ldl -Wl,--rpath -Wl,/usr/local/lib creating gctest make "AR_FLAGS=" "CC_FOR_BUILD=" "CFLAGS=-g -O0" "CXXFLAGS=-g -O0" "CFLAGS_FOR_BUILD=" "CFLAGS_FOR_TARGET=" "INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644" "INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c" "LDFLAGS=" "LIBCFLAGS=" "LIBCFLAGS_FOR_TARGET=" "MAKE=make" "MAKEINFO=/bin/sh /opt/gcc/missing --run makeinfo " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=" "RUNTEST=" "RUNTESTFLAGS=" "exec_prefix=/usr/local" "infodir=/usr/local/info" "libdir=/usr/local/lib" "prefix=/usr/local" "tooldir=""AR=ar" "AS=as" "CC=gcc" "CXX=g++" "LD=ld" "LIBCFLAGS=" "NM=" "PICFLAG=" "RANLIB=ranlib" "DESTDIR=" check-TESTS make[2]: Entering directory `/opt/gcc/build/gc' Segfault at 0x11fc04248 Unexpected bus error or segmentation fault /bin/sh: line 1: 18963 Aborted LD_LIBRARY_PATH=../../gcc ${dir}$tst FAIL: gctest =================== 1 of 1 tests failed =================== make[2]: *** [check-TESTS] Error 1 make[2]: Leaving directory `/opt/gcc/build/gc' make[1]: *** [check-am] Error 2 make[1]: Leaving directory `/opt/gcc/build/gc' make: *** [check-recursive] Error 1 [EMAIL PROTECTED] gc]# LD_LIBRARY_PATH=.libs/ gdb .libs/gctest GNU gdb Red Hat Linux (6.3.0.0-1.6rh) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "alpha-redhat-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) r Starting program: /opt/gcc/build/gc/.libs/gctest [Thread debugging using libthread_db enabled] [New Thread 2199023380176 (LWP 18989)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 2199023380176 (LWP 18989)] 0x0000020000049be0 in GC_mark_from (mark_stack_top=0x20000276090, mark_stack=0x20000276000, mark_stack_limit=0x20000296000) at ../../boehm-gc/mark.c:759 759 deferred = *limit; (gdb) bt #0 0x0000020000049be0 in GC_mark_from (mark_stack_top=0x20000276090, mark_stack=0x20000276000, mark_stack_limit=0x20000296000) at ../../boehm-gc/mark.c:759 #1 0x0000020000049188 in GC_mark_some (cold_gc_frame=0x11fa596c8 "") at ../../boehm-gc/mark.c:361 #2 0x000002000003e39c in GC_stopped_mark ( stop_func=0x2000003d4cc <GC_never_stop_func>) at ../../boehm-gc/alloc.c:518 #3 0x000002000003dd8c in GC_try_to_collect_inner ( stop_func=0x2000003d4cc <GC_never_stop_func>) at ../../boehm-gc/alloc.c:365 #4 0x000002000004e418 in GC_init_inner () at ../../boehm-gc/misc.c:783 #5 0x000002000004e4c8 in GC_enable_incremental () at ../../boehm-gc/misc.c:822 #6 0x00000001200051a8 in main () at ../../boehm-gc/tests/test.c:1805 (gdb) -- Summary: Crash in libgcj.so on linux alpha Product: gcc Version: 3.4.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tsv at solvo dot ru CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu dot org GCC build triplet: alpha-redhat-linux GCC host triplet: alpha-redhat-linux GCC target triplet: alpha-redhat-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20775