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

gcc-2.96/gcc-3.0 optimization bug?



>Submitter-Id:	net
>Originator:	Randolph Chung <tausq@debian.org>
>Organization:	Debian GNU/Linux
>Confidential:	no
>Synopsis:	Program compiled with gcc-2.96/gcc-3.0 with -O1 or -O2 segfaults at runtime
>Severity:	serious
>Priority:	medium
>Category:	optimization
>Class:		sw-bug
>Release:	3.0
>Environment:
System: Linux itanium 2.4.5-ia64 #1 Tue Jul 10 17:44:30 MDT 2001 ia64 unknown
Architecture: ia64

	
host: ia64-hp-linux-gnu
build: ia64-hp-linux-gnu
target: ia64-hp-linux-gnu
configured with: ../gcc-3.0/configure --host=ia64-hp-linux --enable-threads=posix --prefix=/opt/gcc3
>Description:
	ruby-1.6.4 or guile-1.4, when compiled with gcc-2.96 (RH Wolverine or RH 7.1 version) or gcc-3.0 will cause a segmentation fault at run time if compiled with -O1 or -O2. Recompiling the applications with -g or -O0 produces binaries that appear to work correctly.
>How-To-Repeat:
	See description. guile source tree that was used is available from http://people.debian.org/~tausq/guile.tgz. Ruby source tree is at http://people.debian.org/~tausq/ruby.tgz

	For ruby:

	running ruby with the sample/test.rb script causes a segmentation fault. Stack trace:

(gdb) bt
#0  0x20000000003ddc31 in _IO_link_in () from /lib/libc.so.6.1
#1  0x20000000003de0c0 in __overflow () from /lib/libc.so.6.1
#2  0x200000000053fef0 in __morecore () from /lib/libc.so.6.1
warning: Can't fetch instructions for slot numbers greater than 2.
Using slot 0 instead
#3  0x20000000003de0c0 in __overflow () from /lib/libc.so.6.1
#4  0x200000000016dd20 in load_file (fname=0x80000fffffffb9d7 "sample/test.rb", 
    script=1) at ruby.c:848
#5  0x200000000016d430 in proc_options (argc=0, argv=0x80000fffffffb7c8)
    at ruby.c:726
#6  0x200000000016e940 in ruby_process_options (argc=2, argv=0x80000fffffffb7b8)
    at ruby.c:1028
#7  0x20000000000ac510 in ruby_options (argc=2, argv=0x80000fffffffb7b8)
    at eval.c:1129
#8  0x4000000000000c10 in main (argc=2, argv=0x80000fffffffb7b8, 
    envp=0x6000000000000ee8) at main.c:49

	For guile:
	Running /usr/bin/guile causes a segmentation fault at startup. Stack trace:

(gdb) bt
#0  0x20000000000bc990 in fport_fill_input () from /usr/lib/libguile.so.9
#1  0x20000000000f0750 in scm_fill_input () from /usr/lib/libguile.so.9
#2  0x20000000000f08c0 in scm_getc () from /usr/lib/libguile.so.9
#3  0x20000000000fe8b0 in scm_flush_ws () from /usr/lib/libguile.so.9
#4  0x2000000000100e60 in scm_lreadparen () from /usr/lib/libguile.so.9
#5  0x20000000000ff5f0 in scm_lreadr () from /usr/lib/libguile.so.9
#6  0x2000000000100df0 in scm_lreadparen () from /usr/lib/libguile.so.9
#7  0x20000000000ff5f0 in scm_lreadr () from /usr/lib/libguile.so.9
#8  0x20000000000fe7f0 in scm_read () from /usr/lib/libguile.so.9
#9  0x20000000000d4900 in load () from /usr/lib/libguile.so.9
#10 0x2000000000093e70 in scm_internal_dynamic_wind ()
   from /usr/lib/libguile.so.9
#11 0x20000000000d4b70 in scm_primitive_load () from /usr/lib/libguile.so.9
#12 0x20000000000d5ce0 in scm_primitive_load_path ()
   from /usr/lib/libguile.so.9
#13 0x20000000000a6700 in scm_ceval () from /usr/lib/libguile.so.9
#14 0x20000000000a9670 in scm_eval_3 () from /usr/lib/libguile.so.9
#15 0x20000000000a9830 in scm_eval_x () from /usr/lib/libguile.so.9
#16 0x20000000000d48d0 in load () from /usr/lib/libguile.so.9
#17 0x2000000000093e70 in scm_internal_dynamic_wind ()
   from /usr/lib/libguile.so.9
#18 0x20000000000d4b70 in scm_primitive_load () from /usr/lib/libguile.so.9
#19 0x20000000000d5ce0 in scm_primitive_load_path ()
   from /usr/lib/libguile.so.9
#20 0x20000000000ce1f0 in scm_load_startup_files () from /usr/lib/libguile.so.9
#21 0x20000000000cf1b0 in invoke_main_func () from /usr/lib/libguile.so.9
#22 0x200000000011eda0 in scm_internal_lazy_catch ()
   from /usr/lib/libguile.so.9
#23 0x20000000000cf0f0 in scm_boot_guile () from /usr/lib/libguile.so.9
#24 0x00000000 in ?? ()



Reply to: