RFR(S) 8016465 The hs_err file gets wrong name

frederic parain frederic.parain at oracle.com
Thu Jul 4 07:30:54 PDT 2013


Greetings,

Please review this small fix:

The bug description:
http://bugs.sun.com/view_bug.do?bug_id=8016465
https://jbs.oracle.com/bugs/browse/JDK-8016465

The webrev:
http://cr.openjdk.java.net/~fparain/8016465/webrev.00/

The issue is due to a static variable ('buffer') that
can be used concurrently by several threads. The 'buffer'
variable is used in different places of the report_and_die()
method, but there's only one block where the concurrency
issue could occur. I've replaced usage of the static
variable with a local stack allocated variable to avoid
the concurrency issue. The new stack allocated char array
is small, so it should not cause stack overflow issues.
If a stack overflow occurs anyway, this will only impact
the current thread, which is trying to print a message
like "[thread xxx has also an error]" and won't impact
the thread currently generating the hs_error file (which
is the most important). The original static variable 'buffer'
is now only used by the first thread that reported an issue,
i.e. the thread generating the hs_error file.

Thanks,

Fred

-- 
Frederic Parain - Oracle
Grenoble Engineering Center - France
Phone: +33 4 76 18 81 17
Email: Frederic.Parain at oracle.com


More information about the hotspot-runtime-dev mailing list