| Summary: | Building Workspace runs indefinitely | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] JDT | Reporter: | Missing name <t-heck> | ||||||||||||
| Component: | Core | Assignee: | JDT-Core-Inbox <jdt-core-inbox> | ||||||||||||
| Status: | CLOSED DUPLICATE | QA Contact: | |||||||||||||
| Severity: | normal | ||||||||||||||
| Priority: | P3 | CC: | loskutov, stephan.herrmann | ||||||||||||
| Version: | 4.10 | ||||||||||||||
| Target Milestone: | --- | ||||||||||||||
| Hardware: | PC | ||||||||||||||
| OS: | Windows 7 | ||||||||||||||
| See Also: | https://bugs.eclipse.org/bugs/show_bug.cgi?id=543480 | ||||||||||||||
| Whiteboard: | |||||||||||||||
| Attachments: |
|
||||||||||||||
If the system blocks, can you please create few jstack dumps and attach them here? Thanks. Which JVM version is used, and which compiler settings? Created attachment 277046 [details]
stacktrace after startup
Created attachment 277047 [details]
stacktrace after build freeze
Hi. I am running eclipse with oracle jdk-11. The project itself is build with an oracle jdk1.8.0_192. The projects jdk compliance is set to 1.8. Timo, thanks, last stack is helpful. Can you please run jstack -l to see locks info from JVM? (In reply to Andrey Loskutov from comment #5) > Timo, thanks, last stack is helpful. Can you please run jstack -l to see > locks info from JVM? Not needed. I guess your code is closed, and you can't share it? Related threads: "Compiler Processing Task" #137 daemon prio=5 os_prio=0 cpu=130089.23ms elapsed=130.22s tid=0x000000003cce6800 nid=0x2ce4 runnable [0x000000003a7e9000] java.lang.Thread.State: RUNNABLE at java.util.HashMap.hash(java.base@11/HashMap.java:339) at java.util.HashMap.containsKey(java.base@11/HashMap.java:591) at java.util.HashSet.contains(java.base@11/HashSet.java:204) at org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.hasDependency(BoundSet.java:135) at org.eclipse.jdt.internal.compiler.lookup.BoundSet.dependsOnResolutionOf(BoundSet.java:928) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addDependencies(InferenceContext18.java:1337) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addDependencies(InferenceContext18.java:1338) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addDependencies(InferenceContext18.java:1338) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addDependencies(InferenceContext18.java:1338) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.getSmallestVariableSet(InferenceContext18.java:1302) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.resolve(InferenceContext18.java:1110) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.solve(InferenceContext18.java:998) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.solve(InferenceContext18.java:1017) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferInvocationType(InferenceContext18.java:470) at org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding.computeCompatibleMethod18(ParameterizedGenericMethodBinding.java:270) at org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding.computeCompatibleMethod(ParameterizedGenericMethodBinding.java:92) at org.eclipse.jdt.internal.compiler.lookup.Scope.computeCompatibleMethod(Scope.java:837) at org.eclipse.jdt.internal.compiler.lookup.Scope.computeCompatibleMethod(Scope.java:794) at org.eclipse.jdt.internal.compiler.lookup.Scope.findMethod0(Scope.java:1750) at org.eclipse.jdt.internal.compiler.lookup.Scope.findMethod(Scope.java:1651) at org.eclipse.jdt.internal.compiler.lookup.Scope.getMethod(Scope.java:2934) at org.eclipse.jdt.internal.compiler.ast.MessageSend.findMethodBinding(MessageSend.java:954) at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:775) at org.eclipse.jdt.internal.compiler.ast.ReturnStatement.resolve(ReturnStatement.java:349) at org.eclipse.jdt.internal.compiler.ast.LambdaExpression.resolveType(LambdaExpression.java:453) at org.eclipse.jdt.internal.compiler.ast.LambdaExpression.cachedResolvedCopy(LambdaExpression.java:977) at org.eclipse.jdt.internal.compiler.ast.LambdaExpression.resolveExpressionExpecting(LambdaExpression.java:1007) at org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.inputVariables(ConstraintExpressionFormula.java:498) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.lambda$1(InferenceContext18.java:583) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$$Lambda$581/0x0000000800ff0840.perform(Unknown Source) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.collectingInnerBounds(InferenceContext18.java:528) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromFunctionalExpr(InferenceContext18.java:583) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromExpression(InferenceContext18.java:562) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromInvocation(InferenceContext18.java:547) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferInvocationType(InferenceContext18.java:418) at org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding.computeCompatibleMethod18(ParameterizedGenericMethodBinding.java:270) at org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding.computeCompatibleMethod(ParameterizedGenericMethodBinding.java:92) at org.eclipse.jdt.internal.compiler.lookup.Scope.computeCompatibleMethod(Scope.java:837) at org.eclipse.jdt.internal.compiler.lookup.Scope.computeCompatibleMethod(Scope.java:794) at org.eclipse.jdt.internal.compiler.lookup.Scope.findMethod0(Scope.java:1750) at org.eclipse.jdt.internal.compiler.lookup.Scope.findMethod(Scope.java:1651) at org.eclipse.jdt.internal.compiler.lookup.Scope.getMethod(Scope.java:2934) at org.eclipse.jdt.internal.compiler.ast.MessageSend.findMethodBinding(MessageSend.java:954) at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:775) at org.eclipse.jdt.internal.compiler.ast.ReturnStatement.resolve(ReturnStatement.java:349) at org.eclipse.jdt.internal.compiler.ast.LambdaExpression.resolveType(LambdaExpression.java:453) at org.eclipse.jdt.internal.compiler.ast.LambdaExpression.cachedResolvedCopy(LambdaExpression.java:977) at org.eclipse.jdt.internal.compiler.ast.LambdaExpression.resolveExpressionExpecting(LambdaExpression.java:1007) at org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.inputVariables(ConstraintExpressionFormula.java:498) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.lambda$1(InferenceContext18.java:583) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$$Lambda$581/0x0000000800ff0840.perform(Unknown Source) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.collectingInnerBounds(InferenceContext18.java:528) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromFunctionalExpr(InferenceContext18.java:583) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromExpression(InferenceContext18.java:562) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromInvocation(InferenceContext18.java:547) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferInvocationType(InferenceContext18.java:418) at org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding.computeCompatibleMethod18(ParameterizedGenericMethodBinding.java:270) at org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding.computeCompatibleMethod(ParameterizedGenericMethodBinding.java:92) at org.eclipse.jdt.internal.compiler.lookup.Scope.computeCompatibleMethod(Scope.java:837) at org.eclipse.jdt.internal.compiler.lookup.Scope.computeCompatibleMethod(Scope.java:794) at org.eclipse.jdt.internal.compiler.lookup.Scope.findMethod0(Scope.java:1750) at org.eclipse.jdt.internal.compiler.lookup.Scope.findMethod(Scope.java:1651) at org.eclipse.jdt.internal.compiler.lookup.Scope.getMethod(Scope.java:2934) at org.eclipse.jdt.internal.compiler.ast.MessageSend.findMethodBinding(MessageSend.java:954) at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:775) at org.eclipse.jdt.internal.compiler.ast.ReturnStatement.resolve(ReturnStatement.java:349) at org.eclipse.jdt.internal.compiler.ast.LambdaExpression.resolveType(LambdaExpression.java:453) at org.eclipse.jdt.internal.compiler.ast.LambdaExpression.cachedResolvedCopy(LambdaExpression.java:977) at org.eclipse.jdt.internal.compiler.ast.LambdaExpression.resolveExpressionExpecting(LambdaExpression.java:1007) at org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.inputVariables(ConstraintExpressionFormula.java:498) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.lambda$1(InferenceContext18.java:583) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$$Lambda$581/0x0000000800ff0840.perform(Unknown Source) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.collectingInnerBounds(InferenceContext18.java:528) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromFunctionalExpr(InferenceContext18.java:583) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromExpression(InferenceContext18.java:562) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromInvocation(InferenceContext18.java:547) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferInvocationType(InferenceContext18.java:418) at org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding.computeCompatibleMethod18(ParameterizedGenericMethodBinding.java:270) at org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding.computeCompatibleMethod(ParameterizedGenericMethodBinding.java:92) at org.eclipse.jdt.internal.compiler.lookup.Scope.computeCompatibleMethod(Scope.java:837) at org.eclipse.jdt.internal.compiler.lookup.Scope.computeCompatibleMethod(Scope.java:794) at org.eclipse.jdt.internal.compiler.lookup.Scope.findMethod0(Scope.java:1750) at org.eclipse.jdt.internal.compiler.lookup.Scope.findMethod(Scope.java:1651) at org.eclipse.jdt.internal.compiler.lookup.Scope.getMethod(Scope.java:2934) at org.eclipse.jdt.internal.compiler.ast.MessageSend.findMethodBinding(MessageSend.java:954) at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:775) at org.eclipse.jdt.internal.compiler.ast.ReturnStatement.resolve(ReturnStatement.java:349) at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:641) at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:316) at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:551) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1229) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1354) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:652) at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:892) at org.eclipse.jdt.internal.compiler.ProcessTaskManager.run(ProcessTaskManager.java:145) at java.lang.Thread.run(java.base@11/Thread.java:834) "Worker-17: Building Workspace" #64 prio=5 os_prio=0 cpu=10639.27ms elapsed=147.69s tid=0x000000002931c800 nid=0x330c in Object.wait() [0x00000000373fe000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(java.base@11/Native Method) - waiting on <no object reference available> at org.eclipse.jdt.internal.compiler.ProcessTaskManager.removeNextUnit(ProcessTaskManager.java:92) - waiting to re-lock in wait() <0x0000000739ab2c68> (a org.eclipse.jdt.internal.compiler.ProcessTaskManager) at org.eclipse.jdt.internal.compiler.Compiler.processCompiledUnits(Compiler.java:607) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:475) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426) at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:386) at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:214) at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:318) at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:79) at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:267) at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:182) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:833) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:220) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:263) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:316) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:319) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:371) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:392) at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:504) at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:404) at org.eclipse.ui.actions.GlobalBuildAction$1.run(GlobalBuildAction.java:180) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) Timo, can you enable tracing for JDT in Preferences -> General -> Tracing -> JDT Core -> debug, debug/compiler and debug/builder? I hope this could point to the type JDT is trying to resolve here, so may be you could identify the offending code and post it here. Please restart, start build and attach generated trace file here. At some point in time it probably would either stop or print same messages. You are right, I cannot share the code. I don't seem to be able to create any trace.log. After selecting window -> preferences -> tracing -> "enable tracing" selecting the requested options and restarting eclipse there is no log file created. I tried it several times and started eclipse with -debug option but no difference. I am sorry, I am not sure what I am missing here. But by playing arround I realized that it is simply enough to load the workspace to have the process locked. Running a build is not necessary. I am attaching another stacktrace taking from the process after loading the workspace and immediately closing eclipse again. What I can share as well is the .log file from the workspace. Hope, this helps. Created attachment 277052 [details]
stacktrace - ide closed directly after startup
Created attachment 277053 [details]
workspace log file
In Bug 543480 we resolved a performance issue during type inference, which also seems to be the area where time is spent in your case. Please pick up the next integration build and check if things are better now. Hi. I have already downloaded release 2019-06 which runs stable now. Thanks for the help. *** This bug has been marked as a duplicate of bug 543480 *** |
Created attachment 277031 [details] jvisualvm application snapshot I am working on one of my companys projects. It is a maven module project. While my project consists of three maven projects which are setup in an equal manner, this one in particular I am not able to build with eclipse. If "build workspace" is triggered on startup or via clean project, the process seems to block while building a specific project (module). It blocks everything else and it cannot be canceled. The only way to get rid of it is by killing the eclipse process. The workspace .log file does not contain any error. I sampled the process via jvisualvm during the workspace build until eclipse stops working. You can find the file attached. Maybe it helps.