inn-2.3.0 segv's while proccessing incoming articles

Urazmetov Wasilx wasilx at forest.ihep.su
Sun Dec 10 00:48:24 UTC 2000



	Hello!

 I face problem with inn-2.3.0. It gets SIGSEGV while reading
 incoming articles from remote feed. I have also tried a dozen of
 ``stable'' snapshots till 20001208 with the same success.
 Please have a look at gdb session logs. I have had to attach to
 innd process, as the core generated appeared to be useless
 (probably) due to corrupted symbol table.
------------------------------------------------------------------
root at inn:~# gdb /usr/libexec/news/bin/innd
GNU gdb 4.18
Copyright 1998 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 "i386-redhat-linux"...
(gdb) attach 13674
Attaching to program: /usr/libexec/news/bin/innd, Pid 13674
Reading symbols from /usr/libexec/news/lib/libstorage.so.2...done.
Reading symbols from /usr/libexec/news/lib/libinn.so.2...done.
Reading symbols from /opt/BerkeleyDB/lib/libdb-3.1.so...done.
Reading symbols from /usr/lib/libtcl.so...done.
Reading symbols from /lib/libm.so.6...done.
Reading symbols from /lib/libnsl.so.1...done.
Reading symbols from /lib/libdl.so.2...done.
Reading symbols from /lib/libc.so.6...done.
Reading symbols from /lib/libpthread.so.0...done.
Reading symbols from /lib/libresolv.so.2...done.
Reading symbols from /lib/libcrypt.so.1...done.
Reading symbols from /lib/ld-linux.so.2...done.
Reading symbols from /lib/libnss_files.so.2...done.
Reading symbols from /usr/lib/python1.5/lib-dynload/stropmodule.so...done.
0x4020e54e in __select () from /lib/libc.so.6
(gdb) attach 14413
Attaching to program: /usr/libexec/news/bin/innd, Thread 14413
Symbols already loaded for /usr/libexec/news/lib/libstorage.so.2
Symbols already loaded for /usr/libexec/news/lib/libinn.so.2
Symbols already loaded for /opt/BerkeleyDB/lib/libdb-3.1.so
Symbols already loaded for /usr/lib/libtcl.so
Symbols already loaded for /lib/libm.so.6
Symbols already loaded for /lib/libnsl.so.1
Symbols already loaded for /lib/libdl.so.2
Symbols already loaded for /lib/libc.so.6
Symbols already loaded for /lib/libpthread.so.0
Symbols already loaded for /lib/libresolv.so.2
Symbols already loaded for /lib/libcrypt.so.1
Symbols already loaded for /lib/ld-linux.so.2
Symbols already loaded for /lib/libnss_files.so.2
Symbols already loaded for /usr/lib/python1.5/lib-dynload/stropmodule.so
0x4020e54e in __select () from /lib/libc.so.6
(gdb) where
#0  0x4020e54e in __select () from /lib/libc.so.6
#1  0x5 in ?? ()
#2  0x806ed86 in main ()
#3  0x4017b1eb in __libc_start_main (main=0x806df40 <main>, argc=2, 
    argv=0xbffffe64, init=0x805fec4 <_init>, fini=0x810c40c <_fini>, 
    rtld_fini=0x4000a610 <_dl_fini>, stack_end=0xbffffe5c)
    at ../sysdeps/generic/libc-start.c:90
(gdb) cont
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x401bb4ea in chunk_alloc (ar_ptr=0x40250020, nb=24) at malloc.c:2700
2700	malloc.c: No such file or directory.
(gdb) where
#0  0x401bb4ea in chunk_alloc (ar_ptr=0x40250020, nb=24) at malloc.c:2700
#1  0x401bb40a in __libc_malloc (bytes=13) at malloc.c:2643
#2  0x80a0455 in Perl_safemalloc ()
#3  0x80a6169 in save_hek ()
#4  0x80a79f5 in Perl_share_hek ()
#5  0x80a65f8 in Perl_hv_store ()
#6  0x8073bef in PLartfilter ()
#7  0x8064c9c in ARTpost ()
#8  0x806f3a6 in NCpostit ()
#9  0x80708d3 in NCproc ()
#10 0x80710fe in NCreader ()
#11 0x806b9ec in CHANreadloop ()
#12 0x806ed86 in main ()
#13 0x4017b1eb in __libc_start_main (main=0x806df40 <main>, argc=2, 
    argv=0xbffffe64, init=0x805fec4 <_init>, fini=0x810c40c <_fini>, 
    rtld_fini=0x4000a610 <_dl_fini>, stack_end=0xbffffe5c)
    at ../sysdeps/generic/libc-start.c:90
(gdb) 
------------------------------------------------------------------
 This looks like data/code corruption due to some buffer overrrun.

 And the following is another segv with inn linked against
 more recent libraries.
------------------------------------------------------------------
root at inn:~# (reverse-i-search)`gdb': gdb /usr/libexec/neGNU gdb 4.18
Copyright 1998 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 "i386-redhat-linux"...
(no debugging symbols found)...
(gdb) attach 325
Attaching to program: /usr/libexec/news/bin/innd, Pid 325
Reading symbols from /usr/libexec/news/lib/libstorage.so.2...
(no debugging symbols found)...done.
Reading symbols from /usr/libexec/news/lib/libinn.so.2...
(no debugging symbols found)...done.
Reading symbols from /opt/BerkeleyDB/lib/libdb-3.1.so...
(no debugging symbols found)...done.
Reading symbols from /usr/lib/libtcl.so...done.
Reading symbols from /lib/libm.so.6...done.
Reading symbols from /lib/libnsl.so.1...done.
Reading symbols from /lib/libdl.so.2...done.
Reading symbols from /lib/libc.so.6...done.
Reading symbols from /lib/libpthread.so.0...done.
Reading symbols from /lib/libresolv.so.2...done.
Reading symbols from /lib/libcrypt.so.1...done.
Reading symbols from /lib/ld-linux.so.2...done.
Reading symbols from /lib/libnss_files.so.2...done.
Reading symbols from /usr/lib/perl5/site_perl/5.6.0/i386-linux/auto/Digest/MD5/MD5.so...done.
Reading symbols from /usr/lib/python1.5/lib-dynload/stropmodule.so...done.
0x4025b2ae in __select () from /lib/libc.so.6
(gdb) cont
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x811310b in PyDict_SetItem ()
(gdb) where
#0  0x811310b in PyDict_SetItem ()
#1  0x80773d8 in PYartfilter ()
#2  0x8066d91 in ARTpost ()
#3  0x8071319 in NCwriteshutdown ()
#4  0x80728a7 in NCwriteshutdown ()PyDict_SetItem ()
#5  0x806d5a9 in CHANreadloop ()
#6  0x8070ce9 in main ()
#7  0x401a7720 in __libc_start_main (main=0x806fe10 <main>, argc=2, 
    ubp_av=0xbffffe64, init=0x8061ddc <_init>, fini=0x813f79c <_fini>, 
    rtld_fini=0x4000d31c <_dl_fini>, stack_end=0xbffffe5c)
    at ../sysdeps/generic/libc-start.c:111
(gdb) 
------------------------------------------------------------------

   The latter gdb session log belongs to inn-2.3.0 snapshot 20001208
 built against
   glibc-2.1.92
   gdbm-1.8.0
   db1-1.85
   BerkeleyDB-3.1.17
   perl-5.6.0
   tcl-8.3.1
   python-1.5.2
 by
   gcc-2.96
   binutils-2.10.0.18
 on
   redhat Linux kernel 2.2.17 (i686)
 with the `configure' options:
   --with-syslog-facility=LOG_NEWS
   --with-log-compress=gzip
   --with-berkeleydb
   --with-perl
   --with-python
   --with-tcl
   --with-gnu-ld
   --enable-libtool
   --enable-shared
   --enable-static
   --enable-tagged-hash
   --enable-merge-to-groups
   --enable-pgp-verify
   --without-largefiles
   --disable-setgid-inews
   --disable-uucp-rnews

 Please give me a hint, what I am doing wrong and
 how should I overcome the problem.

   Thank you.

      Wasilx.



More information about the inn-bugs mailing list