[tin-dev] "tin: memory exhausted trying to allocate 4026531841 bytes in file ./newsrc.c line 1471"

Urs Janßen urs at tin.org
Mon Feb 29 10:34:55 CET 2016


On Sun, Feb 28, 2016 at 04:16:32PM -0800, Ant Dude wrote:
> > > tin: memory exhausted trying to allocate 4026531841 bytes in file
> > > ./newsrc.c line 1471
> > looks like there is at least one group in the active fil which has a LOT
> > of articles in it (i.e. alt.binaries.boneless). remove that group from
> > your newsrc and use the -n cmd.line option and/or use the -G cmd.line
> > flag (in case of such huge groups: don't use negative args for -G).
> 
> Rats. I have to go through my ~/.newsrc. :( There's no way to tell Tin 
> to ignore all big newsgroups' numbers?

no, currnetly there is no way to tell tin to ignore big newsgroups
(where starts big?).

> > > I got the same results with a brand new compiled v2.3.2 binary from its 
> > > ftp://ftp.tin.org/pub/news/clients/tin/unstable/tin-2.3.2.tar.gz source 
> > > as well. Is there a way around this? :(
> > 
> > yes, strip those useless (at least for traditional text newsreaders) groups
> > from your newsrc and use -n
> 
> "tin -r -n" worked as it slowly (took a lot longer than usual) loaded up 

with -n you very like also want
strip_newsrc=ON in tinrc or do something like
mv ~/.newsrc ~/.newsrc.bak && awk '/:/{print}' < ~/.newsrc.bak > ~/.newsrc
to remove all not subscribed groups from your newsrc.
-n is just a win if the newsrc is "small" (~ <= 100 groups)

> my old tin v2.1.1. Also, only removing alt.binaries.boneless didn't fix 
> my issue.

there might be other huge groups in the active (but that's by far the
biggest known group).

If tin is compiled with debug support -D 1 and/or -D 5 and
inspecting ${TMPDIR:-"/tmp"}/NNTP and ${TMPDIR:-"/tmp"}/BITMAP afterwards
(be aware that the NNTP-file may hold your password in plaintext, setting
$TMPDIR to sa "safe" location is highly recommended) could be useful to find
such groups (in BITMAP look for huge min=/max= differences in Active (and
Newsrc) lines or in NNTP look for huge high/low watermark differences
in the active lines (groupname highmark lowmark flag). 

Or fetch a copy of the servers active file "manually" and inspect that.

script foo
nc news.server.example 119 << EOF
mode reader
authinfo user username
authinfo pass password
list
quit
EOF
exit
awk '{print $2-$3" "$1}' < foo | sort -nr | head

urs
-- 
"Only whimps use tape backup: _real_ men just upload their important stuff
 on ftp, and let the rest of the world mirror it ;)" - Linus



More information about the tin-dev mailing list