Project to improve hs_err files (original) (raw)
Volker Simonis volker.simonis at gmail.com
Wed Feb 12 10:03:51 PST 2014
- Previous message: Project to improve hs_err files
- Next message: RFR: 6545422 NativeErrors.java uses wrong path name in exec
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wed, Feb 12, 2014 at 6:30 PM, Nils Eliasson <nils.eliasson at oracle.com> wrote:
On 2014-02-12 15:28, Volker Simonis wrote:
On Wed, Feb 12, 2014 at 2:14 PM, Nils Eliasson <nils.eliasson at oracle.com> wrote:
On 2013-09-06 13:32, Mattis Castegren wrote: ...
* Additional Data ... Make sure we read the OS-context when hitting asserts in debug-builds. Today we only get registers, code and stack on actual crashes. Very valuable info that is missing when investigating many test failures. I'm afraid that will be not possible. For a crash (i.e. because of a SIGSEGV) the kernel saves the context for the PC which caused the problem. 'assert' and 'guarantee' are macros which evaluate an expression and call reportvmerror if that expression was 'false'. I think the best we could do is to call 'getcontext()' after the evaluation of the expression, but that's not actually the context where the evaluation of the expression failed. But I agree that it may be helpful as well. getContext() works at least for some platforms. An alternative is to a force crash and let the crash handler do the works as usual. It has been done and worked pretty well.
This is a good idea, but it may interfer with -XX:SuppressErrorAt. We currently only check if we should ignore an assertion in report_vm_error(). If we would crash before (i.e. right after the evaluation of the expression), -XX:SuppressErrorAt would be useless. On the other side, if w only crash in report_vm_error(), we would get the context in that functions which would not contain the desired register values in the frame which crashed either. So we'd probably have to think how this could be implemented in the best way.
And you should already get a complete stack trace for 'asserts' and 'guarantees' with the current implementation. Don't you see it? I get a stacktrace but no raw stack from the current frame. Regards, Nilx
Regards, Volker //Nils
- Previous message: Project to improve hs_err files
- Next message: RFR: 6545422 NativeErrors.java uses wrong path name in exec
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]