INN 2.4.0 dumps core on Solaris 9

Russ Allbery rra at stanford.edu
Wed Oct 22 18:06:17 UTC 2003


Forrest J Cavalier <mibsoft at epix.net> writes:

> Recent tradindexed problems I've had to work around, which may be
> related:

>    ARTNUM must be uint32_t, because sizeof(long) is not always 32.

>    sizeof(ino_t) is not the same everywhere.  FreeBSD thinks it is 32,
>    but Linux 64.

> If group.index was written by a different build of INN, where
> sizeof(ARTNUM) changed, I would expect to see exactly those tdx-util
> problems that Nathan Coraor reported with tdx-util.

tradindexed is not portable across different operating systems,
environments, or builds of INN with large file support changed.  It
doesn't even try to be.  As long as you run a completely consistent build,
problems like the above shouldn't show up.  If you don't, there are
potentially *tons* of problems, more than the current database format can
deal with (such as endianness issues).

I've thought some about trying to fix that, but it would require
invalidating all existing tradindexed databases and rebuilding them when
upgrading since the on-disk format would need to change.

> Russ, it may be worth considering adding a "size" member to the
> group.index header, for sanity checking on startup.

> We don't want to bloat all the entries, but if you added some "dummy"
> ARTNUM entries into the group header, you could use the size member to
> check compatibility of size and endian-ness of everything.

Hm, that's a thought... maybe I can figure out some hack that will let us
check things like that.  I'll peer at it for a while.

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>

    Please send questions to the list rather than mailing me directly.
     <http://www.eyrie.org/~eagle/faqs/questions.html> explains why.


More information about the inn-workers mailing list