Community
Participate
Working Groups
I20060322-1335, follow-up to bug 83473 The DeferredContentProvider sometimes collapses the parent node after child computation on a dual processor machine. I can reproduce with the steps in bug 83473 comment 11. With the fix for bug 83473, the parent node (floatValue()) is collapsed after the children have been computed. With a breakpoint on the "if (isExpandable..." line in AbstractTreeViewer#internalReconcileParentItems(..), I saw that the placeholder is removed from the parent at a time where the calculated childern have not yet been added. Thread [main] (Suspended (breakpoint at line 1669 in AbstractTreeViewer)) CallHierarchyViewer(AbstractTreeViewer).internalReconcileParentItems(CustomHashtable) line: 1669 CallHierarchyViewer(AbstractTreeViewer).internalRemove(Object[]) line: 1654 AbstractTreeViewer$6.run() line: 1898 CallHierarchyViewer(StructuredViewer).preservingSelection(Runnable) line: 1294 CallHierarchyViewer(AbstractTreeViewer).remove(Object[]) line: 1896 CallHierarchyViewer(AbstractTreeViewer).remove(Object) line: 1948 DeferredTreeContentManager$4.runInUIThread(IProgressMonitor) line: 375 UIJob$1.run() line: 94 RunnableLock.run() line: 35 UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 123 Display.runAsyncMessages(boolean) line: 3135 Display.readAndDispatch() line: 2841 Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 1909 Workbench.runUI() line: 1873 Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 418
Boris, this looks like you have some history for it so here it is. I'm not sure which 'component area' to call this so feel free to add one...
Markus, did you use a real dual processor machine for this, or can you reproduce it using a Pentium 4 with Hyperthreading too? Do you need Linux-GTK to reproduce?
Our dual processor (2 Xeons) only has Linux installed, and I can only reproduce there. It happens about every tenth time I try, and it almost never happens when I run tests in the background. That would support the hypothesis that two truly parallel threads are needed to reproduce. AFAIK, we don't have a hypertreading nor another dual processor machine here, so I can't make a statement about hyperthreading. I'll ask Tom to try it on his single processor Linux-GTK (next week), so that we can rule out the OS.
I realized that my WinXP box (where I cannot reproduce) has in fact a hyperthreading Pentium 4 processor. I also tried it on Tom's Linux-GTK (single processor), but I could not reproduce there either. -> Linux should not be the culprit and hyperthreading seems not to be sufficiently parallel to reproduce. => So far, we've only had the problem on 2 multi-processor Linux-GTK.
Hitesh is now responsible for watching bugs in the [Viewers] component area.
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug. If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie.
Depends on big 509006 which is wip