Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Aug 1997 21:43:13 -0700
From:      David Greenman <dg@root.com>
To:        Julian Elischer <julian@FreeBSD.ORG>
Cc:        hackers@FreeBSD.ORG
Subject:   Re: 2.2.2+ crash.. more info 
Message-ID:  <199708130443.VAA07651@implode.root.com>
In-Reply-To: Your message of "Tue, 12 Aug 1997 18:10:50 PDT." <199708130110.SAA21060@freefall.freebsd.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
>it was put onto the sleep queue accidentally by interrupt code
>that just had it's proc address by accident?
>unlikely.

   Quite likely. It's fairly easy to have a bug where a resource is exhausted
(usually memory) in a subroutine called from an interrupt routine, resulting
in a tsleep() if the call to malloc isn't M_NOWAIT. If there happens to be
a process running at the time, then that process will be the one bogusly put
to sleep. This can obviously cause all sorts of problems, not the least of
which is the one you have above. If a process was not running, the system will
usually crash when it dereferences a NULL curproc pointer.
   The fact that the p_wmesg was "swread" is very indicative of this...

-DG

David Greenman
Core-team/Principal Architect, The FreeBSD Project



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708130443.VAA07651>