Ping: What do you think about this issue?
On 2016/01/06 15:36, David Holmes wrote: > Pinging the serviceability tracing experts please! > > David > > On 24/12/2015 12:25 AM, Yasumasa Suenaga wrote: >> Hi David, >> >>>> 1. Initialize JavaThread before calling apply_ergo() in create_vm(). >>> >>> That is not likely to be an option - it would likely be far too >>> disruptive to the initialization sequence. >> >> Agree. Thus I choose 2. >> >>> We will have to wait for the tracing experts to have a good look at >>> this. >> >> I'm waiting that the tracing experts join this discussion. >> >> >> Thanks, >> >> Yasumasa >> >> >> On 2015/12/23 13:20, David Holmes wrote: >>> Hi Yasumasa, >>> >>> On 23/12/2015 11:49 AM, Yasumasa Suenaga wrote: >>>> Hi David, >>>> >>>> I've added callstack when JVM crashed: >>>> >>>> https://bugs.openjdk.java.net/browse/JDK-8145788?focusedCommentId=13880225&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13880225 >>> >>> Thanks for that. >>> >>>> This crash occurrs in Arguments::apply_ergo() in Threads::create_vm(). >>>> apply_ergo() calls before JavaThread initialization. >>>> >>>> I think that TraceEvent can avoid crash with two approach: >>>> >>>> 1. Initialize JavaThread before calling apply_ergo() in create_vm(). >>> >>> That is not likely to be an option - it would likely be far too >>> disruptive to the initialization sequence. >>> >>>> 2. Avoid crash at TraceEvent when it is called before JavaThread >>>> initialization. >>> >>> Or don't call it at all. >>> >>> We will have to wait for the tracing experts to have a good look at >>> this. We end up in code that is not expecting to be run before more of >>> the VM is initialized, so we have to look at what else may be being >>> assumed and then decide whether to handle the situation or avoid it. >>> >>> Thanks, >>> David >>> >>>> >>>> Thanks, >>>> >>>> Yasumasa >>>> >>>> >>>> On 2015/12/22 21:19, David Holmes wrote: >>>>> On 19/12/2015 1:50 AM, Yasumasa Suenaga wrote: >>>>>> Hi all, >>>>>> >>>>>> I encountered JVM crash when I passed -XX:+EnableTracing. >>>>>> >>>>>> I checked core image, it crashed in >>>>>> EventBooleanFlagChanged::writeEvent() >>>>>> which is called by Arguments::apply_ergo() because thread had not >>>>>> been >>>>>> initialized. (JVM seems to log changing GC algorithm to G1.) >>>>> >>>>> This seems like a logic error to me - something is trying to happen too >>>>> early during VM initialization. We need to look at exactly what we are >>>>> trying to do here, not just work around the crash. >>>>> >>>>> David >>>>> ----- >>>>> >>>>>> writeEvent() uses ResourceMark. Default constructor of >>>>>> ResourceMark uses >>>>>> ResourceArea in current thread. So ResourceMark in writeEvent() >>>>>> should >>>>>> pass valid ResourceArea. >>>>>> >>>>>> I think this issue is in traceEventClasses.xsl . >>>>>> However, my environment (GCC 5.3.1 on Fedora23) cannot build it because >>>>>> -Werror=maybe-uninitialized was occurred. >>>>>> So I also fixed them together. >>>>>> >>>>>> I've uploaded webrev. Could you review it? >>>>>> http://cr.openjdk.java.net/~ysuenaga/JDK-8145788/webrev.00/ >>>>>> >>>>>> I'm jdk9 committer, however I cannot access JPRT. >>>>>> So I need a sponsor. >>>>>> >>>>>> >>>>>> Thanks, >>>>>> >>>>>> Yasumasa >>>>>>