When pressing the Edit button on any previously defined external process, Dr.Java displays the following message. I've tried this with fresh installs on both Windows XP and Mac OSX Leopard. I've also tried both the stable build (which this is) and the development build.
java.lang.NullPointerException
at edu.rice.cs.drjava.ui.ExecuteExternalDialog.<init>(ExecuteExternalDialog.java:238)
at edu.rice.cs.drjava.ui.EditExternalDialog._edit(EditExternalDialog.java:330)
at edu.rice.cs.drjava.ui.EditExternalDialog.access$000(EditExternalDialog.java:61)
at edu.rice.cs.drjava.ui.EditExternalDialog$3.actionPerformed(EditExternalDialog.java:207)
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.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-20090821-r5004
DrJava Build Time 20090821-1520
drjava.debug.port = 2740
java.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = C:\Program Files\Java\jre1.6.0_04\bin
java.vm.version = 10.0-b19
java.vm.vendor = Sun Microsystems Inc.
java.vendor.url = http://java.sun.com/
path.separator = ;
java.vm.name = Java HotSpot(TM) Client VM
file.encoding.pkg = sun.io
sun.java.launcher = SUN_STANDARD
user.country = US
sun.os.patch.level = Service Pack 3
java.vm.specification.name = Java Virtual Machine Specification
user.dir = <anonymized user.home>\Desktop
java.runtime.version = 1.6.0_04-b12
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs = C:\Program Files\Java\jre1.6.0_04\lib\endorsed
os.arch = x86
java.io.tmpdir = C:\DOCUME~1\<anonymized user.name>\LOCALS~1\Temp\
line.separator = "\u000d\u000a"
java.vm.specification.vendor = Sun Microsystems Inc.
user.variant =
os.name = Windows XP
sun.jnu.encoding = Cp1252
java.library.path = C:\Program Files\Java\jre1.6.0_04\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Windows Imaging\;C:\Program Files\ATI Technologies\ATI.ACE\;c:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Common Files\Intuit\QBPOSSDKRuntime;C:\cygwin\bin;C:\Program Files\Java\jre1.6.0_04\bin
java.specification.name = Java Platform API Specification
java.class.version = 50.0
sun.management.compiler = HotSpot Client Compiler
os.version = 5.1
user.home = <anonymized user.home>
user.timezone = America/Los_Angeles
java.awt.printerjob = sun.awt.windows.WPrinterJob
file.encoding = Cp1252
java.specification.version = 1.6
java.class.path = <anonymized user.home>\Desktop\drjava-stable-20090821-r5004.exe
user.name = <anonymized user.name>
java.vm.specification.version = 1.0
java.home = C:\Program Files\Java\jre1.6.0_04
sun.arch.data.model = 32
user.language = en
java.specification.vendor = Sun Microsystems Inc.
awt.toolkit = sun.awt.windows.WToolkit
java.vm.info = mixed mode, sharing
java.version = 1.6.0_04
java.ext.dirs = C:\Program Files\Java\jre1.6.0_04\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
sun.boot.class.path = C:\Program Files\Java\jre1.6.0_04\lib\resources.jar;C:\Program Files\Java\jre1.6.0_04\lib\rt.jar;C:\Program Files\Java\jre1.6.0_04\lib\sunrsasign.jar;C:\Program Files\Java\jre1.6.0_04\lib\jsse.jar;C:\Program Files\Java\jre1.6.0_04\lib\jce.jar;C:\Program Files\Java\jre1.6.0_04\lib\charsets.jar;C:\Program Files\Java\jre1.6.0_04\classes
java.vendor = Sun Microsystems Inc.
file.separator = \
java.vendor.url.bug = http://java.sun.com/cgi-bin/bugreport.cgi
sun.io.unicode.encoding = UnicodeLittle
sun.cpu.endian = little
java.rmi.server.hostname = 127.0.0.1
sun.desktop = windows
sun.cpu.isalist = pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
#DrJava configuration file
#Thu Dec 17 19:31:12 PST 2009
key.delete.next = [shift DELETE]
key.delete.previous = [shift BACK_SPACE]
last.dir = C:\\Documents and Settings\\<anonymized user.name>
last.interactions.dir = C:\\Documents and Settings\\<anonymized user.name>
external.saved.count = 1
external.saved.names = [External Java 1]
external.saved.cmdlines = [cmd echo Hello]
external.saved.workdirs = [${drjava.working.dir}]
external.saved.enclosingdjappfiles = []
Used memory: about 10.09 megabytes
Free memory: about 7.57 megabytes
Total memory: about 17.66 megabytes
Total memory can expand to: about 63.56 megabytes
Number of processors/cores: 2
I used an invokeLater to make sure that some GUI components were initialized in the event thread, but it really should have been an invokeAndWait. Otherwise, in some schedules, the components were used before they were created, causing the NPE.
Bugfix will be committed soon.
Fixed in the latest weekly jar release at http://www.cs.rice.edu/~javaplt/drjavarice/weekly/