Bug 9035 - I got an NPE
Summary: I got an NPE
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P1 normal (vote)
Target Milestone: 2.0 M3   Edit
Assignee: Olivier Thomann CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-02-04 10:36 EST by Kirill Frolov CLA
Modified: 2002-02-06 13:56 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kirill Frolov CLA 2002-02-04 10:36:44 EST
When I saved a Java file I got the following error.

Log: Mon Feb 04 18:38:38 MSK 2002
2 org.eclipse.core.resources 2 Problems occurred when invoking code from plug-
in: org.eclipse.core.resources.
java.lang.NullPointerException
	at org.eclipse.jdt.internal.compiler.parser.Parser.consumeToken
(Parser.java:3935)
	at org.eclipse.jdt.internal.compiler.parser.Parser.parse
(Parser.java:6490)
	at org.eclipse.jdt.internal.compiler.parser.Parser.parse
(Parser.java:6685)
	at 
org.eclipse.jdt.internal.compiler.SourceElementParser.parseCompilationUnit
(SourceElementParser.java:968)
	at org.eclipse.jdt.internal.core.CompilationUnit.generateInfos
(CompilationUnit.java:207)
	at org.eclipse.jdt.internal.core.Openable.buildStructure
(Openable.java:62)
	at org.eclipse.jdt.internal.core.Openable.openWhenClosed
(Openable.java:405)
	at org.eclipse.jdt.internal.core.JavaElement.openHierarchy
(JavaElement.java:473)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo
(JavaElement.java:269)
	at org.eclipse.jdt.internal.core.CompilationUnit.getSourceRange
(CompilationUnit.java:397)
	at 
org.eclipse.jdt.internal.ui.viewsupport.ErrorTickImageProvider.computeExtraAdorn
mentFlags(ErrorTickImageProvider.java:60)
	at 
org.eclipse.jdt.internal.ui.viewsupport.JavaElementImageProvider.computeAdornmen
tFlags(JavaElementImageProvider.java:268)
	at 
org.eclipse.jdt.internal.ui.viewsupport.JavaElementImageProvider.getJavaImageDes
criptor(JavaElementImageProvider.java:113)
	at 
org.eclipse.jdt.internal.ui.viewsupport.JavaElementImageProvider.getImageLabel
(JavaElementImageProvider.java:87)
	at 
org.eclipse.jdt.internal.ui.javaeditor.JavaEditorErrorTickUpdater.modelChanged
(JavaEditorErrorTickUpdater.java:71)
	at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged
(AnnotationModel.java:160)
	at org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel.update
(ResourceMarkerAnnotationModel.java:123)
	at org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel.access$2
(ResourceMarkerAnnotationModel.java:103)
	at 
org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel$ResourceDeltaVisitor.vis
it(ResourceMarkerAnnotationModel.java:62)
	at org.eclipse.core.internal.events.ResourceDelta.accept
(ResourceDelta.java:52)
	at org.eclipse.core.internal.events.ResourceDelta.accept
(ResourceDelta.java:56)
	at org.eclipse.core.internal.events.ResourceDelta.accept
(ResourceDelta.java:56)
	at org.eclipse.core.internal.events.ResourceDelta.accept
(ResourceDelta.java:56)
	at org.eclipse.core.internal.events.ResourceDelta.accept
(ResourceDelta.java:56)
	at org.eclipse.core.internal.events.ResourceDelta.accept
(ResourceDelta.java:56)
	at org.eclipse.core.internal.events.ResourceDelta.accept
(ResourceDelta.java:56)
	at org.eclipse.core.internal.events.ResourceDelta.accept
(ResourceDelta.java:56)
	at org.eclipse.core.internal.events.ResourceDelta.accept
(ResourceDelta.java:56)
	at org.eclipse.core.internal.events.ResourceDelta.accept
(ResourceDelta.java:43)
	at 
org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel$ResourceChangeListener.r
esourceChanged(ResourceMarkerAnnotationModel.java:46)
	at org.eclipse.core.internal.events.NotificationManager$1.run
(NotificationManager.java:125)
	at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:821)
	at org.eclipse.core.runtime.Platform.run(Platform.java:395)
	at org.eclipse.core.internal.events.NotificationManager.notify
(NotificationManager.java:140)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges
(NotificationManager.java:43)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges
(NotificationManager.java:64)
	at org.eclipse.core.internal.resources.Workspace.broadcastChanges
(Workspace.java:121)
	at org.eclipse.core.internal.resources.Workspace.endOperation
(Workspace.java:709)
	at org.eclipse.core.internal.resources.Workspace.run
(Workspace.java:1237)
	at org.eclipse.ui.actions.WorkspaceModifyOperation.run
(WorkspaceModifyOperation.java:78)
	at org.eclipse.ui.texteditor.AbstractTextEditor.performSaveOperation
(AbstractTextEditor.java:1485)
	at 
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSaveOperatio
n(CompilationUnitEditor.java:601)
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave
(CompilationUnitEditor.java:649)
	at org.eclipse.ui.internal.EditorManager$9.run(EditorManager.java:785)
	at org.eclipse.jface.operation.ModalContext.runInCurrentThread
(ModalContext.java:296)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:249)
	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run
(ProgressMonitorDialog.java:335)
	at org.eclipse.ui.internal.EditorManager.runProgressMonitorOperation
(EditorManager.java:643)
	at org.eclipse.ui.internal.EditorManager.saveEditor
(EditorManager.java:790)
	at org.eclipse.ui.internal.WorkbenchPage.saveEditor
(WorkbenchPage.java:1328)
	at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:32)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:452)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:407)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent
(ActionContributionItem.java:361)
	at org.eclipse.jface.action.ActionContributionItem.access$0
(ActionContributionItem.java:352)
	at 
org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent
(ActionContributionItem.java:47)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:74)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:637)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1413)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1205)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:844)
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:827)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:878)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:321)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:151)
	at org.eclipse.core.launcher.Main.run(Main.java:502)
	at org.eclipse.core.launcher.Main.main(Main.java:362)
Log: Mon Feb 04 18:38:38 MSK 2002
1 org.eclipse.core.resources 4 Save Failed
Log: Mon Feb 04 18:38:38 MSK 2002
2 org.eclipse.ui 0 Save Failed
java.lang.NullPointerException
	at org.eclipse.jdt.internal.compiler.parser.Parser.consumeToken
(Parser.java:3935)
	at org.eclipse.jdt.internal.compiler.parser.Parser.parse
(Parser.java:6490)
	at org.eclipse.jdt.internal.compiler.parser.Parser.parse
(Parser.java:6685)
	at 
org.eclipse.jdt.internal.compiler.SourceElementParser.parseCompilationUnit
(SourceElementParser.java:968)
	at org.eclipse.jdt.internal.core.CompilationUnit.generateInfos
(CompilationUnit.java:207)
	at org.eclipse.jdt.internal.core.Openable.buildStructure
(Openable.java:62)
	at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent
(CompilationUnit.java:481)
	at org.eclipse.jdt.internal.core.Openable.save(Openable.java:448)
	at 
org.eclipse.jdt.internal.core.CommitWorkingCopyOperation.executeOperation
(CommitWorkingCopyOperation.java:103)
	at org.eclipse.jdt.internal.core.JavaModelOperation.execute
(JavaModelOperation.java:268)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run
(JavaModelOperation.java:476)
	at org.eclipse.core.internal.resources.Workspace.run
(Workspace.java:1232)
	at org.eclipse.jdt.internal.core.JavaModelManager.runOperation
(JavaModelManager.java:1136)
	at org.eclipse.jdt.internal.core.JavaElement.runOperation
(JavaElement.java:526)
	at org.eclipse.jdt.internal.core.WorkingCopy.commit(WorkingCopy.java:42)
	at 
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.doSaveDoc
ument(CompilationUnitDocumentProvider.java:285)
	at org.eclipse.ui.texteditor.AbstractDocumentProvider.saveDocument
(AbstractDocumentProvider.java:358)
	at org.eclipse.ui.texteditor.AbstractTextEditor$8.execute
(AbstractTextEditor.java:1467)
	at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run
(WorkspaceModifyOperation.java:64)
	at org.eclipse.core.internal.resources.Workspace.run
(Workspace.java:1232)
	at org.eclipse.ui.actions.WorkspaceModifyOperation.run
(WorkspaceModifyOperation.java:78)
	at org.eclipse.ui.texteditor.AbstractTextEditor.performSaveOperation
(AbstractTextEditor.java:1485)
	at 
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSaveOperatio
n(CompilationUnitEditor.java:601)
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave
(CompilationUnitEditor.java:649)
	at org.eclipse.ui.internal.EditorManager$9.run(EditorManager.java:785)
	at org.eclipse.jface.operation.ModalContext.runInCurrentThread
(ModalContext.java:296)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:249)
	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run
(ProgressMonitorDialog.java:335)
	at org.eclipse.ui.internal.EditorManager.runProgressMonitorOperation
(EditorManager.java:643)
	at org.eclipse.ui.internal.EditorManager.saveEditor
(EditorManager.java:790)
	at org.eclipse.ui.internal.WorkbenchPage.saveEditor
(WorkbenchPage.java:1328)
	at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:32)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:452)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:407)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent
(ActionContributionItem.java:361)
	at org.eclipse.jface.action.ActionContributionItem.access$0
(ActionContributionItem.java:352)
	at 
org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent
(ActionContributionItem.java:47)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:74)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:637)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1413)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1205)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:844)
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:827)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:878)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:321)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:151)
	at org.eclipse.core.launcher.Main.run(Main.java:502)
	at org.eclipse.core.launcher.Main.main(Main.java:362)
Comment 1 Olivier Thomann CLA 2002-02-04 14:06:08 EST
Could you please give us mnore details about the source you saved?
What is your build number?
Without this information it is quite difficult to track down the problem.
Thanks for the report.
Comment 2 Kirill Frolov CLA 2002-02-06 02:29:55 EST
Build is 20020125 (latest stable)
The file I was edited was quite large (above 50k) and it was 
quite ordinary Java source file. Particularly the implementation class for entity ejb if it 
matters. I repeat, the file was very ordinary. And this exception has never been fired before or 
after. Maybe the reason why it fired - the exact modifications I made... I don't have any idea. 
Well, actually, I don't think it's worth fixing now (if the reason is not obvious to you).
Comment 3 Olivier Thomann CLA 2002-02-06 13:56:39 EST
I don't understand how the NPE is possible. I added a protective null check on the guilty 
line.
Fixed and released in HEAD.