innd core dump on 2.5.0 (svn r7524)
Gea-Suan Lin
gslin at ccca.nctu.edu.tw
Tue Jul 25 18:19:16 UTC 2006
Hello,
After install inn 2.5.0 (r7524), innd will core dump about starting up
4 ~ 8 hours.
Envorinment:
FreeBSD 6.1-RELEASE, BerkeleyDB 4.2.2 (installed from ports)
Configure Command:
./configure --prefix=/home/news --with-perl --with-berkeleydb --with-zlib
Some settings:
http://netnews.nctu.edu.tw/~news/inn.conf
GDB with coredump:
netnews [/home/news] -news- gdb bin/innd ~/spool/articles/innd.core
GNU gdb 6.1.1 [FreeBSD]
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 "i386-marcel-freebsd"...
Core was generated by `innd'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/local/lib/libdb-4.2.so.2...done.
Loaded symbols for /usr/local/lib/libdb-4.2.so.2
Reading symbols from /lib/libz.so.3...done.
Loaded symbols for /lib/libz.so.3
Reading symbols from /usr/local/lib/perl5/5.8.8/mach/CORE/libperl.so...done.
Loaded symbols for /usr/local/lib/perl5/5.8.8/mach/CORE/libperl.so
Reading symbols from /lib/libm.so.4...done.
Loaded symbols for /lib/libm.so.4
Reading symbols from /lib/libcrypt.so.3...done.
Loaded symbols for /lib/libcrypt.so.3
Reading symbols from /lib/libutil.so.5...done.
Loaded symbols for /lib/libutil.so.5
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /usr/local/lib/perl5/site_perl/5.8.8/mach/auto/Digest/MD5/MD5.so...done.
Loaded symbols for /usr/local/lib/perl5/site_perl/5.8.8/mach/auto/Digest/MD5/MD5.so
Reading symbols from /usr/local/lib/perl5/5.8.8/mach/auto/Data/Dumper/Dumper.so...done.
Loaded symbols for /usr/local/lib/perl5/5.8.8/mach/auto/Data/Dumper/Dumper.so
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0 WIPfree (wp=0x9a3a3c0) at wip.c:84
84 if (wp->Chan->PrecommitWIP[i] == wp) {
(gdb) bt
#0 WIPfree (wp=0x9a3a3c0) at wip.c:84
#1 0x0806cda3 in WIPprecomfree (cp=0x81075d8) at wip.c:61
#2 0x0805a307 in CHANclose (cp=0x81075d8, name=0x8107ca0 "news-peer.nctu.edu.tw:83")
at chan.c:282
#3 0x080607a5 in NCreader (cp=0x81075d8) at nc.c:1140
#4 0x0805b04f in CHANreadloop () at chan.c:1021
#5 0x0805d418 in main (ac=3, av=0x159cc) at innd.c:663
(gdb) l
663 CHANreadloop();
664
665 /* CHANreadloop should never return. */
666 CleanupAndExit(1, "CHANreadloop returned");
667 return 1;
668 }
(gdb) up
#1 0x0806cda3 in WIPprecomfree (cp=0x81075d8) at wip.c:61
61 WIPfree(cur);
(gdb) l
56 return;
57
58 for (i = 0 ; i < PRECOMMITCACHESIZE ; i++) {
59 cur = cp->PrecommitWIP[i];
60 if (cur != (WIP *)NULL) {
61 WIPfree(cur);
62 }
63 }
64 }
65
(gdb) up
#2 0x0805a307 in CHANclose (cp=0x81075d8, name=0x8107ca0 "news-peer.nctu.edu.tw:83")
at chan.c:282
282 WIPprecomfree(cp);
(gdb) l
277 ** NNTP-specific stuff is moved out of the core channel struct.
278 */
279 static void
280 CHANclose_nntp(CHANNEL *cp, const char *name)
281 {
282 WIPprecomfree(cp);
283 NCclearwip(cp);
284 if (cp->State == CScancel)
285 notice("%s closed seconds %ld cancels %ld", name,
286 (long)(Now.tv_sec - cp->Started), cp->Received);
(gdb) up
#3 0x080607a5 in NCreader (cp=0x81075d8) at nc.c:1140
1140 CHANclose(cp, CHANname(cp));
(gdb) l
1135 return;
1136 }
1137 if (i == 0 || cp->BadReads++ >= innconf->badiocount) {
1138 if (NCcount > 0)
1139 NCcount--;
1140 CHANclose(cp, CHANname(cp));
1141 }
1142 return;
1143 }
1144
(gdb) up
#4 0x0805b04f in CHANreadloop () at chan.c:1021
1021 (*cp->Reader)(cp);
(gdb) l
1016 close(cp->fd);
1017 cp->fd = -1;
1018 return;
1019 }
1020 cp->LastActive = Now.tv_sec;
1021 (*cp->Reader)(cp);
1022
1023 /* Check and see if the buffer is grossly overallocated and shrink if
1024 needed. */
1025 if (cp->In.size <= BIG_BUFFER)
(gdb) up
#5 0x0805d418 in main (ac=3, av=0x159cc) at innd.c:663
663 CHANreadloop();
(gdb) l
658 syslog(LOG_NOTICE, "SERVER renumbering");
659 if (!ICDrenumberactive())
660 die("SERVER cant renumber");
661 }
662 syslog(LOG_NOTICE, "SERVER starting");
663 CHANreadloop();
664
665 /* CHANreadloop should never return. */
666 CleanupAndExit(1, "CHANreadloop returned");
667 return 1;
(gdb) up
Initial frame selected; you cannot go up.
(gdb) quit
--
* Gea-Suan Lin (public key: Using https://keyserver.pgp.com/ to search)
* If you cannot convince them, confuse them. -- Harry S Truman
More information about the inn-workers
mailing list