Community
Participate
Working Groups
Make sure autobuild is enabled. - load Junit - load TestCase.java - select fName in Outliner - search for references. - remove "{" from line "public TestCase(String name) {" - Save Full thread dump Classic VM (JDK-1.2.2_007, native threads): "com.ibm.jdt.ui.text.java.JavaReconciler" (TID:0x14180a8, sys_thread_t:0x741fe48, state:CW, native ID:0x5f4) prio=1 at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java, Compiled Code) at com.ibm.eclipse.internal.core.resources.WorkManager.checkIn(WorkManager.java, Compiled Code) at com.ibm.eclipse.internal.core.resources.Workspace.beginOperation(Workspace.java, Compiled Code) at com.ibm.eclipse.internal.core.resources.Resource.createMarker(Resource.java:275) at com.ibm.jdt.internal.core.WorkingCopy.reconcile(WorkingCopy.java, Compiled Code) at com.ibm.jdt.internal.core.Reconciler.reconcile(Reconciler.java:49) at com.ibm.jdt.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:44) at com.ibm.jdt.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:53) at com.ibm.jdt.ui.text.java.JavaReconciler.process(JavaReconciler.java:24) at com.ibm.jface.text.reconciler.Reconciler$BackgroundThread.run(Reconciler.java, Compiled Code) "Java indexing: com.ibm.jdt.internal.core.search.indexing.IndexManager" (TID:0x1487640, sys_thread_t:0x5c7b6a0, state:CW, native ID:0x10c) prio=5 at java.lang.Thread.sleep(Native Method) at com.ibm.jdt.internal.core.search.processing.JobManager.run(JobManager.java, Compiled Code) at java.lang.Thread.run(Thread.java:479) "SymcJIT-LazyCompilation-0" (TID:0x14ae668, sys_thread_t:0x4a0a758, state:CW, native ID:0x1f0) prio=1 at SymantecJITCompilationThread.DoCompileMethod(Native Method) at SymantecJITCompilationThread.run(JITcompilationthread.java, Compiled Code) "SymcJIT-LazyCompilation-PA" (TID:0x14ae630, sys_thread_t:0x4a0a4c0, state:CW, native ID:0x5c0) prio=10 at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java, Compiled Code) at SymantecJITCompilationThread.run(JITcompilationthread.java, Compiled Code) "Finalizer" (TID:0x14a9320, sys_thread_t:0x4953220, state:CW, native ID:0x5d4) prio=8 at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java, Compiled Code) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java, Compiled Code) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174) "Reference Handler" (TID:0x14a93b0, sys_thread_t:0x49517f8, state:CW, native ID:0x184) prio=10 at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java, Compiled Code) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:114) "Signal dispatcher" (TID:0x14a93e0, sys_thread_t:0x494eff8, state:R, native ID:0x1a8) prio=5 "main" (TID:0x14a91e0, sys_thread_t:0x2f3c08, state:MW, native ID:0x614) prio=5 at com.ibm.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.doSaveDocument(CompilationUnitDocumentProvider.java:208) at com.ibm.eclipse.ui.editors.text.AbstractDocumentProvider.saveDocument(AbstractDocumentProvider.java:253) at com.ibm.eclipse.ui.editors.text.AbstractTextEditor$5.execute(AbstractTextEditor.java:472) at com.ibm.eclipse.ui.actions.WorkbenchModifyOperation$1.run(WorkbenchModifyOperation.java:47) at com.ibm.eclipse.internal.core.resources.Workspace.run(Workspace.java:1056) at com.ibm.eclipse.ui.actions.WorkbenchModifyOperation.run(WorkbenchModifyOperation.java:55) at com.ibm.eclipse.ui.editors.text.AbstractTextEditor.doSave(AbstractTextEditor.java:479) at com.ibm.eclipse.internal.ui.EditorManager.saveEditor(EditorManager.java:237) at com.ibm.eclipse.internal.ui.WorkbenchPage.saveEditor(WorkbenchPage.java:725) at com.ibm.eclipse.internal.ui.SaveAction.run(SaveAction.java:31) at com.ibm.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:324) at com.ibm.jface.action.ActionContributionItem.handleWidgetEvent(ActionContributionItem.java, Compiled Code) at com.ibm.jface.action.ActionContributionItem.access$0(ActionContributionItem.java, Compiled Code) at com.ibm.jface.action.ActionContributionItem$ActionListener.handleEvent(ActionContributionItem.java, Compiled Code) at com.ibm.swt.widgets.EventTable.sendEvent(EventTable.java, Compiled Code) at com.ibm.swt.widgets.Widget.notifyListener(Widget.java, Compiled Code) at com.ibm.swt.widgets.Display.runDeferredEvents(Display.java, Compiled Code) at com.ibm.swt.widgets.Display.readAndDispatch(Display.java, Compiled Code) at com.ibm.eclipse.internal.ui.Workbench.runEventLoop(Workbench.java, Compiled Code) at com.ibm.eclipse.internal.ui.Workbench.run(Workbench.java:543) at com.ibm.eclipse.core.boot.BootLoader.run(BootLoader.java:909) at java.lang.reflect.Method.invoke(Native Method) at com.ibm.eclipse.launcher.Main.basicRun(Main.java:61) at com.ibm.eclipse.launcher.Main.run(Main.java:217) at com.ibm.eclipse.launcher.NewMain.main(NewMain.java:32) Monitor Cache Dump: java.lang.ref.ReferenceQueue$Lock@14A9338/14DED50: <unowned> Waiting to be notified: "Finalizer" (0x4953220) com.ibm.jdt.internal.core.WorkingCopy@1487FD8/19BC2F8: owner "com.ibm.jdt.ui.text.java.JavaReconciler" (0x741fe48) 1 entry Waiting to enter: "main" (0x2f3c08) com.ibm.eclipse.ui.editors.text.AbstractTextEditor$5@13B86F8/1DC0010: owner "main" (0x2f3c08) 1 entry java.lang.ref.Reference$Lock@14A93C0/14DE890: <unowned> Waiting to be notified: "Reference Handler" (0x49517f8) SymantecJITCompilationThread@14AE668/1506AF0: <unowned> Waiting to be notified: "SymcJIT-LazyCompilation-PA" (0x4a0a4c0) com.ibm.eclipse.internal.core.resources.WorkManager@14C92C8/15E19C0: <unowned> Waiting to be notified: "com.ibm.jdt.ui.text.java.JavaReconciler" (0x741fe48) Registered Monitor Dump: SymcJIT Method Monitor: <unowned> SymcJIT Method Monitor: <unowned> SymcJIT Lazy Queue Lock: <unowned> Waiting to be notified: "SymcJIT-LazyCompilation-0" (0x4a0a758) SymcJIT Method Monitor: <unowned> SymcJIT Method List Monitor: <unowned> SymcJIT Lock: <unowned> utf8 hash table: <unowned> JNI pinning lock: <unowned> JNI global reference lock: <unowned> BinClass lock: <unowned> Class linking lock: <unowned> System class loader lock: <unowned> Code rewrite lock: <unowned> Heap lock: <unowned> Monitor cache lock: owner "Signal dispatcher" (0x494eff8) 1 entry Thread queue lock: owner "Signal dispatcher" (0x494eff8) 1 entry Monitor registry: owner "Signal dispatcher" (0x494eff8) 1 entry NOTES: EG (3/13/01 5:00:51 PM) commented out the code that creates transient markers and the problem went away /** * @see IWorkingCopy */ public IMarker[] reconcile() throws JavaModelException { // create the delta builder (this remembers the current content of the cu) JavaElementDeltaBuilder deltaBuilder= new JavaElementDeltaBuilder(this); // update the element infos with the content of the working copy this.makeConsistent(null); // build the deltas deltaBuilder.buildDeltas(); // fire the deltas boolean shouldFire= false; JavaModelManager manager= null; if (deltaBuilder.deletedDelta != null) { manager= (JavaModelManager) JavaModelManager.getJavaModelManager(); if (deltaBuilder.deletedDelta.getAffectedChildren().length > 0) { manager.registerJavaModelDelta(deltaBuilder.deletedDelta); shouldFire= true; } } if (deltaBuilder.addedDelta != null) { if (manager == null) manager= (JavaModelManager) JavaModelManager.getJavaModelManager(); if (deltaBuilder.addedDelta.getAffectedChildren().length > 0) { manager.registerJavaModelDelta(deltaBuilder.addedDelta); shouldFire= true; } } if (shouldFire) manager.fire(); // report syntax problems /* REMOVED because of 1GAJ67W: ITPJUI:WIN2000 - Deadlock while saving in Editor try { WorkingCopyElementInfo info= (WorkingCopyElementInfo) JavaModelManager.getJavaModelManager().getInfo(this); IProblem[] problems= info.problems; int length; if (problems == null || (length= problems.length) == 0) return null; IMarker[] markers= new IMarker[length]; for (int i= 0; i < length; i++) { IProblem problem= problems[i]; IMarker marker= getOriginalElement().getUnderlyingResource().createMarker(IJavaModelMarker.TRANSIENT_PROBLEM); marker.setAttribute(IJavaModelMarker.ID, problem.getID()); marker.setAttribute(IJavaModelMarker.CHAR_START, problem.getSourceStart()); marker.setAttribute(IJavaModelMarker.CHAR_END, problem.getSourceEnd() + 1); marker.setAttribute(IJavaModelMarker.LINE_NUMBER, problem.getSourceLineNumber()); // HACK for now: The final format is not fixed yet. marker.setAttribute(IMarker.LOCATION, "#" + problem.getSourceLineNumber()); marker.setAttribute(IMarker.MESSAGE, problem.getMessage()); marker.setAttribute(IMarker.PRIORITY, (problem.isWarning() ? IMarker.PRIORITY_LOW : IMarker.PRIORITY_HIGH)); markers[i]= marker; } return markers; } catch (CoreException e) { throw new JavaModelException(e); }*/ return new IMarker[0]; } EG (3/14/2001 6:26:04 AM) pls comment out the code as shown above for the March 15th drop Moving to ITPCORE JBL (3/14/2001 3:14:33 PM) Also reported in 1GAJJ3A: ITPJUI:WINNT - Deadlock in Java Editor JBL (3/15/2001 6:28:59 PM) Waiting on comments in PR above. JBL (6/18/2001 2:52:07 PM) 1GAJJ3A: ITPJUI:WINNT - Deadlock in Java Editor has been fixed. We should re-enable the above code.
PRODUCT VERSION: 80 (self hosting)
Marker creation got removed, and instead IProblem are surfaced. Closing