[9] RFR (XXS): 8046226: assert(_thread == Thread::current()) failed: thread must be current w/ -XX:+TraceDeoptimization -XX:+Verbose

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Tue Jun 10 22:09:20 UTC 2014


On 6/10/14 2:06 PM, Coleen Phillimore wrote:
>
> On 6/10/14, 4:34 PM, Vladimir Ivanov wrote:
>> I thought about a test, but it wasn't a trivial one - I need to 
>> attach a debugger/jvmti agent, set a breakpoint and then query local 
>> variables to trigger the assert. Overkill for such a trivial fix.
>>
>> Do we have jdi/jvmti tests in {hotspot,jdk}/test?
>
> We have some tests in jdk/test/java/lang/instrument, but that's ok. I 
> thought you could trigger the bug with -XX:+TraceDeoptimization -Xcomp 
> -version or something like that, but if it's more complicated, I don't 
> think we have the framework to do it.

We also have:
   jdk/test/com/sun/jdi  - not sure how useful these tests are for your 
purposes
   also few tests here: hotspot/test/serviceability/jvmti

Thanks,
Serguei
>
> Thanks,
> Coleen
>
>>
>> Best regards,
>> Vladimir Ivanov
>>
>> On 6/10/14 11:01 PM, Coleen Phillimore wrote:
>>>
>>> This change looks good but can you add a test?  There are some other
>>> tests written in Java code that test command line flags.   I think a
>>> test is better than a comment.  If you've already checked it in, never
>>> mind.
>>>
>>> Thanks,
>>> Coleen
>>>
>>> On 6/9/14, 12:20 PM, Vladimir Ivanov wrote:
>>>> Dan, Chris, Fred, thanks for review.
>>>>
>>>> Best regards,
>>>> Vladimir Ivanov
>>>>
>>>> On 6/9/14 8:12 PM, Christian Thalinger wrote:
>>>>> Looks good.
>>>>>
>>>>> On Jun 6, 2014, at 3:21 PM, Vladimir Ivanov
>>>>> <vladimir.x.ivanov at oracle.com> wrote:
>>>>>
>>>>>> Dan, Chris, Fred, thank you!
>>>>>>
>>>>>>>> src/share/vm/runtime/vframe.cpp
>>>>>>>>     I think it's worth a short comment to keep someone from
>>>>>>>>     "optimizing" this in the future:
>>>>>>>
>>>>>>> Good point.  Might be worth to pass in Thread::current() to make it
>>>>>>> explicit plus the comment.
>>>>>> Yes, I agree. Updated webrev:
>>>>>> http://cr.openjdk.java.net/~vlivanov/8046226/webrev.01/
>>>>>>
>>>>>> Best regards,
>>>>>> Vladimir Ivanov
>>>>>>
>>>>>>>>
>>>>>>>>                   // need the current JavaThread and not thread():
>>>>>>>>     line 272:     methodHandle m_h(method());
>>>>>>>>
>>>>>>>>     And if you could add the same comment above:
>>>>>>>>
>>>>>>>>                     // need the current JavaThread and not 
>>>>>>>> thread():
>>>>>>>>     line 333:       methodHandle m_h(method());
>>>>>>>>
>>>>>>>> Dan
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Method handle should be associated with current thread and not
>>>>>>>>> with a thread which owns vframe.
>>>>>>>>>
>>>>>>>>> Testing: manual (attached Java debugger to debug JVM w/
>>>>>>>>> -XX:+TraceDeoptimization -XX:+Verbose and inspected local
>>>>>>>>> variables).
>>>>>>>>>
>>>>>>>>> Thanks!
>>>>>>>>>
>>>>>>>>> Best regards,
>>>>>>>>> Vladimir Ivanov
>>>>>>>>
>>>>>>>
>>>>>
>>>
>



More information about the hotspot-runtime-dev mailing list