-
Notifications
You must be signed in to change notification settings - Fork 729
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cmdLineTester_jvmtitests_hcr_OSRG_nongold_1 Test-extended.functional-JDK10-linux_x86-64 rc004 gpf #2472
Comments
I've run this hundreds of times on the latest nightly from adopt (which is surprisingly old) with no failures. Not spending any more time. |
It only failed yesterday. The build from last night can be found https://ci.eclipse.org/openj9/job/Build-JDK10-linux_x86-64/231/, for a short time. |
Not useful to me - I want a binary (and really, a source drop which doesn't exist) to test against. |
Note this failure is on a non-compressedrefs build, in case you grabbed the wrong one from Adopt. There is a binary there. The direct link is https://ci.eclipse.org/openj9/job/Build-JDK10-linux_x86-64/231/artifact/OpenJ9-JDK10-linux_x86-64-201826070443.tar.gz The matching source is easily accessible from the -version shas. |
I see about a 1-3% failure rate on 393062 [Grinder] in our internal farm. [linux_x86-64] SE80_GIT cmdLineTester_jvmtitests_hcr_OSRG_nongold_SE80_0
|
Though it may be a different issue:
|
Please point @gacholio at a core file. |
Yes, core file with matching SDK would be very helpful. Even better if you could reproduce with a debug-built one. |
#13
|
I have an inkling of what's going on - we've somehow reached jitDecompileAtCurrentPC incorrectly. It states that the resolve frame is already built, which it clearly is not in these cores, making the stack unwalkable. |
Found the problem. The scenario on the java stack is: JIT recompilation resolve frame In every resolve case other than recompilation, there is guaranteed to be a compiled frame next on the stack. When the stack walk begins, resolveFrameFlags in the walk state is initialized to 0. While walking the resolve frame, resolveFrameFlags is set to the flags of the resolve frame. The issue arises because resolveFrameFlags is set back to 0 after walking the expected JIT frame immediately after. Because that frame isn't there in this case, the walk continues down to the lower JIT frame with resolveFrameFlags still set to the recompile frame flags. The fix will be to zero resolveFrameFlags either when the JIT walker returns back to the interpreter one, or when transitioning to the JIT walker for a reason other than a resolve frame. |
Note that the native and call-in frames are not necessary - any interpreted frame between the recompilation frame and the JIT frame would have the same issue. |
Clear resolveFrameFlags in the interpreter stack walker after reporting the frame. This is consistent with the JIT stack walker and avoids leaving invalid flags set on entry to the JIT walker in very rare cases. Also fix a small error in the resumeable stack walker, which has no effect on the only current consumer of the feature. Fixes: eclipse-openj9#2472 Signed-off-by: Graham Chapman <[email protected]>
https://ci.eclipse.org/openj9/job/Test-extended.functional-JDK10-linux_x86-64/26
The text was updated successfully, but these errors were encountered: