Community
Participate
Working Groups
The following class causes a NullPointerException to be thrown: public class AClass { private void aMethod() { assert true : "hello"; } private class AnInnerClass { public void execute() { assert true : "hello"; } } } If the line containing the J2SE 1.4 assert is removed, compilation succeeds. When the assert is uncommented, two symptoms occur: 1) When saving, a dialog appears- Error: Save Failed:null 2) Try saving again, save succeeds, build starts, but fails- Save Problems: Save could not be completed, Reason: Errors during build These are the corresponding errors in the log file: 1) Details: !SESSION Jan 09, 2003 09:25:06.856 -------------------------------- ------------- java.version=1.4.0_01 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_GB Command-line arguments: -os win32 -ws win32 -arch x86 -install file:C:/eclipse/ !ENTRY org.eclipse.ui 4 4 Jan 09, 2003 09:25:06.856 !MESSAGE Save Failed !ENTRY org.eclipse.ui 2 0 Jan 09, 2003 09:25:06.876 !MESSAGE Save Failed !STACK 0 java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.ClassFile.addFieldInfo (ClassFile.java:434) at org.eclipse.jdt.internal.compiler.ClassFile.addFieldInfos (ClassFile.java:579) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode (TypeDeclaration.java:694) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode (TypeDeclaration.java:762) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode (TypeDeclaration.java:709) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode (TypeDeclaration.java:770) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode (CompilationUnitDeclaration.java:158) at org.eclipse.jdt.internal.compiler.Compiler.resolve (Compiler.java:591) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process (CompilationUnitProblemFinder.java:204) at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure (CompilationUnit.java:90) at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent (CompilationUnit.java:664) at org.eclipse.jdt.internal.core.WorkingCopy.reconcile (WorkingCopy.java:446) at org.eclipse.jdt.internal.core.WorkingCopy.reconcile (WorkingCopy.java:421) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.doSaveDo cument(CompilationUnitDocumentProvider.java:903) at org.eclipse.ui.texteditor.AbstractDocumentProvider.saveDocument (AbstractDocumentProvider.java:454) at org.eclipse.ui.texteditor.AbstractTextEditor$11.execute (AbstractTextEditor.java:2772) at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run (WorkspaceModifyOperation.java:65) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1564) at org.eclipse.ui.actions.WorkspaceModifyOperation.run (WorkspaceModifyOperation.java:79) at org.eclipse.ui.texteditor.AbstractTextEditor.performSaveOperation (AbstractTextEditor.java:2790) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSaveOperati on(CompilationUnitEditor.java:849) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave (CompilationUnitEditor.java:913) at org.eclipse.ui.internal.EditorManager$11.run (EditorManager.java:1032) at org.eclipse.ui.internal.EditorManager$8.run(EditorManager.java:901) at org.eclipse.jface.operation.ModalContext.runInCurrentThread (ModalContext.java:296) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:246) at org.eclipse.jface.window.ApplicationWindow$1.run (ApplicationWindow.java:432) at org.eclipse.swt.custom.BusyIndicator.showWhile (BusyIndicator.java:65) at org.eclipse.jface.window.ApplicationWindow.run (ApplicationWindow.java:429) at org.eclipse.ui.internal.WorkbenchWindow.run (WorkbenchWindow.java:1174) at org.eclipse.ui.internal.EditorManager.runProgressMonitorOperation (EditorManager.java:907) at org.eclipse.ui.internal.EditorManager.saveEditor (EditorManager.java:1037) at org.eclipse.ui.internal.WorkbenchPage.saveEditor (WorkbenchPage.java:2143) at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:30) at org.eclipse.jface.action.Action.runWithEvent(Action.java:769) at org.eclipse.ui.internal.WWinKeyBindingService.invoke (WWinKeyBindingService.java:139) at org.eclipse.ui.internal.WWinKeyBindingService.pressed (WWinKeyBindingService.java:120) at org.eclipse.ui.internal.WWinKeyBindingService$6.widgetSelected (WWinKeyBindingService.java:376) at org.eclipse.ui.internal.AcceleratorMenu$2.handleEvent (AcceleratorMenu.java:55) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:825) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1692) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1410) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1446) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1429) at org.eclipse.core.internal.boot.InternalBootLoader.run (InternalBootLoader.java:845) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462) 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:247) at org.eclipse.core.launcher.Main.run(Main.java:703) at org.eclipse.core.launcher.Main.main(Main.java:539) 2) !ENTRY org.eclipse.core.resources 4 2 Jan 09, 2003 09:25:12.313 !MESSAGE Problems occurred when invoking code from plug- in: "org.eclipse.core.resources". !STACK 0 java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.ClassFile.addFieldInfo (ClassFile.java:434) at org.eclipse.jdt.internal.compiler.ClassFile.addFieldInfos (ClassFile.java:579) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode (TypeDeclaration.java:694) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode (TypeDeclaration.java:762) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode (TypeDeclaration.java:709) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode (TypeDeclaration.java:770) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode (CompilationUnitDeclaration.java:158) at org.eclipse.jdt.internal.compiler.Compiler.process (Compiler.java:543) at org.eclipse.jdt.internal.compiler.Compiler.compile (Compiler.java:337) at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile (AbstractImageBuilder.java:194) at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile (AbstractImageBuilder.java:144) at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build (IncrementalImageBuilder.java:106) at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas (JavaBuilder.java:190) at org.eclipse.jdt.internal.core.builder.JavaBuilder.build (JavaBuilder.java:118) at org.eclipse.core.internal.events.BuildManager$2.run (BuildManager.java:384) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:852) at org.eclipse.core.runtime.Platform.run(Platform.java:413) at org.eclipse.core.internal.events.BuildManager.basicBuild (BuildManager.java:120) at org.eclipse.core.internal.events.BuildManager.basicBuild (BuildManager.java:176) at org.eclipse.core.internal.events.BuildManager.basicBuild (BuildManager.java:186) at org.eclipse.core.internal.events.BuildManager$1.run (BuildManager.java:146) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:852) at org.eclipse.core.runtime.Platform.run(Platform.java:413) at org.eclipse.core.internal.events.BuildManager.basicBuild (BuildManager.java:160) at org.eclipse.core.internal.events.BuildManager.build (BuildManager.java:211) at org.eclipse.core.internal.resources.Workspace.endOperation (Workspace.java:861) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1569) at org.eclipse.ui.actions.WorkspaceModifyOperation.run (WorkspaceModifyOperation.java:79) at org.eclipse.ui.texteditor.AbstractTextEditor.performSaveOperation (AbstractTextEditor.java:2790) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSaveOperati on(CompilationUnitEditor.java:849) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave (CompilationUnitEditor.java:913) at org.eclipse.ui.internal.EditorManager$11.run (EditorManager.java:1032) at org.eclipse.ui.internal.EditorManager$8.run(EditorManager.java:901) at org.eclipse.jface.operation.ModalContext.runInCurrentThread (ModalContext.java:296) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:246) at org.eclipse.jface.window.ApplicationWindow$1.run (ApplicationWindow.java:432) at org.eclipse.swt.custom.BusyIndicator.showWhile (BusyIndicator.java:65) at org.eclipse.jface.window.ApplicationWindow.run (ApplicationWindow.java:429) at org.eclipse.ui.internal.WorkbenchWindow.run (WorkbenchWindow.java:1174) at org.eclipse.ui.internal.EditorManager.runProgressMonitorOperation (EditorManager.java:907) at org.eclipse.ui.internal.EditorManager.saveEditor (EditorManager.java:1037) at org.eclipse.ui.internal.WorkbenchPage.saveEditor (WorkbenchPage.java:2143) at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:30) at org.eclipse.jface.action.Action.runWithEvent(Action.java:769) at org.eclipse.ui.internal.WWinKeyBindingService.invoke (WWinKeyBindingService.java:139) at org.eclipse.ui.internal.WWinKeyBindingService.pressed (WWinKeyBindingService.java:120) at org.eclipse.ui.internal.WWinKeyBindingService$6.widgetSelected (WWinKeyBindingService.java:376) at org.eclipse.ui.internal.AcceleratorMenu$2.handleEvent (AcceleratorMenu.java:55) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:825) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1692) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1410) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1446) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1429) at org.eclipse.core.internal.boot.InternalBootLoader.run (InternalBootLoader.java:845) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462) 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:247) at org.eclipse.core.launcher.Main.run(Main.java:703) at org.eclipse.core.launcher.Main.main(Main.java:539) I would finally add, that when using asserts elsewhere, I have had no problems. This code compiled okay under v2.0.1 with the rest of the environment unchanged.
Duplicate of bug 28750. FYI we recently made a change to assertion support which exposed this long living bug (collision in between this$0 and class literal synthetic field). This is fixed in latest and will be released in next integration build. We will issue a patch in the meantime.
*** This bug has been marked as a duplicate of 28750 ***