Community
Participate
Working Groups
Im using Eclipse 3.0M7, but this error haunted me since i upgraded to the 3.0 stream (M4). Complete Eclipse data: Version: 3.0.0 Build id: 200402122000 When i make up a new workspace, i can move classes between packages without errors, its definitly working ok. Then i import my old workspace via team project set files (out of the CVS, .project and .classpath are included, .metadata is definitly not), and i cannot move classes between packages anymore. It gives an unspecified error message ("Exception does not provide a detail message") with the option to "Undo" or "Abort". Abort leaves me with "updated" import statements, but no moved classes. "Undo" brings up another error: "An unexpected exception occured while rolling back the refactoring Move. See error log for more details." (OK) So, after both options, my imports are messed up and the classes are still in their original position. Heres a dump of a fresh log when reproducing the error. I think the same issues come up with deleting classes in the java perspective, which doesnt work, too. I searched the bug database, but didnt find this error. So if its a duplicate, just kill it, but give me the bug number of the solution. !SESSION Mrz 11, 2004 11:22:37.516 --------------------------------------------- java.version=1.4.2_02 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE !ENTRY org.eclipse.jdt.core 4 4 Mrz 11, 2004 11:22:37.516 !MESSAGE Background Indexer Crash Recovery !STACK 0 java.lang.NullPointerException at java.util.Hashtable.get(Unknown Source) at java.util.Properties.getProperty(Unknown Source) at org.eclipse.core.runtime.Preferences.getString(Preferences.java:1145) at org.eclipse.jdt.core.JavaCore.getOptions(JavaCore.java:2096) at org.eclipse.jdt.internal.core.JavaProject.getOptions(JavaProject.java:1419) at org.eclipse.jdt.internal.core.search.indexing.SourceIndexer.indexDocument(SourceIndexer.java:57) at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.indexDocument(JavaSearchParticipant.java:105) at org.eclipse.jdt.internal.core.index.impl.IndexImpl.indexDocument(IndexImpl.java:162) at org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexDocument(IndexManager.java:213) at org.eclipse.jdt.internal.core.search.indexing.IndexManager$1.execute(IndexManager.java:521) at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:344) at java.lang.Thread.run(Unknown Source) !ENTRY org.eclipse.jdt.ui 4 4 Mrz 11, 2004 11:33:31.556 !MESSAGE Exception does not provide a detail message !STACK 0 java.lang.NullPointerException at org.eclipse.jdt.internal.corext.refactoring.changes.MoveCompilationUnitChange.getName(MoveCompilationUnitChange.java:39) at org.eclipse.jdt.internal.corext.refactoring.changes.CompilationUnitReorgChange.perform(CompilationUnitReorgChange.java:56) at org.eclipse.jdt.internal.corext.refactoring.CompositeChange.perform(CompositeChange.java:251) at org.eclipse.jdt.internal.corext.refactoring.changes.ValidationStateChange.access$1(ValidationStateChange.java:1) at org.eclipse.jdt.internal.corext.refactoring.changes.ValidationStateChange$2.run(ValidationStateChange.java:174) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1567) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1586) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3164) at org.eclipse.jdt.internal.corext.refactoring.changes.ValidationStateChange.perform(ValidationStateChange.java:177) at org.eclipse.jdt.internal.corext.refactoring.reorg.MoveRefactoring$1.perform(MoveRefactoring.java:135) at org.eclipse.jdt.internal.ui.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:192) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1567) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1586) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3164) at org.eclipse.jdt.internal.ui.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:222) at org.eclipse.jdt.internal.ui.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:159) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1567) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1586) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3164) at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:42) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:302) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:252) at org.eclipse.jdt.internal.ui.refactoring.RefactoringWizardDialog2.run(RefactoringWizardDialog2.java:271) at org.eclipse.jdt.internal.ui.refactoring.PerformRefactoringUtil.performRefactoring(PerformRefactoringUtil.java:35) at org.eclipse.jdt.internal.ui.refactoring.RefactoringWizard.performFinish(RefactoringWizard.java:410) at org.eclipse.jdt.internal.ui.refactoring.UserInputWizardPage.performFinish(UserInputWizardPage.java:118) at org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveWizard$MoveInputPage.performFinish(ReorgMoveWizard.java:91) at org.eclipse.jdt.internal.ui.refactoring.RefactoringWizard.performFinish(RefactoringWizard.java:473) at org.eclipse.jdt.internal.ui.refactoring.RefactoringWizardDialog2.okPressed(RefactoringWizardDialog2.java:395) at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:263) at org.eclipse.jface.dialogs.Dialog$1.widgetSelected(Dialog.java:402) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:89) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:833) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2348) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2029) at org.eclipse.jface.window.Window.runEventLoop(Window.java:647) at org.eclipse.jface.window.Window.open(Window.java:627) at org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringStarter.activate(RefactoringStarter.java:57) at org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveAction.startRefactoring(ReorgMoveAction.java:135) at org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveAction.run(ReorgMoveAction.java:119) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:212) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:188) at org.eclipse.jdt.ui.actions.MoveAction.run(MoveAction.java:123) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:212) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:188) at org.eclipse.jface.action.Action.runWithEvent(Action.java:881) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:536) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:833) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2348) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2029) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1550) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1526) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:265) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:139) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:47) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:257) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:104) 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.core.launcher.Main.basicRun(Main.java:279) at org.eclipse.core.launcher.Main.run(Main.java:742) at org.eclipse.core.launcher.Main.main(Main.java:581) !ENTRY org.eclipse.jdt.ui 4 10001 Mrz 11, 2004 11:33:38.897 !MESSAGE Internal Error !STACK 0 java.lang.reflect.InvocationTargetException at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:313) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:252) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:394) at org.eclipse.ltk.internal.refactoring.ui.ChangeExceptionHandler.performUndo(ChangeExceptionHandler.java:131) at org.eclipse.ltk.internal.refactoring.ui.ChangeExceptionHandler.handle(ChangeExceptionHandler.java:105) at org.eclipse.ltk.internal.refactoring.ui.ChangeExceptionHandler.handle(ChangeExceptionHandler.java:87) at org.eclipse.jdt.internal.ui.refactoring.PerformRefactoringUtil.performRefactoring(PerformRefactoringUtil.java:42) at org.eclipse.jdt.internal.ui.refactoring.RefactoringWizard.performFinish(RefactoringWizard.java:410) at org.eclipse.jdt.internal.ui.refactoring.UserInputWizardPage.performFinish(UserInputWizardPage.java:118) at org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveWizard$MoveInputPage.performFinish(ReorgMoveWizard.java:91) at org.eclipse.jdt.internal.ui.refactoring.RefactoringWizard.performFinish(RefactoringWizard.java:473) at org.eclipse.jdt.internal.ui.refactoring.RefactoringWizardDialog2.okPressed(RefactoringWizardDialog2.java:395) at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:263) at org.eclipse.jface.dialogs.Dialog$1.widgetSelected(Dialog.java:402) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:89) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:833) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2348) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2029) at org.eclipse.jface.window.Window.runEventLoop(Window.java:647) at org.eclipse.jface.window.Window.open(Window.java:627) at org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringStarter.activate(RefactoringStarter.java:57) at org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveAction.startRefactoring(ReorgMoveAction.java:135) at org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveAction.run(ReorgMoveAction.java:119) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:212) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:188) at org.eclipse.jdt.ui.actions.MoveAction.run(MoveAction.java:123) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:212) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:188) at org.eclipse.jface.action.Action.runWithEvent(Action.java:881) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:536) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:833) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2348) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2029) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1550) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1526) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:265) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:139) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:47) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:257) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:104) 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.core.launcher.Main.basicRun(Main.java:279) at org.eclipse.core.launcher.Main.run(Main.java:742) at org.eclipse.core.launcher.Main.main(Main.java:581) Caused by: java.lang.NullPointerException at org.eclipse.jdt.internal.corext.refactoring.changes.UndoTextFileChange.isValid(UndoTextFileChange.java:114) at org.eclipse.jdt.internal.corext.refactoring.CompositeChange.isValid(CompositeChange.java:223) at org.eclipse.jdt.internal.corext.refactoring.changes.ValidationStateChange.isValid(ValidationStateChange.java:162) at org.eclipse.ltk.internal.refactoring.ui.ChangeExceptionHandler$1.run(ChangeExceptionHandler.java:121) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1567) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1586) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3164) at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:42) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:302) ... 50 more
Another noteworthy analysis result: The two test projects i created in the fresh workspace before inserting my old project set are still able to move classes around. It seems to be "corrupted" CVS content. Can this be triggered by the .project or .classpath file? All other files are new or just java source. Some binary content in the project (mostly images) shouldnt crash the indexer?
Move to JDT/UI
This can only happen if the getCU returns null. Daniel, do you have steps to reproduce this. That would be really helpful.
Sorry I wanted to ask if you can provide a workspace that shows the problem.
Yes, of course. I make it as small as possible for the upload. Give me a little time on this.
Hi Dirk, sorry for the delay. My wedding came in between :) i reproduced the bug several times now using the same procedure: - Create a new workspace. - Create new java projects with new packages and new classes. - You can move around (refactor) the classes without problems. - Import a team project set file that checks out existing projects from CVS. (in the attachment i will provide, the Schneide Framework project is the sole project i imported this way.) - Try to move classes in this project: You fail with an exception. The only explanation i have is that somethings hidden in the .project or .classpath file, both are included in the CVS. The referenced jars are included in the uploaded archive, adjust the pathes accordingly. They are referenced through a network share here, so i dont want to include them in the project directly.
Thanks, for prodiving the steps. One more question: can you please check if the files you checked out are read-only.
Sorry, the attachment was 2.3MB, but your Bugzilla only takes up to 1.5MB per file. I deleted all included jars and all classes that needed them (the second exception in the log was when i tried to delete a class in the java perspective - i have to go through the file navigation view), but its still 1.6MB, mostly because of one index file in the .metadata I dont want to delete this one. The files arent write protected. i checked it through the console, they are all accessible. In eclipse, i can edit and save every file (always could). So, you have to download the (already shrunken) workspace here: http://schneide.com/downloads/buggy-workspace.zip Sorry for the inconvenience
Daniel, due to legal reason I am not able to download the workspace from your website. Sorry for that. I see to possibilities: - delete the index from the metadir. It will be reconstructed anyway. It is save to delete the index files from .metadata\.plugins\org.eclipse.jdt.core and the history form .metadata\.plugins\org.eclipse.core.resources\.history. This will make the workspace much smaller. - export the project/projects into a zip file which only contains the source. If it is too much work for you I would prefer solution one. Thanks for your support in that matter.
Hello Dirk, i think its not wise to delete the metadata files. This might be the files containing the error. So i tried it with other compressing algorithms and found RAR (WinRAR) making the archive much smaller (1.25MB). I will upload it as an attachment to this bug and hope you can handle this archive format. Tar/GZip bundled it to 1.58MB, Bzip2 to 1.3MB, so i can provide you a bzip2 archive, too.
Sorry, i get a software error when trying to upload the attachment: ----------------------------------------------------- Software error: INSERT INTO attachments (bug_id, filename, description, mimetype, ispatch, submitter_id, thedata) VALUES (54439, 'buggy-workspace2.rar', 'Small workspace showing the problem', 'application/octet-stream', 0, 6464, 'Rar!\0Ï�s\0\0 \0\0\0\0\0\0\0Ï{tà€/\0\0\0\0\0\0\0\0\0\0\0\0\0 ¢�00\0\0\0\0buggy-workspaceÙ tà€9\0\0\0\0\0\0\0\0\0\0\0\0\0@˜�00\0\0\0\0buggy-workspace\\workspaceµZtà€S\0\0\0\0\0\0\0\0\0\0\0\0\0D˜�003\0\0\0\0buggy-workspace\\workspace\\(HEAD) Schneide Framework—tÀ€^\0ƒ\0\0\0à\0\0\0a¹äø �05>\0 \0\0\0buggy-workspace\\workspace\\(HEAD) Schneide Framework\\.classpath§<*Öý(qí �±bçÛÕñuÍÅäVD-ù|&W9”ŠàÝ_Ã!èjmˆÆ\\=äbl�OÆ\'rT=J:Ó¾e=©µ_õ”¶³MÙIxÁ,È#-8¢K1O�}‰6éhÛC¿h]f q$ ÈÙñ¯QzÛ"™¡0lŒÂ\0\0¿ˆgö©ÿÔõtÀ€^\0\0\0\0\0\0\0< J‘q²\'00>\0 \0\0\0buggy-workspace\\workspace\\(HEAD) Schneide Framework\\.cvsignoregenerated ..... ------------------------------------------------------------------------ What should i do now? I try the bzip2 archive just to be sure.
Daniel, I don't have a good idea yet how I can access the source. I will investigate. However, one more question: which build are you using ? Do you see the problem with the latest integration build I20040413. The problem is that the stack trace you provide doesn't match the code anymore so I should know which build you are using.
Hi Dirk, the build number hasnt changed since my bug report: Version: 3.0.0 Build id: 200402122000 I have this problem since i joined the 3.0 stream (3.0M4). Every milestone build had the same problems, even when i started with a new workspace. Its ok to build new projects, but whenever i checkout projects from the CVS, the problems occur within these projects (the newly created ones stay moveable).
Daniel, we found a problem with restoring handles if the project name contains special characters like ~ (. How do the project names look like in your example. You might want to have a look at bug 47815.
Dirk, you are great! Our projects look like "(HEAD) Schneide Framework" or "(LABRAS_V3) Labras Application". This is exactly the case with the other bug. I mark this one a duplicate of the other, as the other one names the reason and i named only the symptoms. So i can hope for a fix on 3.0M9 and everythings fine. You should think over your data upload policy though. I think i nearly crashed the server when trying to upload the archives. *** This bug has been marked as a duplicate of 47815 ***