[2636] in SIPB bug reports
just how big is xrn
daemon@ATHENA.MIT.EDU (Jonathan I. Kamens)
Fri Mar 20 11:50:36 1992
Date: Fri, 20 Mar 92 11:49:41 -0500
From: "Jonathan I. Kamens" <jik@pit-manager.MIT.EDU>
To: marc@MIT.EDU
Cc: bug-sipb@Athena.MIT.EDU
In-Reply-To: Marc Horowitz's message of Thu, 19 Mar 92 19:04:42 EST <9203200004.AA20471@bill-the-cat.MIT.EDU>
The most likely cause of the error you are observing is that the first
newsgroup with unread articles in the user's .newsrc file either (a)
has a huge number of articles in it, or (b) has a really old posting
(e.g. an FAQ posting) that has not expired yet, followed by a very
large gap in the article numbering, followed by a number of other
articles, or (c) does not have correct the correct minimum article
number in the active file on picayune (doubtful, since we update them
regularly).
Xrn is stupid about memory allocation -- it allocates an array of
structures whose size is sizeof(struct foo) * (maximum article number
- minimum article number). It does this even if many of the articles
in that range are not actually available. As I said, it's stupid.
Unfortunately, the code is also very gross, and "abstraction barriers"
is a term that the author was apparently not familiar with, so
modifying it to DTRT is not trivial. I certainly don't have the time
to play with it.
What to do? (1) Have the user run "unlimit" before running xrn. (2)
Have the user use a machine with lots of disk space. (3) Run xrn
under dbx (I think it's compiled -g), put a breakpoint in XtError,
find out which newsgroup is causing xrn to run out of memory, find out
what the min and max article numbers in the group are, and mark at
least some of them read in the user's .newsrc. (4) Fix xrn.
jik