Closed connglli closed 9 months ago
@pshipton By the way, I still have arount 12 tests that can cause GC to crash, which should be induced by JIT. However, all of them are non-deterministic. So it's hard for me to reduce them (and check their uniqueness preliminarily). Even though OpenJ9 crashes evey time you run them, they crash with a different symptom (different types like segfault, assertion failures, and different stacktraces).
Importantly, each test (of the 12 tests) can behave with at least 1 symptom that are different from all bugs that I've reported. I wanted to display to you the symptom that are unique, but I'm afraid to smash your issue tracker because they are non-deterministic. So which of the following you suggest me to do
Thank you.
@connglli I'll leave this to the JIT team since they tend to be JIT issues.
@0xdaryl @hzongaro FYI this new issue. Can you pls answer the question about how you would like the other 12.
I'd say it is highly unlikely that we have an additional 12 unique issues with JIT/GC. Let's start with a single issue for the most reproducible problem you have and include the code for the others in that same issue. If they turn out to be unique problems we can create issues for them as we go. Thanks.
Sure @0xdaryl. As I said, I don't know the uniqueness, either. So let's start like that. Looks like a good way!!! (It's night at my time. I'll do it tomorrow.)
This kind of failure (stack) is very common in the case object heap is corrupted or there is incorrect (stale?) pointer to the object from root or another object. This is failure from the same group of assertions mentioned in https://github.com/eclipse-openj9/openj9/issues/17052. BTW there are assertions in that list can be triggered by object heap corruption only, not an invalid object reference (failures in Memory Pool for instance)
No one has had the opportunity to investigate further yet. Moving this to 0.43 release.
Brad @BradleyWood , may I ask you to take a look at this problem? I think it's related to Dynamic Loop Transfer. It runs successfully (indefinitely) with either:
java -Xjit:limit={T.main*},optLevel=cold,verbose T
java -Xjit:limit={T.main*},optLevel=warm,verbose T
but crashes with either
java -Xjit:limit={T.main*},optLevel=hot,verbose T
java -Xjit:limit={T.main*},optLevel=scorching,verbose T
@BradleyWood, may I ask you to check whether this problem was fixed by either or both the OMR pull requests eclipse/omr#7237 and eclipse/omr#7238?
@hzongaro Its fixed
Java version
Javac version
Code and summary of the problem
The following test makes OpenJ9 to crash in GC. This should be a JIT bug since there aren't any crash if
-Xint
is enabled.Segmentation error:
Diagnostic files
In my settings, the bug can be reproduced deterministically. See the logs (javacore, jitdump, Snap) in issue17045.tar.gz.