Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 260512 - TextFileBufferManager failed to notify an ITextFileBufferListener
Summary: TextFileBufferManager failed to notify an ITextFileBufferListener
Status: RESOLVED DUPLICATE of bug 221583
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Compare (show other bugs)
Version: 3.4.1   Edit
Hardware: All All
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Platform-Compare-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-09 04:13 EST by utilisateur_768 CLA
Modified: 2009-05-13 10:11 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description utilisateur_768 CLA 2009-01-09 04:13:19 EST
Build id: M20080911-1700

I got this error while doing a CVS merge:
1. 1 Java project synced with "branchX"
2. On this project, i start a merge (start = HEAD_last_week, end = HEAD_this_night)
3. I preview the changes in the synchronize view.
4. One change is a rename of a java file from xxx/a.java to xxx/b.java
5. I select both item and i do merge, but the new file is "updated", the old file is not removed and i got this exception.
6. Moreover, a new "root node" is created (in workspace model) but with the java package icons instead of directories icon... So i must restart the merge from stratch...

-- Error Details --
Date: Fri Jan 09 10:04:45 CET 2009
Message: TextFileBufferManager failed to notify an ITextFileBufferListener
Severity: Error
Plugin: org.eclipse.core.filebuffers
Session Data:
eclipse.buildId=M20080911-1700
java.version=1.6.0_10
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_EN
Framework arguments:  -refresh
Command-line arguments:  -os win32 -ws win32 -arch x86 -clean -refresh -debug F:\User\Scripts\.options -consolelog


Exception Stack Trace:
org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:3777)
	at org.eclipse.swt.SWT.error(SWT.java:3695)
	at org.eclipse.swt.SWT.error(SWT.java:3666)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
	at org.eclipse.swt.widgets.Widget.getDisplay(Widget.java:578)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer.updatePresentation(TextMergeViewer.java:1387)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer.update(TextMergeViewer.java:4433)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer.updateContent(TextMergeViewer.java:2361)
	at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.internalRefresh(ContentMergeViewer.java:715)
	at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.refresh(ContentMergeViewer.java:690)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer$ContributorInfo.resetDocument(TextMergeViewer.java:797)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer$ContributorInfo.elementDeleted(TextMergeViewer.java:786)
	at org.eclipse.ui.editors.text.TextFileDocumentProvider$FileBufferListener.underlyingFileDeleted(TextFileDocumentProvider.java:334)
	at org.eclipse.core.internal.filebuffers.TextFileBufferManager$7.run(TextFileBufferManager.java:717)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.internal.filebuffers.TextFileBufferManager.fireUnderlyingFileDeleted(TextFileBufferManager.java:715)
	at org.eclipse.core.internal.filebuffers.ResourceFileBuffer.handleFileDeleted(ResourceFileBuffer.java:466)
	at org.eclipse.core.internal.filebuffers.ResourceFileBuffer$4.execute(ResourceFileBuffer.java:169)
	at org.eclipse.core.internal.filebuffers.ResourceFileBuffer$SafeFileChange.run(ResourceFileBuffer.java:86)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
Comment 1 utilisateur_768 CLA 2009-01-09 06:32:57 EST
I've restarted eclipse, and the merge.
Are are the steps:
1. 1 Java project synced with "branchX"
2. On this project, i start a merge (start = HEAD_last_week, end = HEAD_this_night)
3. I preview the changes in the synchronize view.
4. In one particular package, a file was renamed between last week and this night (on the HEAD), so i have:
  com.xxx.foo
    <+ new.java [incoming addition]
    <conflit icon> old.java [conflicting change] 1.5.2.6
5. I select the package, a do merge
6. This happens 
   - The dialog box says "Some conflicting changes cannot be merged automatically"
   - the new.java item is removed from the view
   - the old.java item is still here (the conflict)
   - a new node, a duplicate of the project node,  is added at the end of the worskpace model !!!
     this new node contains 2 src subnode, 1 with the directory icon (workspace model), and another with the package icon (java model)
     these 2 subnodes contains all the changes, so i have 3 times the changes in 2 project nodes...
     => this is a mess !!!!

I have reproduced these steps twice, but i can't reproduce the original exception.
Comment 2 utilisateur_768 CLA 2009-01-09 06:55:48 EST
(In reply to comment #1)
> I've restarted eclipse, and the merge.
> Are are the steps:
> ...
> => this is a mess !!!!

If i change the selected model to all, and then to workspace, i can see the changes (the mess is gone).
Comment 3 Olivier Thomann CLA 2009-02-23 13:11:28 EST
I got a similar issue using latest I-build:
Using eclipse.buildId=I20090217-2200
java.version=1.6.0_10
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=fr_CA
Command-line arguments:  -os win32 -ws win32 -arch x86 -debug -consolelog -console file:/D:/eclipse/I1118/eclipse/plugins/org.eclipse.equinox.launcher_1.0.200.v20081201-1815.jar,

org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:3860)
	at org.eclipse.swt.SWT.error(SWT.java:3775)
	at org.eclipse.swt.SWT.error(SWT.java:3746)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:336)
	at org.eclipse.swt.widgets.Control.getParent(Control.java:1344)
	at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.internalRefresh(ContentMergeViewer.java:740)
	at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.refresh(ContentMergeViewer.java:712)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer$ContributorInfo.resetDocument(TextMergeViewer.java:1009)
	at org.eclipse.compare.contentmergeviewer.TextMergeViewer$ContributorInfo.elementDeleted(TextMergeViewer.java:998)
	at org.eclipse.ui.editors.text.TextFileDocumentProvider$FileBufferListener.underlyingFileDeleted(TextFileDocumentProvider.java:335)
	at org.eclipse.core.internal.filebuffers.TextFileBufferManager$7.run(TextFileBufferManager.java:759)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.internal.filebuffers.TextFileBufferManager.fireUnderlyingFileDeleted(TextFileBufferManager.java:757)
	at org.eclipse.core.internal.filebuffers.ResourceFileBuffer.handleFileDeleted(ResourceFileBuffer.java:470)
	at org.eclipse.core.internal.filebuffers.ResourceFileBuffer$4.execute(ResourceFileBuffer.java:169)
	at org.eclipse.core.internal.filebuffers.ResourceFileBuffer$SafeFileChange.run(ResourceFileBuffer.java:86)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3854)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3475)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2388)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2352)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2204)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:499)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:333)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:492)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:556)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:511)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1284)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1260)
Comment 4 Tomasz Zarna CLA 2009-05-13 10:11:41 EDT

*** This bug has been marked as a duplicate of bug 221583 ***