-
Notifications
You must be signed in to change notification settings - Fork 738
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
Test-sanity.functional-JDK8-linux_390-64_cmprssptrs Floating point error at Compiled_method=sun/reflect/generics/parser/SignatureParser.current()C #4462
Comments
Note the blocker status indicates this issue is blocking OMR acceptance. |
Taking a look at [1] we can see the SHA difference between the first failing (build 1120) builds and the last passing builds (build 1119) is [2]. The diff shows only a single change in OMR, and taking a look at the corresponding PR eclipse-omr/omr#3509 we can clearly see this is an S390 only change which modified the behavior of OMR functions. Taking a look at the latest failure in [3] and the errors from the description we can see they are all
It looks like we failed on the trap instruction with signal 8 which is a fixed-point exception on the
It matches the register GPR0 and the mask has bit 0 set which tests for equality meaning that the trap instruction should have trapped. It is likely then something goes wrong in the signal handling then. Either way it is almost certainly related to the FPC change in OMR. Subscribing @keithc-ca and @sehirst for further investigation. Perhaps we ought to revert the change? [1] https://ci.eclipse.org/openj9/job/Pipeline-OMR-Acceptance/ |
@fjeremic Please explain what you believe is wrong with the change in eclipse-omr/omr#3509 to support your suggestion to revert it. |
@keithc-ca It definitely needs to be reverted. I should have been more careful in my review. I thought we were only changing the RAS output. Changing anything to do with the VM functionality of the FPC register is highly risky as these issues show. Is it possible to just change the RAS output, i.e. the output of the FPC register when the JVM crashes? |
Where does the JIT use the OMR API that was modified? I'd like to understand the data flow. |
Yeah trying to understand that as well. |
I think the problem is in
I'm working on a fix. |
Got it. So here is what happens. OpenJ9 calls the OMR API Then the JIT calls it here in the S390 signal handler: Which used to check explicitly for the |
On another note I'm not sure why we use the |
Perhaps this will fix it? #4477 |
OMR acceptance build
https://ci.eclipse.org/openj9/job/Test-sanity.functional-JDK8-linux_390-64_cmprssptrs/653/tapResults/
A few more in the job output, could JIT team investigate?
The text was updated successfully, but these errors were encountered: