NMT shutdown in VMError::report_and_die()

Zhengyu Gu zhengyu.gu at oracle.com
Thu Mar 13 15:47:15 UTC 2014


Hi Thomas,

Your suggestion does make sense and it is better. We are addressing 
several NMT issues, one of them is to eliminate this shutdown call, so 
NMT can report memory statistics as part of error reporting.

Thanks,

-Zhengyu


On 3/13/2014 10:45 AM, Thomas Stüfe wrote:
> Greetings,
>
> I am with the SAP JVM; right now I am trying to consolidate our error
> handling code a bit (bringing our coding closer to OpenJDK).
>
> I have a small question about shutting down NMT in
> VMError::report_and_die():
>
> VMError::report_and_die() is called recursivly in case of secondary
> crashes. NMT shutdown is done at the beginning of the function. If NMT
> shutdown itself crashes, we will have infinite recursion, resulting in a
> stack overflow and no hs-err file.
>
> Would it not be better to do MemTracker::shutdown() only for the first
> recursion level? By moving it down some lines into the "if (first_error ==
> NULL && Atomic::cmpxchg_ptr(this, &first_error, NULL) == NULL)" condition?
>
> Kind regards,
>
> Thomas



More information about the hotspot-dev mailing list