| Summary: | Eclipse pins CPU or hangs accessing the jOOL package | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] JDT | Reporter: | Nathaniel Mishkin <mishkin> | ||||||||
| Component: | Core | Assignee: | JDT-Core-Inbox <jdt-core-inbox> | ||||||||
| Status: | CLOSED DUPLICATE | QA Contact: | |||||||||
| Severity: | critical | ||||||||||
| Priority: | P3 | CC: | loskutov, stephan.herrmann | ||||||||
| Version: | 4.11 | ||||||||||
| Target Milestone: | --- | ||||||||||
| Hardware: | All | ||||||||||
| OS: | All | ||||||||||
| Whiteboard: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
Nathaniel Mishkin
Nathaniel, can you please create jstack dump from "hanging" Eclipse and attach it here? Which exact Eclipse version are you using? Can you also try with latest 4.13 nightly build? Created attachment 279440 [details]
jstack output for a CPU-bound Eclipse 4.11
(In reply to Nathaniel Mishkin from comment #2) > Created attachment 279440 [details] > jstack output for a CPU-bound Eclipse 4.11 Looks like SWT problem. Please try 4.13 nightly build, I believe we had some fix es for Mac hangs in UI. Created attachment 279441 [details]
jstack output for a CPU-bound Eclipse 4.13M1
Same behavior with 4.13M1.
Sorry, was confused by the mac part of tje stack. Yep, this is JDT. We have 3 suspicious threads running. Would be great if you could isolate a simple reproducer out of the library. "Java indexing" #45 daemon prio=4 os_prio=31 tid=0x00007fe8d2c34000 nid=0xde0b runnable [0x0000700010fa5000] java.lang.Thread.State: RUNNABLE at org.eclipse.jdt.internal.compiler.lookup.BoundSet.combineEqualSupers(BoundSet.java:818) at org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporate(BoundSet.java:570) at org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporate(BoundSet.java:490) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.resolve(InferenceContext18.java:1190) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.solve(InferenceContext18.java:1028) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.solve(InferenceContext18.java:1047) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferInvocationType(InferenceContext18.java:473) at org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding.computeCompatibleMethod18(ParameterizedGenericMethodBinding.java:271) 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:953) at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:774) at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:678) at org.eclipse.jdt.internal.compiler.ast.ReturnStatement.resolve(ReturnStatement.java:326) 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:1280) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1405) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:652) at org.eclipse.jdt.internal.core.search.indexing.SourceIndexer.resolveDocument(SourceIndexer.java:175) at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.resolveDocument(JavaSearchParticipant.java:94) at org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexResolvedDocument(IndexManager.java:551) at org.eclipse.jdt.internal.core.search.indexing.IndexManager$1.execute(IndexManager.java:1080) at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:401) at java.lang.Thread.run(java.base@10.0.1/Thread.java:844) "Worker-6: Building workspace" #51 prio=5 os_prio=31 tid=0x00007fe861919000 nid=0x13707 in Object.wait() [0x0000700011a44000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(java.base@10.0.1/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() <0x00000000c38867d0> (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:262) at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:180) 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.events.AutoBuildJob.doBuild(AutoBuildJob.java:154) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:244) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) "Compiler Processing Task" #67 daemon prio=5 os_prio=31 tid=0x00007fe863294000 nid=0x1ce07 runnable [0x00007000123ea000] java.lang.Thread.State: RUNNABLE at org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.reduceTypeEquality(ConstraintTypeFormula.java:189) at org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.reduce(ConstraintTypeFormula.java:108) at org.eclipse.jdt.internal.compiler.lookup.BoundSet.reduceOneConstraint(BoundSet.java:869) at org.eclipse.jdt.internal.compiler.lookup.BoundSet.reduceOneConstraint(BoundSet.java:885) at org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporate(BoundSet.java:589) at org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporate(BoundSet.java:490) at org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.solve(InferenceContext18.java:1023) at org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding.computeCompatibleMethod18(ParameterizedGenericMethodBinding.java:249) 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.getImplicitMethod(Scope.java:2618) at org.eclipse.jdt.internal.compiler.ast.MessageSend.findMethodBinding(MessageSend.java:952) at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:774) at org.eclipse.jdt.internal.compiler.ast.ReturnStatement.resolve(ReturnStatement.java:326) 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:1280) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1405) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:652) at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:886) at org.eclipse.jdt.internal.compiler.ProcessTaskManager.run(ProcessTaskManager.java:145) at java.lang.Thread.run(java.base@10.0.1/Thread.java:844) Created attachment 279442 [details]
jstack output for a CPU-bound Eclipse I20190729-1800
Same behavior with the current nightly build.
> Would be great if you could isolate a simple reproducer out of the library
I'm not sure I'm going to have time to do that right now. I'll try to get to it. In the meantime I'll just say it's really pretty easy to set things up. Just clone the jOOL repo and import the project into Eclipse.
(In reply to Nathaniel Mishkin from comment #7) > > Would be great if you could isolate a simple reproducer out of the library > > I'm not sure I'm going to have time to do that right now. I'll try to get to > it. In the meantime I'll just say it's really pretty easy to set things up. > Just clone the jOOL repo and import the project into Eclipse. Just hoped you would do our work ;) With jOOL in the loop and BoundSet.incorporate in the stack this looks like bug 543480 *** This bug has been marked as a duplicate of bug 543480 *** |