Again: innd got SIGBUS (fwd)

Russ Allbery rra at stanford.edu
Wed Dec 20 01:40:57 UTC 2000


Reddy Crashalott <autoretributionmeowbot at free-N0rp.netscum.dk> writes:

> Hmmm.  I don't know anything about mmap, except that msync() seems to be
> needed in the newer innd for OSen that match the definition of
> MMAP_NEEDS_MSYNC or whatever it is, which presently only applies to the
> active file, but seems to also be required for the history and spool as
> well, at least from my observations.

It's used by at least a few of the storage methods, last time I checked.
IIRC, the history file does something different that doesn't require it.

MMAP_NEEDS_MSYNC is a sign that your system doesn't have a unified buffer
cache.

> And I don't know anything about msync, but isn't `reload active' the
> wrong place to be calling it?  Wouldn't it make more sense to call it
> for `pause' or `throttle' or both?  Doesn\t msync() sort of defeat the
> editing being done, or don't I know what I'm talking about?  Wouldn't
> one want to msync/munmap during pause/throttle, and then mmap() again at
> time of reload?

That would make logical sense, but I haven't peered at the code to see
what it's actually doing.  Note that msync is a weird duck, though.  It
doesn't just flush memory changes to disk; on some operating systems, it
actually pulls changes from disk into memory.  It's odd.

> I believe that INN does do The Right Thing with the history file for a
> pause/throttle, which sometimes can be a good thing -- one thing I've
> wanted to do is to have a `pause' that doesn't close the history file,
> for the sake of rotating logs (the syslog-written inodes that can't be
> closed the traditional way) -- a `pauselogs' commands similar to the
> `flushlogs' that renames the innd-written news logfile and opens a new
> inode and takes no time at all.

This has been on my to-do list.  Actually, I don't like the fact that innd
even does the renaming itself.  I'd really prefer that it do what nearly
every other daemon does and just reopen its log files in place, so you can
move them aside and then tell innd to reopen them and have it create new
ones.

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



More information about the inn-workers mailing list