inn-STABLE-200211xx: Out of memory during ridiculously large request

Miroslaw Luc mirecki at nask.pl
Mon Nov 18 15:14:59 UTC 2002


INN compiled with gcc 2.95.2 on sparc-sun-solaris2.8; kernel 64-bit; perl
5.6.1 sun4-solaris-64int; configure args: --prefix=/news --with-perl \
--with-sendmail=/usr/lib/sendmail --with-news-umask=022 --with-largefiles \
 --enable-shared --enable-static --enable-libtool
Nnrpd configured "with-perl" doesn't accept any articles. No logs, no core
files, only an error "Out of memory...". Please see below. Any ideas?

-Mirek
<------------------------------------------------------------------------->
200 news.nask.pl InterNetNews NNRP server INN 2.3.4 (20021114 prerelease) ready (posting ok).
post
340 Ok, recommended ID <ar32tu$bl7$1 at pippin.warman.nask.pl>
Newsgroups: nask.test
Date: 15 Nov 2002 10:00:00 +0001
Subject: Tescik
From: aqq at co.pl
Message-ID: <7 at pippin>

bla
qwerty
.
Out of memory during ridiculously large request.
Connection closed by foreign host.
<------------------------------------------------------------------------->
0xff11990c in _poll () from /usr/lib/libc.so.1
(gdb) br post.c:1097
Breakpoint 1 at 0x24f4c: file post.c, line 1097.
(gdb) list post.c:1097
1092            syslog(L_TRACE, "%s post starting", ClientHost);
1093
1094        /* Write the headers and a blank line. */
1095        for (hp = Table; hp < ENDOF(Table); hp++)
1096            if (hp->Value) {
1097                q = NEW(char, hp->Body - hp->Value + hp->Len + 1);
1098                strncpy(q, hp->Value, hp->Body - hp->Value + hp->Len);
1099                *(q + (int)(hp->Body - hp->Value) + hp->Len) = '\0';
1100                if (strchr(q, '\n') != NULL) {
1101                    if ((p = Towire(q)) != NULL) {
(gdb) cont
Continuing.

Breakpoint 1, ARTpost (article=0x1f7085 "bla\nqwerty\n",
    idbuff=0xffbef9a0 "<ar32tu$bl7$1 at pippin.warman.nask.pl>") at post.c:1097
1097                q = NEW(char, hp->Body - hp->Value + hp->Len + 1);
(gdb) p hp->Body - hp->Value + hp->Len + 1
$1 = 609758
(gdb) cont
Continuing.
[...]
(gdb) p hp->Body - hp->Value + hp->Len + 1
$6 = -1799149
(gdb) s
xmalloc (size=4293168147, file=0x2a9c0 "post.c", line=1097) at xmalloc.c:38
38          p = malloc(size);
(gdb) s

Program exited normally.
(gdb)
<------------------------------------------------------------------------->



More information about the inn-workers mailing list