-
Notifications
You must be signed in to change notification settings - Fork 397
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
Lowered optimization level of omrzfs.c for Open XL z/OS #7653
Comments
The crash is replicable by compiling the above unit-test with Open XL z/OS. This one simply makes two consequent calls the Associated workaround PR: #7639 A issue item has been created internally with the Open XL developers to look at this particular issue, describing the above crash in further detail. |
@joransiu @babsingh I tried with a simpler version of the test with only making direct call to compilation command:
Results:
|
Thanks @Deigue. Please also share this update with the C/C++ team on issue we have with them. |
APAR PH65242 has been opened by the Open XL product team for this issue. |
There is run-time crash happening when compiling
omrzfs.c
with Open XL z/OS, eventually leading to a branch to an invalid memory address.Differences are seen in the disassembled code of
omrzfs.c
comparing with XLC (existing z/OS compiler)https://github.com/eclipse-omr/omr/blob/master/port/zos390/omrzfs.c#L121 (point of crash)
Looking at the crash dump produced with the Open XL build, around the part where the code crashes
The above instructions modify the contents of GPR15, which was supposedly holding the address to branch back from the syscall, causing the subsequent BALR call at +1042 to fail. Happening via code ->
omr/port/zos390/omrzfs.c
Line 266 in a34c903
Lowering the opt level to
-O0
... or alternatively disabling inlining via something like-fno-inline-functions
seems to mitigate the problem.Creating this item to track the permanent fix for wyvern/ Open XL z/OS so we can revert the conditional lowering of the opt level for this method.
The text was updated successfully, but these errors were encountered: