|
Duplicate :
|
|
|
Relates :
|
|
|
Relates :
|
We got
nsk/jvmti/unit/ForceEarlyReturn/earlyretbase
test failure in SPB nightly.
I was also able to reproduce it in SCA.
The test fails under:
JDK: JDK6b88 (it also fails at least starting from JDK6b77, didn't check with other)
platform: linux-amd64
flags: -server -Xcomp
hosts: vm-v20z-2.sfbay (2 x AMD Opteron 2.2 GHz, SLES 9.0)
opteron003.sfbay (2 x AMD Opteron 1.4 GHz, RedHat Linux 4.0AS)
I wasn't able to reproduce it with '-Xmixed' and '-Xint' as well as with -client.
And I was not able to reproduce it on single CPU machine.
So, this makes me think that it could be 'compiler2' bug and not JVMTI, but I am not sure.
The bug looks like it is not related to EarlyReturn functionality, it seems related to
JVMTI functions SuspendThread and NotifyFramePop.
Here is the log:
[2006-06-16T23:16:20.19] earlyretThread (Thread[Tested Thread,5,main]): notifying main thread
[2006-06-16T23:16:23.66] earlyretThread (Thread[Tested Thread,5,main]): inside activeMethod()
[2006-06-16T23:16:23.66] Going to suspend the thread...
[2006-06-16T23:16:23.66] VM option '+UseUnsupportedDeprecatedJVMPI'
[2006-06-16T23:16:23.66] >>>>>>>> Invoke SuspendThread()
[2006-06-16T23:16:23.66] <<<<<<<< SuspendThread() is successfully done
[2006-06-16T23:16:23.66] Forcing early return...
[2006-06-16T23:16:23.66] (NotifyFramePop) unexpected error: JVMTI_ERROR_THREAD_NOT_SUSPENDED (13)
[2006-06-16T23:16:23.66] TEST: failed to force early return
[2006-06-16T23:16:23.66] >>>>>>>> Invoke ResumeThread()
[2006-06-16T23:16:23.66] <<<<<<<< ResumeThread() is successfully done
[2006-06-16T23:16:23.66] TEST FAILED: a tested frame wasn't returned
[2006-06-16T23:16:23.66] Expected result: 1995 - Java Birth Year
[2006-06-16T23:16:23.66] Returned result: 0
[2006-06-16T23:16:23.66] Wrong result returned
[2006-06-16T23:16:23.66] earlyretThread (Thread[Tested Thread,5,main]): exiting...
[2006-06-16T23:16:23.66] # Test level exit status: 97
As you can see NotifyFramePop throws JVMTI_ERROR_THREAD_NOT_SUSPENDED error but
at the same time (according to the log file) SuspendThread() was finished successfully.
The bug is not always reproduced. Steps to reproduce:
1. cp /home/ep155969/bugs/earlyretbase/ep155969.Linux.amd64/earlyretbase/earlyretbase.tlog YOUR_DIR
2. cp /home/ep155969/bugs/earlyretbase/ep155969.Linux.amd64/earlyretbase/reproduce_bug.sh YOUR_DIR
3. cd YOUR_DIR
4. bash reproduce_bug.sh earlyretbase.tlog
Also, a couple of new tests are affected by this bug:
nsk/jvmti/ForceEarlyReturn/ForceEarlyReturn001
nsk/jvmti/ForceEarlyReturn/ForceEarlyReturn002
|