eclipse-jdt / eclipse-jdt/eclipse.jdt.core
StackOverflowError when trying to test project, but only when module-info.java is present
- Dominant language
- Java
- Stars
- 237
- Forks
- 195
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 47
Description
I'm getting the following exception when trying to test my project. It looks like a loop in the code.
```
!ENTRY org.eclipse.core.jobs 4 2 2023-10-14 19:31:22.097
!MESSAGE An internal error occurred during: "Launching jsweet-transpiler".
!STACK 0
java.lang.StackOverflowError
at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:812)
at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:742)
at org.eclipse.jdt.internal.core.SearchableEnvironment.find(SearchableEnvironment.java:188)
at org.eclipse.jdt.internal.core.SearchableEnvironment.findType(SearchableEnvironment.java:542)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.fromSplitPackageOrOracle(LookupEnvironment.java:428)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.lambda$1(LookupEnvironment.java:301)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForTypeFromModules(LookupEnvironment.java:395)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:300)
at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:276)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findImport(CompilationUnitScope.java:585)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.resolveImports(CompilationUnitScope.java:291)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.checkAndSetImports(CompilationUnitScope.java:258)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:596)
at org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver.accept(HierarchyResolver.java:209)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:346)
at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:276)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findImport(CompilationUnitScope.java:585)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.resolveImports(CompilationUnitScope.java:291)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.checkAndSetImports(CompilationUnitScope.java:258)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:596)
at org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver.accept(HierarchyResolver.java:209)
...
```
I'm running Eclipse-IDE on macOS Version: 2023-09 (4.29.0), Build id: 20230907-1323
java.vendor.version=Temurin-17.0.8.1+1
Steps to reproduce:
1. `git clone --depth 1 --single-branch -b ck/EclipseStackOverflow https://github.com/kohlschutter/jsweet`
2. Import Maven projects into Eclipse
3. Run junit tests for the `jsweet-transpiler` submodule
4. Rename `jsweet-transpiler/src/main/java/module-info.java.txt` to `module-info.java`
5. Update m2e project settings (Maven -> Update project)
6. Remove files from `(default package)` in src/test/java (which now no longer works since it's modularized)
7. Run junit tests again
8. Notice StackOverflowError. Eclipse wants to exit the workbench, logs are written as above
Contributor guide
Assessment
This issue has not been assessed yet.