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

Bug#365527: libc6: Segmentation fault in iofflush.c



Package: libc6
Version: 2.3.2.ds1-22
Severity: normal

I am writing a small perl programm (see attached). If I run this
programm under Sarge/amd64, it segfaults. To reproduce:

helge@remaxp:~/prog/db/rechnung$ export LD_PRELOAD=/usr/lib/debug/libc-2.3.2.so
helge@remaxp:~/prog/db/rechnung$ env LANG=C ./rechnung.pl
n, Geschäft: HP
Geschäftsname:: (HP)
Währung:: (Euro)
Währung:: (Euro) Dollar
:
n, Produkttyp (Foodrechnung.pl[26712]: segfault at 0000000000000008 rip 00002aaaaac294a3 rsp 00007fffffffdac0 error 4
Speicherzugriffsfehler (core dumped)

i.e., press HP <enter> <enter> Dollar <enter>

If I run the very same program with current sid (but in an ia32 changeroot,
not amd64) the programm does not segfault. Looking at the corefile
with gdb, I see:

GNU gdb 6.3-debian
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 "x86_64-linux"...(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".


warning: core file may not match specified executable file.
Core was generated by `/usr/bin/perl ./rechnung.pl'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/debug/libc-2.3.2.so...done.
Loaded symbols for /usr/lib/debug/libc-2.3.2.so
Reading symbols from /usr/lib/libperl.so.5.8...done.
Loaded symbols for /usr/lib/libperl.so.5.8
Reading symbols from /lib/libdl.so.2...Reading symbols from /usr/lib/debug/lib/libdl-2.3.2.so...done.
done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libm.so.6...Reading symbols from /usr/lib/debug/lib/libm-2.3.2.so...done.
done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libpthread.so.0...Reading symbols from /usr/lib/debug/lib/libpthread-0.60.so...done.
done.
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libcrypt.so.1...Reading symbols from /usr/lib/debug/lib/libcrypt-2.3.2.so...done.
done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/ld-linux-x86-64.so.2...Reading symbols from /usr/lib/debug/lib/ld-2.3.2.so...done.
done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /usr/lib/perl5/auto/Term/ReadLine/Gnu/Gnu.so...done.
Loaded symbols for /usr/lib/perl5/auto/Term/ReadLine/Gnu/Gnu.so
Reading symbols from /lib/libreadline.so.4...done.
Loaded symbols for /lib/libreadline.so.4
Reading symbols from /lib/libncurses.so.5...done.
Loaded symbols for /lib/libncurses.so.5
#0  0x00002aaaaac294a3 in _IO_fflush (fp=0x719f40) at iofflush.c:42
42      iofflush.c: No such file or directory.
        in iofflush.c
(gdb) bt full
#0  0x00002aaaaac294a3 in _IO_fflush (fp=0x719f40) at iofflush.c:42
        result = 5388352
#1  0x00002aaaaaefbe1d in PerlIOStdio_flush () from /usr/lib/libperl.so.5.8
No symbol table info available.
#2  0x00002aaaaaefa15a in Perl_PerlIO_flush () from /usr/lib/libperl.so.5.8
No symbol table info available.
#3  0x00002aaaaaefa1cb in Perl_PerlIO_flush () from /usr/lib/libperl.so.5.8
No symbol table info available.
#4  0x00002aaaaaedb13b in Perl_pp_system () from /usr/lib/libperl.so.5.8
No symbol table info available.
#5  0x00002aaaaae9a98e in Perl_runops_standard () from /usr/lib/libperl.so.5.8
No symbol table info available.
#6  0x00002aaaaae48096 in perl_run () from /usr/lib/libperl.so.5.8
No symbol table info available.
#7  0x00002aaaaae47e92 in perl_run () from /usr/lib/libperl.so.5.8
No symbol table info available.
#8  0x00000000004019bf in main ()
No symbol table info available.
(gdb) quit

I tried replacing "/usr/bin/perl" by "/usr/bin/debugperl" and then the
segfault is gone.

I guess it's time to move this machine to testing?

If you want, I can try this on current testing/ppc (but also 32bit).

Btw. other input sequences crash the programm as well ...

Please reassign to perl oder readline or ??? if glibc is the wrong
package to report this against.

-- System Information:
Debian Release: 3.1
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.11.deb-7-grsec
Locale: LANG=de_DE@euro, LC_CTYPE=de_DE@euro (charmap=ISO-8859-15)

Versions of packages libc6 depends on:
ii  libdb1-compat                 2.1.3-7    The Berkeley database routines [gl

-- no debconf information
-- 
      Dr. Helge Kreutzmann                      helge@helgefjell.de
            Dipl.-Phys.                       http://www.helgefjell.de
        64bit GNU powered                     gpg signed mail preferred
           Help keep free software "libre": http://www.ffii.de/

Attachment: rechnung.pl.bz2
Description: Binary data

Attachment: signature.asc
Description: Digital signature


Reply to: