eclipse-jdt / eclipse-jdt/eclipse.jdt.core
Non deterministic compile results with lamda numbering
- Dominant language
- Java
- Stars
- 237
- Forks
- 195
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 49
Description
In PDE we are experiencing a build instability with the class [BundleLauncherHelper](https://github.com/eclipse-pde/eclipse.pde/blob/master/ui/org.eclipse.pde.launching/src/org/eclipse/pde/internal/launching/launcher/BundleLauncherHelper.java) according to the logs the numbering of lamdas is different compared to those on the baseline, I have captured a compile log that shows the differences and **has compile logs with exact classpath and compiler options** here: [compare.zip](https://github.com/eclipse-jdt/eclipse.jdt.core/files/14088236/compare.zip)
The textcompare shows that only the numbering is different here, please note that the baseline seem not contain any `lambda$0` but starting with `lambda$1` immediately:

I can't reproduce this locally and even on the CI instance the behavior varies between builds where none are actually changing that bundle.
Contributor guide
Research direction
Start with ui/org.eclipse.pde.launching/src/org/eclipse/pde/internal/launching/launcher/BundleLauncherHelper.java and inspect compare.zip, which contains the differing compile logs, classpaths, and compiler options. Compare the lambda numbering between builds and the baseline; done means the cause of the varying numbering is identified and compilation is deterministic.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100