Bug 35352 - NPE when attaching source
Summary: NPE when attaching source
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.1   Edit
Hardware: PC Windows 2000
: P3 major (vote)
Target Milestone: 2.1 RC4   Edit
Assignee: Olivier Thomann CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 35361 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-03-20 07:01 EST by Martin Aeschlimann CLA
Modified: 2003-03-28 06:45 EST (History)
1 user (show)

See Also:


Attachments
Patch to apply to JDT/Core head. (2.74 KB, patch)
2003-03-20 12:18 EST, Olivier Thomann CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Aeschlimann CLA 2003-03-20 07:01:30 EST
20030319

- Add jre_1.4_1_SR3 to the JRE, set it to default (no source attached)
- Open a 'Applet', press the 'Attach Source'
- Set source attachment to 'src.zip' from either
  Sun JDK 1.4.0 Beta 3
or
  SUN jdk1.4.1_b14

The outliner starts flashing for several seconds, the log is filled with NPE's

I can reproduce it be setting the source attchment again to nothing, and 
opening the file & press 'Attach Source'

No problems when the 'Source attachment' property dialog is used.


!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable 
(java.lang.NullPointerException)
	at org.eclipse.swt.SWT.error(SWT.java:2320)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java(Compiled Code))
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.block
(ModalContext.java(Compiled Code))
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.block
(ModalContext.java(Compiled Code))
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.block
(ModalContext.java(Compiled Code))
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:261)
	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run
(ProgressMonitorDialog.java:357)
	at 
org.eclipse.jdt.internal.ui.wizards.buildpaths.SourceAttachmentDialog.okPressed
(SourceAttachmentDialog.java:135)
	at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:256)
	at org.eclipse.jface.dialogs.Dialog$1.widgetSelected(Dialog.java:423)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.jface.window.Window.runEventLoop(Window.java(Compiled 
Code))
	at org.eclipse.jface.window.Window.open(Window.java:563)
	at 
org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$3.widgetSelected
(ClassFileEditor.java:252)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:291)
	at org.eclipse.core.launcher.Main.run(Main.java:747)
	at org.eclipse.core.launcher.Main.main(Main.java:583)
!ENTRY org.eclipse.ui 4 4 Mar 20, 2003 12:42:05.998
!MESSAGE 
*** Stack trace of contained exception ***
!ENTRY org.eclipse.ui 4 0 Mar 20, 2003 12:42:05.998
!MESSAGE java.lang.NullPointerException
!STACK 0
java.lang.NullPointerException
	at 
	at org.eclipse.jdt.internal.core.SourceMapper.mapSource
(SourceMapper.java:1036)
	at org.eclipse.jdt.internal.core.ClassFile.openBuffer
(ClassFile.java:407)
	at org.eclipse.jdt.internal.core.Openable.getBuffer(Openable.java
(Compiled Code))
	at org.eclipse.jdt.internal.core.ClassFile.getSourceRange
(ClassFile.java:291)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.verifyInput
(ClassFileEditor.java:581)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.doSetInput
(ClassFileEditor.java:524)
	at org.eclipse.ui.texteditor.AbstractTextEditor.setInput
(AbstractTextEditor.java:2337)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$4.run
(ClassFileEditor.java:617)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java(Compiled Code))
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java(Compiled Code))
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.block
(ModalContext.java(Compiled Code))
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.block
(ModalContext.java(Compiled Code))
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.block
(ModalContext.java(Compiled Code))
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:261)
	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run
(ProgressMonitorDialog.java:357)
	at 
org.eclipse.jdt.internal.ui.wizards.buildpaths.SourceAttachmentDialog.okPressed
(SourceAttachmentDialog.java:135)
	at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:256)
	at org.eclipse.jface.dialogs.Dialog$1.widgetSelected(Dialog.java:423)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.jface.window.Window.runEventLoop(Window.java(Compiled 
Code))
	at org.eclipse.jface.window.Window.open(Window.java:563)
	at 
org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$3.widgetSelected
(ClassFileEditor.java:252)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:291)
	at org.eclipse.core.launcher.Main.run(Main.java:747)
	at org.eclipse.core.launcher.Main.main(Main.java:583)
!ENTRY org.eclipse.ui 4 4 Mar 20, 2003 12:42:07.70
!MESSAGE Unhandled exception caught in event loop.
!ENTRY org.eclipse.ui 4 0 Mar 20, 2003 12:42:07.70
!MESSAGE java.lang.NullPointerException
!STACK 0
java.lang.NullPointerException
	at 
	at org.eclipse.jdt.internal.core.SourceMapper.mapSource
(SourceMapper.java:1036)
	at org.eclipse.jdt.internal.core.ClassFile.openBuffer
(ClassFile.java:407)
	at org.eclipse.jdt.internal.core.Openable.getBuffer(Openable.java
(Compiled Code))
	at org.eclipse.jdt.internal.core.ClassFile.getSourceRange
(ClassFile.java:291)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.verifyInput
(ClassFileEditor.java:581)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.access$0
(ClassFileEditor.java:572)
	at 
org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$3.widgetSelected
(ClassFileEditor.java:253)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:291)
	at org.eclipse.core.launcher.Main.run(Main.java:747)
	at org.eclipse.core.launcher.Main.main(Main.java:583)
!ENTRY org.eclipse.ui 4 4 Mar 20, 2003 12:42:08.21
!MESSAGE Unhandled exception caught in event loop.
!ENTRY org.eclipse.ui 4 0 Mar 20, 2003 12:42:08.51
!MESSAGE Failed to execute runnable (java.lang.NullPointerException)
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable 
(java.lang.NullPointerException)
	at org.eclipse.swt.SWT.error(SWT.java:2320)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:291)
	at org.eclipse.core.launcher.Main.run(Main.java:747)
	at org.eclipse.core.launcher.Main.main(Main.java:583)
!ENTRY org.eclipse.ui 4 4 Mar 20, 2003 12:42:08.261
!MESSAGE 
*** Stack trace of contained exception ***
!ENTRY org.eclipse.ui 4 0 Mar 20, 2003 12:42:08.281
!MESSAGE java.lang.NullPointerException
!STACK 0
java.lang.NullPointerException
	at 
	at org.eclipse.jdt.internal.core.SourceMapper.mapSource
(SourceMapper.java:1036)
	at org.eclipse.jdt.internal.core.ClassFile.openBuffer
(ClassFile.java:407)
	at org.eclipse.jdt.internal.core.Openable.getBuffer(Openable.java
(Compiled Code))
	at org.eclipse.jdt.internal.core.ClassFile.getSourceRange
(ClassFile.java:291)
	at 
org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.probeInputForSource
(ClassFileEditor.java:561)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.doSetInput
(ClassFileEditor.java:500)
	at org.eclipse.ui.texteditor.AbstractTextEditor.setInput
(AbstractTextEditor.java:2337)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$4.run
(ClassFileEditor.java:617)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java(Compiled Code))
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:291)
	at org.eclipse.core.launcher.Main.run(Main.java:747)
	at org.eclipse.core.launcher.Main.main(Main.java:583)
!ENTRY org.eclipse.ui 4 4 Mar 20, 2003 12:42:09.353
!MESSAGE Unhandled exception caught in event loop.
!ENTRY org.eclipse.ui 4 0 Mar 20, 2003 12:42:09.353
!MESSAGE Failed to execute runnable (java.lang.NullPointerException)
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable 
(java.lang.NullPointerException)
	at org.eclipse.swt.SWT.error(SWT.java:2320)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:291)
	at org.eclipse.core.launcher.Main.run(Main.java:747)
	at org.eclipse.core.launcher.Main.main(Main.java:583)
Comment 1 Philipe Mulet CLA 2003-03-20 07:23:47 EST
Offending line is:
		this.mapSource(type, contents, null);    !?!?

Martin, which VM are you running on ? Wondering if some frames are hidden...
Comment 2 Martin Aeschlimann CLA 2003-03-20 08:01:22 EST
I'm running on ibm_jdk1.3.1_SR1.
It looks like the stack is not complete. Maybe this is a JIT bug.
Comment 3 Martin Aeschlimann CLA 2003-03-20 08:19:08 EST
When using IBM JRE 1.3.1 SR3 the stacktrace is more informative

java.lang.NullPointerException
	at org.eclipse.jdt.internal.core.SourceMapper.mapSource
(SourceMapper.java:1052)
	at org.eclipse.jdt.internal.core.SourceMapper.mapSource
(SourceMapper.java:1036)
	at org.eclipse.jdt.internal.core.ClassFile.openBuffer
(ClassFile.java:407)
	at org.eclipse.jdt.internal.core.Openable.getBuffer(Openable.java:193)
	at org.eclipse.jdt.internal.core.ClassFile.getSourceRange
(ClassFile.java:291)
	at 
org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.probeInputForSource
(ClassFileEditor.java:561)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.doSetInput
(ClassFileEditor.java:500)
	at org.eclipse.ui.texteditor.AbstractTextEditor.setInput
(AbstractTextEditor.java:2337)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$4.run
(ClassFileEditor.java:617)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java:98)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:1819)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1553)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:583)
	at org.eclipse.jface.window.Window.open(Window.java:563)
	at org.eclipse.ui.dialogs.PropertyDialogAction.run
(PropertyDialogAction.java:164)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:842)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:456)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent
(ActionContributionItem.java:403)
	at org.eclipse.jface.action.ActionContributionItem.access$0
(ActionContributionItem.java:397)
	at 
org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent
(ActionContributionItem.java:72)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java
(Compiled Code))
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:840)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1842)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1549)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1402)
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:291)
	at org.eclipse.core.launcher.Main.run(Main.java:747)
	at org.eclipse.core.launcher.Main.main(Main.java:583)
Comment 4 Olivier Thomann CLA 2003-03-20 09:24:03 EST
What is that jre_1.4_1_SR3? Did you mean IBM 1.3.1 SR3?
Comment 5 Olivier Thomann CLA 2003-03-20 09:24:38 EST
*** Bug 35361 has been marked as a duplicate of this bug. ***
Comment 6 Olivier Thomann CLA 2003-03-20 09:26:35 EST
The NPE points to this line:
if (this.fSourceRanges.get(type) != null) return (searchedElement != null) ? 
this.getNameRange(searchedElement) : null;

I am investigating as soon as you tell me what is that JRE 1.4.1 SR3 VM.
Comment 7 Olivier Thomann CLA 2003-03-20 09:40:12 EST
Using IBM1.3.1SR2 to run the test case I cannot reproduce it.
Here are my steps:
1) Start a new workspace
2) Switch to the Java perspective
3) Create a new project
4) Check that the JRE is the IBM 1.3.1 SR2
5) Open java.applet.Applet in rt.jar
6) Click on Attach source
7) Select src.zip from a JDK1.4.1

At this point I don't get a NPE. It works perfectly well and I get the source 
for the java.applet.Applet class.

Please try these steps and let me know if they fail or work. If they fail, try 
with another VM like Sun 1.4.1.
Comment 8 Martin Aeschlimann CLA 2003-03-20 09:59:45 EST
No 1.4 jvm's involved, all ibm 1.3.1

SR3 means: ibm-jre-n131p_SR3-win32-x86-1.zip
Comment 9 Martin Aeschlimann CLA 2003-03-20 10:01:35 EST
I also could not reproduce it with the given setps in an empty workspace.
But in my other worspace witch I created today and has eclipse selfhosting 
plugins installed I have it 100% reproducible.
Comment 10 Martin Aeschlimann CLA 2003-03-20 10:13:43 EST
Just reproduced again:
1. Start eclipse with new workbench (ibm_jdk1.3.1p_SR3)
2. import jdt.ui and all required as binary plugins
3. Open Applet, press teh attach source button, attach src.zip (from SUN)
4. Editor start flickering for 5 sec.

Note that there is a new stacktrace contained as well.

If the bug does not show up after step for, repeat by clearing the source 
attachment from rt.jar and set it again.

java.lang.NullPointerException
	at org.eclipse.jdt.internal.core.SourceMapper.setSourceRange
(SourceMapper.java:1147)
	at org.eclipse.jdt.internal.core.SourceMapper.exitMethod
(SourceMapper.java:728)
	at org.eclipse.jdt.internal.core.SourceMapper.exitConstructor
(SourceMapper.java:684)
	at 
org.eclipse.jdt.internal.compiler.SourceElementParser.notifySourceElementRequest
or(SourceElementParser.java:752)
	at 
org.eclipse.jdt.internal.compiler.SourceElementParser.notifySourceElementRequest
or(SourceElementParser.java:989)
	at 
org.eclipse.jdt.internal.compiler.SourceElementParser.notifySourceElementRequest
or(SourceElementParser.java:600)
	at 
org.eclipse.jdt.internal.compiler.SourceElementParser.parseCompilationUnit
(SourceElementParser.java:1062)
	at org.eclipse.jdt.internal.core.SourceMapper.mapSource
(SourceMapper.java:1091)
	at org.eclipse.jdt.internal.core.SourceMapper.mapSource
(SourceMapper.java:1036)
	at org.eclipse.jdt.internal.core.ClassFile.openBuffer
(ClassFile.java:407)
	at org.eclipse.jdt.internal.core.Openable.getBuffer(Openable.java:193)
	at org.eclipse.jdt.internal.core.ClassFile.getSourceRange
(ClassFile.java:291)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.verifyInput
(ClassFileEditor.java:581)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.doSetInput
(ClassFileEditor.java:524)
	at org.eclipse.ui.texteditor.AbstractTextEditor.setInput
(AbstractTextEditor.java:2337)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$4.run
(ClassFileEditor.java:617)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java(Inlined 
Compiled Code))
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java(Compiled Code))
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java
(Inlined Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:291)
	at org.eclipse.core.launcher.Main.run(Main.java:747)
	at org.eclipse.core.launcher.Main.main(Main.java:583)
!ENTRY org.eclipse.ui 4 4 Mar 20, 2003 16:05:14.454
!MESSAGE Unhandled exception caught in event loop.
!ENTRY org.eclipse.ui 4 0 Mar 20, 2003 16:05:16.257
!MESSAGE Failed to execute runnable (java.lang.NullPointerException)
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable 
(java.lang.NullPointerException)
	at org.eclipse.swt.SWT.error(SWT.java:2320)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java(Compiled Code))
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java
(Inlined Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:291)
	at org.eclipse.core.launcher.Main.run(Main.java:747)
	at org.eclipse.core.launcher.Main.main(Main.java:583)
!ENTRY org.eclipse.ui 4 4 Mar 20, 2003 16:05:16.257
!MESSAGE 
*** Stack trace of contained exception ***
!ENTRY org.eclipse.ui 4 0 Mar 20, 2003 16:05:16.257
!MESSAGE java.lang.NullPointerException
!STACK 0
java.lang.NullPointerException
	at org.eclipse.jdt.internal.core.SourceMapper.mapSource
(SourceMapper.java:1069)
	at org.eclipse.jdt.internal.core.SourceMapper.mapSource
(SourceMapper.java:1036)
	at org.eclipse.jdt.internal.core.ClassFile.openBuffer
(ClassFile.java:407)
	at org.eclipse.jdt.internal.core.Openable.getBuffer(Openable.java:193)
	at org.eclipse.jdt.internal.core.ClassFile.getSourceRange
(ClassFile.java:291)
	at 
org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.probeInputForSource
(ClassFileEditor.java:561)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.doSetInput
(ClassFileEditor.java:500)
	at org.eclipse.ui.texteditor.AbstractTextEditor.setInput
(AbstractTextEditor.java:2337)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$4.run
(ClassFileEditor.java:617)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java(Inlined 
Compiled Code))
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java(Compiled Code))
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java
(Inlined Compiled Code))
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java
(Compiled Code))
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:291)
	at org.eclipse.core.launcher.Main.run(Main.java:747)
	at org.eclipse.core.launcher.Main.main(Main.java:583)
Comment 11 Martin Aeschlimann CLA 2003-03-20 10:18:56 EST
This is weaird. The last stack trace does not make sense at all. 
(SourceMapper.java:1069) is a 'try' statement.
I just validated again, I'm running on 20030319
Comment 12 Olivier Thomann CLA 2003-03-20 10:21:14 EST
Try your steps with another VM like Sun 1.3.1 or disable the jit and try again. 
I will try to reproduce on my side.
Comment 13 Martin Aeschlimann CLA 2003-03-20 10:26:38 EST
Tried with sun jdk1.4.1_b18, again starting from an empty workspace.

Looking at the source it is possible that fSourceRanges is null if the 
SourceMapper is created using the default constructor or if it is closed


java.lang.NullPointerException
	at org.eclipse.jdt.internal.core.SourceMapper.mapSource
(SourceMapper.java:1052)
	at org.eclipse.jdt.internal.core.SourceMapper.mapSource
(SourceMapper.java:1036)
	at org.eclipse.jdt.internal.core.ClassFile.openBuffer
(ClassFile.java:407)
	at org.eclipse.jdt.internal.core.Openable.getBuffer(Openable.java:193)
	at org.eclipse.jdt.internal.core.ClassFile.getSourceRange
(ClassFile.java:291)
	at 
org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.probeInputForSource
(ClassFileEditor.java:561)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.doSetInput
(ClassFileEditor.java:500)
	at org.eclipse.ui.texteditor.AbstractTextEditor.setInput
(AbstractTextEditor.java:2337)
	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$4.run
(ClassFileEditor.java:617)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java:98)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:1819)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1553)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.block
(ModalContext.java:136)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:261)
	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run
(ProgressMonitorDialog.java:357)
	at 
org.eclipse.jdt.internal.ui.wizards.buildpaths.SourceAttachmentDialog.okPressed
(SourceAttachmentDialog.java:135)
	at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:256)
	at org.eclipse.jface.dialogs.Dialog$1.widgetSelected(Dialog.java:423)
	at org.eclipse.swt.widgets.TypedListener.handleEvent
(TypedListener.java:91)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:81)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:840)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1842)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1549)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:583)
	at org.eclipse.jface.window.Window.open(Window.java:563)
	at 
org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$3.widgetSelected
(ClassFileEditor.java:252)
	at org.eclipse.swt.widgets.TypedListener.handleEvent
(TypedListener.java:91)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:81)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:840)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1842)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1549)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1402)
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
	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:324)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:291)
	at org.eclipse.core.launcher.Main.run(Main.java:747)
	at org.eclipse.core.launcher.Main.main(Main.java:583)
!ENTRY org.eclipse.ui 4 4 Mar 20, 2003 16:18:44.208
!MESSAGE Unhandled exception caught in event loop.
Comment 14 Olivier Thomann CLA 2003-03-20 12:18:22 EST
Created attachment 4267 [details]
Patch to apply to JDT/Core head.

Apply this patch. I should fix the NPE. I found an refresh issue. The UI is
refreshed too many times. See bug 35386.
Comment 15 Erich Gamma CLA 2003-03-21 10:37:07 EST
+1
Comment 16 Olivier Thomann CLA 2003-03-24 09:44:48 EST
Fixed and released in 2.1 stream.
Comment 17 Olivier Thomann CLA 2003-03-24 09:45:43 EST
Seems that they should stay open.
Comment 18 Kai-Uwe Maetzel CLA 2003-03-24 12:31:13 EST
+1
Comment 19 Dirk Baeumer CLA 2003-03-24 13:02:48 EST
+1
Comment 20 Darin Wright CLA 2003-03-24 13:29:35 EST
+1
Comment 21 Philipe Mulet CLA 2003-03-25 11:59:36 EST
Fix released for integration
Comment 22 David Audel CLA 2003-03-28 06:45:46 EST
Verified.