Bug 43385 - NPE from compiler
Summary: NPE from compiler
Status: RESOLVED INVALID
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: PC Linux-GTK
: P3 normal (vote)
Target Milestone: 3.0 M4   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-09-19 17:27 EDT by Jared Burns CLA
Modified: 2003-09-22 12:49 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jared Burns CLA 2003-09-19 17:27:37 EDT
Build 20030917

I was debugging Eclipse, launching Ant and a simple Java program. After working for a little while, 
I got an error when I tried to save the Java editor after commenting out some code. The following 
was printed to the console in my host:

=============== DEBUG MESSAGE: illegal bytecode sequence - method not verified 
================

=============== DEBUG MESSAGE: illegal bytecode sequence - method not verified 
================

java.lang.NullPointerException
	at org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken(Scanner.java:829)
	at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:5611)
	at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:5944)
	at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:5916)
	at org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:4663)
	at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:279)
	at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:551)
	at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:610)
	at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.
process(CompilationUnitProblemFinder.java:168)
	at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.
process(CompilationUnitProblemFinder.java:205)
	at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.
executeOperation(ReconcileWorkingCopyOperation.java:62)
	at org.eclipse.jdt.internal.core.JavaModelOperation.execute(JavaModelOperation.java:366)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:705)
	at org.eclipse.jdt.internal.core.JavaElement.runOperation(JavaElement.java:523)
	at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1031)
	at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1007)
	at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.
reconcile(JavaReconcilingStrategy.java:72)
	at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.
reconcile(JavaReconcilingStrategy.java:99)
	at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:76)
	at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.
run(AbstractReconciler.java:189)
=============== DEBUG MESSAGE: illegal bytecode sequence - method not verified 
================

=============== DEBUG MESSAGE: illegal bytecode sequence - method not verified 
================

Save Failed
Reason:
Save Failed
=============== DEBUG MESSAGE: illegal bytecode sequence - method not verified 
================

java.lang.NullPointerException
	at org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken(Scanner.java:829)
	at org.eclipse.jdt.internal.codeassist.SelectionEngine.checkSelection(SelectionEngine.java:
334)
	at org.eclipse.jdt.internal.codeassist.SelectionEngine.select(SelectionEngine.java:448)
	at org.eclipse.jdt.internal.core.Openable.codeSelect(Openable.java:169)
	at org.eclipse.jdt.internal.core.CompilationUnit.codeSelect(CompilationUnit.java:272)
	at org.eclipse.jdt.internal.core.CompilationUnit.codeSelect(CompilationUnit.java:266)
	at org.eclipse.jdt.internal.ui.text.java.hover.AbstractJavaEditorTextHover.
getHoverInfo(AbstractJavaEditorTextHover.java:95)
	at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.
getHoverInfo(BestMatchHover.java:140)
	at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.
getHoverInfo(JavaEditorTextHoverProxy.java:69)
	at org.eclipse.jface.text.TextViewerHoverManager$2.run(TextViewerHoverManager.java:
119)
java.lang.NullPointerException
	at org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken(Scanner.java:829)
	at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:5611)
	at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:5944)
	at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:5916)
	at org.eclipse.jdt.internal.compiler.SourceElementParser.
parseCompilationUnit(SourceElementParser.java:1041)
	at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:121)
	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:200)
	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:487)
	at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:918)
	at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.
executeOperation(ReconcileWorkingCopyOperation.java:48)
	at org.eclipse.jdt.internal.core.JavaModelOperation.execute(JavaModelOperation.java:366)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:705)
	at org.eclipse.jdt.internal.core.JavaElement.runOperation(JavaElement.java:523)
	at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1031)
	at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1007)
	at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.
reconcile(JavaReconcilingStrategy.java:72)
	at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.
reconcile(JavaReconcilingStrategy.java:99)
	at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:76)
	at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.
run(AbstractReconciler.java:189)
Comment 1 Jared Burns CLA 2003-09-19 17:28:28 EDT
The following was in the log:

!SESSION Sep 19, 2003 14:22:41.994 ---------------------------------------------
java.version=1.4.1-rc
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Command-line arguments: -pdelaunch -data /home/jburns/runtime-workspace -feature org.
eclipse.platform -dev bin -os linux -ws gtk -arch x86 -nl en_US -configuration file:
/home/jburns/target/.metadata/.plugins/org.eclipse.pde.
core/_home_jburns_runtime-workspace/platform.cfg -install file:/home/jburns/host/eclipse/
!ENTRY org.eclipse.ui.workbench 4 2 Sep 19, 2003 14:22:41.998
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken(Scanner.java:829)
	at org.eclipse.jdt.core.JavaConventions.scannedIdentifier(JavaConventions.java:130)
	at org.eclipse.jdt.core.JavaConventions.validateIdentifier(JavaConventions.java:263)
	at org.eclipse.jdt.core.JavaConventions.validateCompilationUnitName(JavaConventions.
java:182)
	at org.eclipse.jdt.internal.core.Util.isValidCompilationUnitName(Util.java:837)
	at org.eclipse.jdt.internal.core.JavaModelManager.create(JavaModelManager.java:260)
	at org.eclipse.jdt.core.JavaCore.create(JavaCore.java:895)
	at org.eclipse.jdt.core.JavaCore.create(JavaCore.java:867)
	at org.eclipse.jdt.internal.ui.javaeditor.JavaSelectMarkerRulerAction.
getCompilationUnit(JavaSelectMarkerRulerAction.java:127)
	at org.eclipse.jdt.internal.ui.javaeditor.JavaSelectMarkerRulerAction.
getJavaAnnotationPosition(JavaSelectMarkerRulerAction.java:90)
	at org.eclipse.jdt.internal.ui.javaeditor.JavaSelectMarkerRulerAction.
update(JavaSelectMarkerRulerAction.java:78)
	at org.eclipse.ui.texteditor.AbstractRulerActionDelegate.
update(AbstractRulerActionDelegate.java:112)
	at org.eclipse.ui.texteditor.AbstractRulerActionDelegate.
setActiveEditor(AbstractRulerActionDelegate.java:84)
	at org.eclipse.ui.internal.EditorPluginAction.editorChanged(EditorPluginAction.java:65)
	at org.eclipse.ui.internal.EditorActionBuilder$EditorContribution.
editorChanged(EditorActionBuilder.java:86)
	at org.eclipse.ui.internal.EditorActionBuilder$ExternalContributor.
setActiveEditor(EditorActionBuilder.java:131)
	at org.eclipse.ui.internal.EditorActionBars.partChanged(EditorActionBars.java:178)
	at org.eclipse.ui.internal.WorkbenchPage$2.run(WorkbenchPage.java:447)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1016)
	at org.eclipse.core.runtime.Platform.run(Platform.java:420)
	at org.eclipse.ui.internal.WorkbenchPage.activatePart(WorkbenchPage.java:439)
	at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:2506)
	at org.eclipse.ui.internal.WorkbenchPage.requestActivation(WorkbenchPage.java:2242)
	at org.eclipse.ui.internal.PartPane.requestActivation(PartPane.java:334)
	at org.eclipse.ui.internal.EditorPane.requestActivation(EditorPane.java:136)
	at org.eclipse.ui.internal.PartPane.setFocus(PartPane.java:356)
	at org.eclipse.ui.internal.EditorWorkbook$2.widgetSelected(EditorWorkbook.java:178)
	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:948)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:972)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:957)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:827)
	at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:1739)
	at org.eclipse.swt.custom.CTabFolder.onMouseDown(CTabFolder.java:1927)
	at org.eclipse.swt.custom.CTabFolder.access$4(CTabFolder.java:1919)
	at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:201)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:948)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1872)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1652)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2037)
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:2020)
	at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:858)
	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:295)
	at org.eclipse.core.launcher.Main.run(Main.java:751)
	at org.eclipse.core.launcher.Main.main(Main.java:587)
Comment 2 Olivier Thomann CLA 2003-09-19 17:54:47 EDT
Could you please provide a test case?
Comment 3 Jared Burns CLA 2003-09-19 19:17:44 EDT
This is the code I was testing with, but I can't reproduce the problem. I swiped the contents of the 
main method except for the last line and hit ctrl+/ to comment it out (so the program would only 
print out the "at Grah..."). I then tried to save and got the error dialog ("save failed"). That's when I 
noticed the errors in the console and found the error in the log.

public class Grah {
  String blah= "blah";
  public static void main(String[] args) {
    System.out.println(args[0]);
    for (int i= 0; i < 10; i++) {
      System.out.println("la");
    }
    new Grah().foo();
    String grah= "grah ";
    String grah1= "grah  ";
    System.err.print("at Grah.main(Grah.java:12)");
  }
public void foo() {
  System.out.println("foo");
  blah= "dah";
}
}
Comment 4 Philipe Mulet CLA 2003-09-22 12:49:53 EDT
Offending line in Scanner is:
			int offset = 0;

Highly suspecting a VM bug...
Please reopen if symptoms persist.