Bug#122114: gcc-3.0: Weird SegFault on exit()
Package: gcc-3.0
Version: 1:3.0.2-3
Severity: normal
Weird reproducible bug for gcc-3.0 on i386 (I have not checked other
architectures).
The program runs correctly, but when exiting, it segfaults. Doing a
backtrace reveals the segfault was out of the program, on system
libraries. This seems to be a libc bug, but it does not happen with
gcc 2.95.4.
I have placed a program that reproduces this bug on
http://garfield.asoc.euitt.upm.es/~jlg/debfiles.c
Removing function "position" the segfault does not happen, which
makes this bug even more obscure because "position" does not
touch the C library nor modifies external data (it's just a binary
search on an array of strings. The same program without "position"
(it is replaced with a macro function returning always -1 (not found):
http://garfield.asoc.euitt.upm.es/~jlg/debfiles2.c
Running the program without arguments is enough to get the bug.
The backtrace from debfiles.c:
(gdb) run
Starting program: /home/jl/debfiles
Program received signal SIGSEGV, Segmentation fault.
0x40117922 in __deregister_frame_info_bases () from /lib/libc.so.6
(gdb) where
#0 0x40117922 in __deregister_frame_info_bases () from /lib/libc.so.6
#1 0x40119b55 in __umoddi3 () from /lib/libc.so.6
#2 0x4000b4c6 in _dl_fini () from /lib/ld-linux.so.2
#3 0x4004afa3 in exit () from /lib/libc.so.6
#4 0x40038665 in __libc_start_main () from /lib/libc.so.6
-- System Information
Debian Release: testing/unstable
Kernel Version: Linux caballero 2.4.16 #2 mié nov 28 20:28:55 CET 2001 i586 unknown
Versions of the packages gcc-3.0 depends on:
ii binutils 2.11.92.0.10-4 The GNU assembler, linker and binary utiliti
ii cpp-3.0 3.0.2-3 The GNU C preprocessor.
ii gcc-3.0-base 3.0.2-3 The GNU Compiler Collection (base package).
ii libc6 2.2.4-5 GNU C Library: Shared libraries and Timezone
ii libgcc1 3.0.2-3 GCC support library.
Reply to: