When using the DrJava debugger on a program I wrote, I got a Dr. Java Error pop-up that asked me to report the bug (see below for contents). I don't know if this is relevant, but the error occurred as I was stepping through a program and then chose to step over this line:
if (typeCode.equals("TD")) {
The full out put of the error message is below. At the bottom, is a list of all of the relevant system properties:
java.lang.NullPointerException
at edu.rice.cs.drjava.model.debug.jpda.JPDADebugger._copyVariablesFromInterpreter(JPDADebugger.java:1827)
at edu.rice.cs.drjava.model.debug.jpda.JPDADebugger._stepHelper(JPDADebugger.java:1296)
at edu.rice.cs.drjava.model.debug.jpda.JPDADebugger.step(JPDADebugger.java:441)
at edu.rice.cs.drjava.ui.MainFrame.debuggerStep(MainFrame.java:6061)
at edu.rice.cs.drjava.ui.DebugPanel$5.actionPerformed(DebugPanel.java:446)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
System Properties:
DrJava Version drjava-20160913-225446
DrJava Build Time 20160913-225446
drjava.debug.port = 49258
java.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = C:\Program Files\Java\jre1.8.0_31\bin
java.vm.version = 25.31-b07
java.vm.vendor = Oracle Corporation
java.vendor.url = http://java.oracle.com/
path.separator = ;
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg = sun.io
user.country = US
user.script =
sun.java.launcher = SUN_STANDARD
sun.os.patch.level = Service Pack 1
java.vm.specification.name = Java Virtual Machine Specification
user.dir = <anonymized user.home="">\Desktop
java.runtime.version = 1.8.0_31-b13
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs = C:\Program Files\Java\jre1.8.0_31\lib\endorsed
os.arch = amd64
java.io.tmpdir = <anonymized user.home="">\AppData\Local\Temp\
line.separator = "\u000d\u000a"
java.vm.specification.vendor = Oracle Corporation
user.variant =
os.name = Windows 7
sun.jnu.encoding = Cp1252
java.library.path = C:\Program Files\Java\jre1.8.0_31\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Java\jdk1.7.0_71\bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files\Dell\Dell Data Protection\Access\Advanced\Wave\Gemalto\Access Client\v5\;C:\Program Files (x86)\Security Innovation\SI TSS\bin\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;C:\Program Files (x86)\MiKTeX 2.9\miktex\bin\;C:\Program Files\SlikSvn\bin;C:\OpenBLAS;C:\Program Files (x86)\Skype\Phone\;<anonymized user.home="">\Anaconda3;<anonymized user.home="">\Anaconda3\Scripts;<anonymized user.home="">\Anaconda3\Library\bin;C:\Program Files (x86)\SSH Communications Security\SSH Secure Shell;C:\scisoft\TDM-GCC-64\bin;.
sun.awt.enableExtraMouseButtons = true
java.specification.name = Java Platform API Specification
java.class.version = 52.0
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
os.version = 6.1
user.home = <anonymized user.home="">
user.timezone = America/New_York
java.awt.printerjob = sun.awt.windows.WPrinterJob
file.encoding = Cp1252
java.specification.version = 1.8
java.class.path = <anonymized user.home="">\Desktop\drjava-beta-20160913-225446.jar
user.name = <anonymized user.name="">
java.vm.specification.version = 1.8
sun.java.command = <anonymized user.home="">\Desktop\drjava-beta-20160913-225446.jar
java.home = C:\Program Files\Java\jre1.8.0_31
sun.arch.data.model = 64
user.language = en
java.specification.vendor = Oracle Corporation
awt.toolkit = sun.awt.windows.WToolkit
java.vm.info = mixed mode
java.version = 1.8.0_31
java.ext.dirs = C:\Program Files\Java\jre1.8.0_31\lib\ext;C:\Windows\Sun\Java\lib\ext
sun.boot.class.path = C:\Program Files\Java\jre1.8.0_31\lib\resources.jar;C:\Program Files\Java\jre1.8.0_31\lib\rt.jar;C:\Program Files\Java\jre1.8.0_31\lib\sunrsasign.jar;C:\Program Files\Java\jre1.8.0_31\lib\jsse.jar;C:\Program Files\Java\jre1.8.0_31\lib\jce.jar;C:\Program Files\Java\jre1.8.0_31\lib\charsets.jar;C:\Program Files\Java\jre1.8.0_31\lib\jfr.jar;C:\Program Files\Java\jre1.8.0_31\classes
java.vendor = Oracle Corporation
file.separator = \
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding = UnicodeLittle
sun.cpu.endian = little
java.rmi.server.hostname = 127.0.0.1
sun.desktop = windows
sun.cpu.isalist = amd64
DrJava configuration file
In resource bundle edu.rice.cs.drjava.config.options:
nothing
In shadowed configuration:
font.main = Monospaced-16
key.delete.next = [shift DELETE]
key.delete.previous = [shift BACK_SPACE]
find.replace.match.case = false
debug.expressions.and.methods.in.watches = true
recent.files = [C:\Users\<anonymized user.name="">\Documents\courses\cse17\cse17-spring2017\test\StaticTest.java,C:\Users\<anonymized user.name="">\Documents\courses\cse17\cse17-spring2017\solutions\P1\WirelessPlan.java,C:\Users\<anonymized user.name="">\Documents\courses\cse17\cse17-spring2017\solutions\P1\PlanRecommender.java,C:\Users\<anonymized user.name="">\Documents\courses\ai\ai-materials\src\search\SearchProblem.java,C:\Users\<anonymized user.name="">\Documents\courses\ai\ai-materials\src\search\UniformCost.java]
window.height = 744
window.width = 1382
window.x = -8
window.y = -8
window.state = 6
doc.list.width = 126
last.dir = C:\Users\<anonymized user.name="">\Documents\courses\cse17\cse17-spring2017\solutions\P2
last.interactions.dir = C:\Users\<anonymized user.name="">\Documents\courses\cse17\cse17-spring2017\solutions\P2
tabbedpanes.state = 683 384 700 400
new.version.notification.last = 1487616596317
Used memory: about 68.54 megabytes
Free memory: about 285.46 megabytes
Total memory: about 354 megabytes
Total memory can expand to: about 3.53 gigabytes
Number of processors/cores: 4
Compiler Discovery Log:
Another DrJava user here. Does this happen everytime, and if so is it possible for you to provide a test program so others can try reproducing the issue?
Last edit: Christopher Chavez 2017-03-12
I think I eliminated the NullPointerException error, but I simply suppressed the action that was generating this exception. My revision passes all of the debugger unit tests but so did the version that generated the NullPointerException. You can try my patched version by going to www.cs.rice.edu/~javaplt/drjavarice and downloading the drjava.jar file (uploaded March 21, 2017) posted there.