Review Request (S) 8028126: nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Solaris-sparc64 fastdebug builds: only current thread can flush its registers

serguei.spitsyn at serguei.spitsyn at
Wed Nov 27 01:31:54 PST 2013


Thank you for reviewing!

On 11/27/13 12:08 AM, Dmitry Samersoff wrote:
> Serguei,
> Is it better to just convert
> assert at ll. 273 into if (vf != NULL) ... ?

Your suggestion does not help as we hit another assert in the call to 
     javaVFrame* vf = _thread->last_java_vframe(&rm);

This is the original assert that was reported in the bug:

# Internal Error 
pid=29913, tid=5
# guarantee(Thread::current() == (Thread*)thread) failed: only current 
thread can flush its registers

The stack is:
Stack: [0xffffffff06e00000,0xffffffff06f00000], sp=0xffffffff06efea60, 
free space=1018k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, 
C=native code)
V [] void VMError::report_and_die()+0x714;; 
V [] void report_vm_error(const char*,int,const 
char*,const char*)+0x78;; __1cPreport_vm_error6Fpkci11_v_+0x78
V [] void 
*V [] 
V [] void VM_GetCurrentLocation::doit()+0xd0;; 
V [] void VM_Operation::evaluate()+0xf8;; 
V [] void 
V [] void VMThread::loop()+0x6a4;; 
V [] void VMThread::run()+0xe4;; 
V [] java_start+0x258;; java_start+0x258


> -Dmitry
> On 2013-11-27 05:34, serguei.spitsyn at wrote:
>> Please, review the fix for:
>> Open webrev:
>> Summary:
>>    This is a fix for a possible race condition between the
>> VMOp_GetCurrentLocation
>>    reaching a safepoint and target debuggee thread exiting from Java
>> execution.
>>    The fix is to recheck the existence of the last Java frame at a safepoint
>>    and clean the thread current location if the thread has been already
>> exited from Java.
>>    I'm suggesting to fix this in hs25/JDK 8.
>>    It is important to fix as it is a P2 bug and the risk of fixing it is
>> low.
>>    But need reviewers to share opinions on this.
>>    I'll add the 8-critical-request label if reviewers agree with the above.
>> Testing:
>>    The test nsk/jvmti/scenarios/hotswap/HS101/hs101t006 that was
>> originally failed.
>>    In progress: nsk.jvmti, nsk.jdi, nsk.jdwp
>> Thanks,
>> Serguei

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the serviceability-dev mailing list