RFR(XS): 8158033: notify_tracing() misplaced for intended purpose
David Holmes
david.holmes at oracle.com
Fri May 27 11:51:46 UTC 2016
Hi Markus,
On 27/05/2016 7:33 PM, Markus Gronlund wrote:
> Greetings,
>
> Please review this small fix:
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8158033
>
> Webrev: http://cr.openjdk.java.net/~mgronlun/8158033/webrev/
>
> Description:
>
> The intent when putting in the notify_tracing() hook into debug.cpp
> (report_java_out_of_memory()) was to intercept a state believed to be a
> VM termination state, especially when OOME is thrown. Since it is
> totally valid that Java code catches OOME, and this location actually
> goes back to Java, this is the wrong location for this hook.
>
> In addition, the hook should not be typed for OOME only, but generic for
> any exit condition (normal / OOME / crash).
> This should instead have been put into java.cpp (before_exit()) and in
> VMError.cpp (report_vm_die()).
In src/share/vm/runtime/java.cpp why did you move the existing event
code? What determined that TRACE_VM_EXIT should happen at that
particular point?
I also wonder what TRACE_VM_ERROR might do because in the vmError code
it is called in a signal-handling context and so is very limited in what
it can legitimately do without potentially messing up the error reporting.
Thanks,
David
>
>
> Thanks
>
> Markus
>
More information about the serviceability-dev
mailing list