new overview method performance

James Ralston qralston+ml.inn-workers at andrew.cmu.edu
Mon Aug 2 14:27:30 UTC 1999


SIGBUS is the "catch-all" signal Solaris uses to tell a process that
the mapped segment it tried to manipulate does not correspond with
physical reality.  (Starting with Solaris 2.6, the man pages claim
that Solaris may also use SIGSEGV for this purpose.)

For example, you'll receive a SIGBUS if you specified both MAP_PRIVATE
and MAP_NORESERVE and the system runs out of swap space.  You'll also
receive SIGBUS if you have UFS quotas turned on and your manipulations
would have caused you to exceed your quota.

But by far, the most common reason for receiving SIGBUS is attempting
to reference an address that would be beyond the end of the physical
file that has been mapped.  Based on your description, this is
probably what makehistory is inadvertently doing...

James

On Sat, 31 Jul 1999, Katsuhiro Kondou wrote:
> The new code almost works good but one problem.  Makehistory dumps
> core (bus error not segmentation fault) and I can't find how it
> comes.  It simply memset() within mmapped area in the buff.



More information about the inn-workers mailing list