NullPointerException / threads

Glenn Chambers GChambers@provsol.com
Tue Mar 14 06:20:00 GMT 2000


> In order to solve this problem, we could create a new
> NullPointerException in the context of the signal handler, but that
> may crash if the SEGV occurs in the memory allocator itself.  Also,
> fillInStackTrace calls JvNewByteArray to hold the stack trace, and if
> this fails we'll crash anyway, so maybe a SEGV handler shouldn't even
> be calling fillInStackTrace.
> 
> I suppose we could create a NullPointerException and a pre-allocated
> stacktrace for each thread when it starts, but that seems rather
> nasty.

Can you tell at SEGV-time if you're currently in the allocator?  If so,
you could preallocate an 'emergency' exception+array, and use it only
in that case.  The non-allocator case would create a new object normally.

This would fail if multiple threads SEGV in the memory 
allocator, but by that point you may be dead anyway...


More information about the Java mailing list