-
Notifications
You must be signed in to change notification settings - Fork 95
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
[23] many errors, some failure in AutomatedTestSuite with latest from JDT/Core #1639
Comments
Those are Heisenbugs: they reliably fail except when run in debug mode :( |
Wow, hard-core Heisenbug, no debugger needed to send the bug into hiding:
|
The public SourceRange computeSourceRange(ASTNode node) {
return new SourceRange(node.getStartPosition(), node.getLength());
} For lack of debugability I reduced the test suite to
At that point I could disable GC to reduce non-determinism:
With this setup, the error was fairly stable, but the boarder of what tests could be removed without "breaking" the bug was not 100% deterministic. Finally I added the following harness in ASTRewriteAnalyzer: final int getExtendedEnd(ASTNode node) {
try {
TargetSourceRangeComputer.SourceRange range= getExtendedRange(node);
return range.getStartPosition() + range.getLength();
} catch (NullPointerException npe) {
System.err.println(extendedSourceRangeComputer);
npe.printStackTrace();
System.err.println(extendedSourceRangeComputer.computeSourceRange(node));
System.err.flush();
System.exit(-13);
}
} See the implementation of final SourceRange getExtendedRange(ASTNode node) {
if (this.eventStore.isRangeCopyPlaceholder(node)) {
return new SourceRange(node.getStartPosition(), node.getLength());
}
return this.extendedSourceRangeComputer.computeSourceRange(node);
} and be told that the field Output is:
This reports the following sequence of events:
Ergo: the Noting furthermore that the errors occur only when running on JDK 23. Noting furthermore that we don't have a lot of alternatives of JDK 23 (only openjdk EA available at this point). I'll be researching options to disable JIT for some code parts... |
This helps:
Ergo: JIT bug 👀 If others can verify, then we will have to add a BIG ALERT in some top-level documentation (once Java 23 is GA). I'll play with |
JDT/Core + add jit-exclusion to circumvent JIT-bug fixes eclipse-jdt#1639
Let's wait for next test results from https://ci.eclipse.org/releng/job/YPBuilds/job/ep433Y-unit-cen64-gtk3-java23/lastCompletedBuild/testReport/ (which seems to be the only job that runs tests on Java 23). |
https://ci.eclipse.org/releng/job/YPBuilds/job/ep433Y-unit-cen64-gtk3-java23/23/ still shows 458 failures / errors. It seems pom.xml isn't used during that build but test.xml. Trying to cover that path, too, via #1642 |
JDT/Core move jit-exclusion to the correct ant target (hopefully) fixes eclipse-jdt#1639
YES, finally the JIT-bug workaround worked, latest test run https://ci.eclipse.org/releng/job/YPBuilds/job/ep433Y-unit-cen64-gtk3-java23/25/testReport/ is down to 6 failures total, of which only 6 are in JDT (Core). |
After seeing 478 failures in https://ci.eclipse.org/releng/job/YPBuilds/job/ep433Y-unit-cen64-gtk3-java23/lastCompletedBuild/testReport/ I succeeded to reproduce 415 such locally with latest from BETA_JAVA23 of relevant JDT projects.
The text was updated successfully, but these errors were encountered: