Community
Participate
Working Groups
PDT 3.0.0.v20110516-1100 What steps will reproduce the problem? 1. Do not remember actually, but the error seems simple enough. There are about 30 similar errors in the log in the 1 minute period of time. -- Error Details -- Date: Fri Dec 09 22:29:18 EET 2011 Message: Problems occurred when invoking code from plug-in: "org.eclipse.compare". Severity: Error Product: Eclipse SDK 3.7.1.v201109091335 (org.eclipse.sdk.ide) Plugin: org.eclipse.compare Session Data: eclipse.buildId=M20110909-1335 java.version=1.6.0_22 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ru_RU Command-line arguments: -os win32 -ws win32 -arch x86 Exception Stack Trace: java.lang.ClassCastException: org.eclipse.php.internal.ui.compare.PhpMergeViewer cannot be cast to org.eclipse.compare.contentmergeviewer.ContentMergeViewer at org.eclipse.compare.CompareEditorInput.setDirty(CompareEditorInput.java:1177) at org.eclipse.compare.CompareEditorInput.access$1(CompareEditorInput.java:1174) at org.eclipse.compare.CompareEditorInput$1.propertyChange(CompareEditorInput.java:261) at org.eclipse.compare.internal.Utilities$2.run(Utilities.java:159) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.compare.internal.Utilities$1.run(Utilities.java:157) at org.eclipse.compare.internal.Utilities.firePropertyChange(Utilities.java:171) at org.eclipse.compare.internal.Utilities.firePropertyChange(Utilities.java:145) at org.eclipse.php.internal.ui.compare.ContentMergeViewer.fireDirtyState(ContentMergeViewer.java:1211) at org.eclipse.php.internal.ui.compare.ContentMergeViewer.setLeftDirty(ContentMergeViewer.java:1230) at org.eclipse.php.internal.ui.compare.TextMergeViewer.flushContent(TextMergeViewer.java:4677) at org.eclipse.php.internal.ui.compare.ContentMergeViewer.flush(ContentMergeViewer.java:1278) at org.eclipse.compare.CompareEditorInput.flushViewer(CompareEditorInput.java:1293) at org.eclipse.compare.CompareEditorInput.flushViewers(CompareEditorInput.java:1262) at org.eclipse.compare.CompareEditorInput.saveChanges(CompareEditorInput.java:1247) at org.eclipse.team.internal.ui.synchronize.LocalResourceSaveableComparison.flushViewers(LocalResourceSaveableComparison.java:158) at org.eclipse.team.internal.ui.synchronize.LocalResourceSaveableComparison.performSave(LocalResourceSaveableComparison.java:132) at org.eclipse.team.internal.ui.synchronize.LocalResourceSaveableComparison$1.contentChanged(LocalResourceSaveableComparison.java:88) at org.eclipse.compare.internal.ContentChangeNotifier$2.run(ContentChangeNotifier.java:67) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.compare.internal.ContentChangeNotifier$1.run(ContentChangeNotifier.java:65) at org.eclipse.compare.internal.ContentChangeNotifier.fireContentChanged(ContentChangeNotifier.java:79) at org.eclipse.compare.BufferedContent.fireContentChanged(BufferedContent.java:128) at org.eclipse.team.internal.ui.synchronize.LocalResourceTypedElement.fireContentChanged(LocalResourceTypedElement.java:298) at org.eclipse.team.internal.ui.synchronize.LocalResourceTypedElement$1.handleDocumentFlushed(LocalResourceTypedElement.java:149) at org.eclipse.team.internal.ui.synchronize.EditableSharedDocumentAdapter.flushDocument(EditableSharedDocumentAdapter.java:171) at org.eclipse.php.internal.ui.compare.TextMergeViewer$ContributorInfo.flush(TextMergeViewer.java:824) at org.eclipse.php.internal.ui.compare.TextMergeViewer.flush(TextMergeViewer.java:4697) at org.eclipse.php.internal.ui.compare.TextMergeViewer.flushContent(TextMergeViewer.java:4676) at org.eclipse.php.internal.ui.compare.ContentMergeViewer.flush(ContentMergeViewer.java:1278) at org.eclipse.php.internal.ui.compare.ContentMergeViewer$SaveAction.run(ContentMergeViewer.java:91) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119) at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476) at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508) at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:468) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:786) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:885) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:567) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:508) at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:123) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1104) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1100) at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1509) at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4640) at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4528) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4972) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2531) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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:344) 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:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Bump for an annoying error that has been there since Eclipse 3.7 came out. Obviously PDT is not up to date with 3.7 builds yet nobody has bothered to fix this! It is impossible to normally compare/merge files with this error because it doesn't allow saving the modified file most of the time (context menu is gone and Ctrl+S simple doesn't do anything, opening file separately reveals no changes have saved). I have no idea why but on very rare occasions this error doesn't pop up and the files can be saved. It is pure luck though, most of the time the ClassCastException jumps into your face. Steps for reproducing: 1) install Eclipse 3.7+ and PDT from the `releases` update site (for 3.7 it's http://download.eclipse.org/releases/indigo). 2) make a simple project with at several PHP files (to compare obviously) 3) select 2 of them and choose `Compare to` > `Each other`. For me it usually spits out the ClassCastException and only occasionally does it work like it should. Naturally, the same thing happens when opening SVN or GIT synchronization views and trying to open a comparison between local and remote version. To put it bluntly, this sucks big time. It has been there for at least 7 months and even now it isn't fixed.
typo fix, by `context menu is gone` I meant `context menu entry 'Save' is gone`
it has been fixed in the latest code.
By that you mean some released builds or latest in some repository? If it's the former one, when can we expect it to be rolled out to the main update site?
Edit: I meant "the latter one"...
IMO the problem is caused by an API break in the platform / compare code. See also https://bugs.eclipse.org/bugs/show_bug.cgi?id=383893.
Re-tested in PDT 3.0.1.v201206201546. No longer reproduced. Closing... Kalin Yanev kalin.a@zend.com