-
Bug
-
Resolution: Fixed
-
P3
-
6u12, 9
-
b137
-
generic
-
generic
See http://www.netbeans.org/issues/show_bug.cgi?id=158634
We often get NPE at ReferenceTypeImpl.constantPool(ReferenceTypeImpl.java:1025):
java.lang.NullPointerException
at com.sun.tools.jdi.ReferenceTypeImpl.constantPool(ReferenceTypeImpl.java:1025)
at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:0)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
Caused: java.lang.IllegalStateException: java.lang.NullPointerException
at org.netbeans.modules.debugger.jpda.jdi.ReferenceTypeWrapper.constantPool(ReferenceTypeWrapper.java:227)
at org.netbeans.modules.debugger.jpda.ExpressionPool.createExpressionAt(ExpressionPool.java:168)
at org.netbeans.modules.debugger.jpda.ExpressionPool.getExpressionAt(ExpressionPool.java:102)
at org.netbeans.modules.debugger.jpda.actions.MethodChooser.collectOperations(MethodChooser.java:306)
at org.netbeans.modules.debugger.jpda.actions.MethodChooser.run(MethodChooser.java:189)
at org.netbeans.modules.debugger.jpda.actions.StepIntoActionProvider.doMethodSelection(StepIntoActionProvider.java:170)
at org.netbeans.modules.debugger.jpda.actions.StepIntoActionProvider.runAction(StepIntoActionProvider.java:114)
at org.netbeans.modules.debugger.jpda.actions.StepIntoActionProvider$1.run(StepIntoActionProvider.java:105)
at org.netbeans.modules.debugger.jpda.actions.JPDADebuggerActionProvider$1.run(JPDADebuggerActionProvider.java:169)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:573)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1005)
Looking into the code, cpbytes is null. It's taken from constantPoolBytesRef.get(), which can return null, since constantPoolBytesRef is a SoftReference.
We often get NPE at ReferenceTypeImpl.constantPool(ReferenceTypeImpl.java:1025):
java.lang.NullPointerException
at com.sun.tools.jdi.ReferenceTypeImpl.constantPool(ReferenceTypeImpl.java:1025)
at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:0)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
Caused: java.lang.IllegalStateException: java.lang.NullPointerException
at org.netbeans.modules.debugger.jpda.jdi.ReferenceTypeWrapper.constantPool(ReferenceTypeWrapper.java:227)
at org.netbeans.modules.debugger.jpda.ExpressionPool.createExpressionAt(ExpressionPool.java:168)
at org.netbeans.modules.debugger.jpda.ExpressionPool.getExpressionAt(ExpressionPool.java:102)
at org.netbeans.modules.debugger.jpda.actions.MethodChooser.collectOperations(MethodChooser.java:306)
at org.netbeans.modules.debugger.jpda.actions.MethodChooser.run(MethodChooser.java:189)
at org.netbeans.modules.debugger.jpda.actions.StepIntoActionProvider.doMethodSelection(StepIntoActionProvider.java:170)
at org.netbeans.modules.debugger.jpda.actions.StepIntoActionProvider.runAction(StepIntoActionProvider.java:114)
at org.netbeans.modules.debugger.jpda.actions.StepIntoActionProvider$1.run(StepIntoActionProvider.java:105)
at org.netbeans.modules.debugger.jpda.actions.JPDADebuggerActionProvider$1.run(JPDADebuggerActionProvider.java:169)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:573)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1005)
Looking into the code, cpbytes is null. It's taken from constantPoolBytesRef.get(), which can return null, since constantPoolBytesRef is a SoftReference.