Hi Thomas,

On 1/06/2017 7:20 PM, Thomas Stüfe wrote:
Hi all,

so, we have the hotspot asserts with all the niceties of our error
reporting. But these asserts are only accessible from within hotspot coding.

In the JDK, in a number of places, I see that we use the standard posix
assert()(
http://pubs.opengroup.org/onlinepubs/009695399/functions/assert.html).

This means that when we trigger the assert, we will only get a brief
message on stderr and a core, but no hs_err file.

It also means that -XX:+CreateCoredumpOnCrash is ignored, so it is not
possible to switch off those core dumps.

This is unfortunate and also easy to fix. We do not even have to call into
the hotspot to get hotspot asserts. We could just force a NULL pointer
access or send ourselves a SIGILL or something. Anything which triggers the
hotspot signal handling would be fine.

What do you think?

Sending ourselves a fatal signal doesn't indicate what assertion failed. The error handler won't know it was an assert, just a SEGV or SIGILL

??

David

Kind Regards, Thomas

Reply via email to