bugs revealed by testing DrJava on a dual core desktop machine running
Linux. Unfortunately, there is still an intermittent problem with
SlaveJVMRunner; it occasionally hangs for 3 minutes (almost exactly!)
as it tries to read the serialized remote class loader. RMI is a beast
given my current level of (mis)understanding.
We are writing serialized stub objects to files and reading them
rather than using the RMI registry for reasons that I do not
understand. There may be a problem with running multiple copies of
DrJava simultaneously but if so, the file I/O workaround does not
appear to always work. The following files were modified in this commit:
M edu/rice/cs/drjava/DrJava.java
M edu/rice/cs/drjava/model/DummyGlobalModelListener.java
M edu/rice/cs/drjava/model/debug/DebugBreakpointData.java
M edu/rice/cs/drjava/model/debug/DebugStackData.java
M edu/rice/cs/drjava/model/debug/EventHandlerThread.java
M edu/rice/cs/drjava/model/debug/Step.java
M edu/rice/cs/drjava/model/debug/DocumentDebugAction.java
M edu/rice/cs/drjava/model/debug/JPDADebugger.java
M edu/rice/cs/drjava/model/debug/Debugger.java
M edu/rice/cs/drjava/model/debug/DebugAction.java
M edu/rice/cs/drjava/model/debug/DebugEventNotifier.java
M edu/rice/cs/drjava/model/debug/PendingRequestManager.java
M edu/rice/cs/drjava/model/debug/Breakpoint.java
M edu/rice/cs/drjava/model/GlobalModelIOTest.java
M edu/rice/cs/drjava/model/GlobalModelTestCase.java
M edu/rice/cs/drjava/model/DefaultGlobalModel.java
M edu/rice/cs/drjava/model/MultiThreadedTestCaseTest.java
M edu/rice/cs/drjava/model/FindReplaceMachineTest.java
M edu/rice/cs/drjava/model/junit/DrJavaTestCaseClassLoader.java
M edu/rice/cs/drjava/model/junit/DrJavaTestSuiteLoader.java
M edu/rice/cs/drjava/model/repl/InteractionsDJDocumentTest.java
A edu/rice/cs/drjava/model/repl/DummyInteractionsListener.java
M edu/rice/cs/drjava/model/repl/newjvm/InterpreterJVM.java
M edu/rice/cs/drjava/model/repl/newjvm/MainJVM.java
M edu/rice/cs/drjava/model/repl/newjvm/NewJVMTest.java
M edu/rice/cs/drjava/model/repl/newjvm/InterpretResultVisitor.java
M edu/rice/cs/drjava/model/repl/newjvm/ValueResult.java
M edu/rice/cs/drjava/model/repl/newjvm/ExceptionResult.java
M edu/rice/cs/drjava/model/MultiThreadedTestCase.java
M edu/rice/cs/drjava/model/AbstractGlobalModel.java
M edu/rice/cs/drjava/model/DefaultLightWeightParsingControl.java
M edu/rice/cs/drjava/model/DeadClassLoader.java
M edu/rice/cs/drjava/model/GlobalModelOtherTest.java
M edu/rice/cs/drjava/ui/MainFrame.java
M edu/rice/cs/drjava/ui/config/ConfigFrame.java
M edu/rice/cs/drjava/ui/config/OptionComponent.java
M edu/rice/cs/drjava/ui/MainFrameTest.java
M edu/rice/cs/drjava/ui/InteractionsPaneTest.java
M edu/rice/cs/drjava/ui/RecentFileManagerTest.java
M edu/rice/cs/util/swing/Utilities.java
M edu/rice/cs/util/Log.java
M edu/rice/cs/util/classloader/StickyClassLoader.java
M edu/rice/cs/util/newjvm/IRemoteClassLoader.java
M edu/rice/cs/util/newjvm/SlaveJVMRunner.java
M edu/rice/cs/util/newjvm/RemoteClassLoader.java
M edu/rice/cs/util/newjvm/AbstractSlaveJVM.java
M edu/rice/cs/util/newjvm/AbstractMasterJVM.java
M edu/rice/cs/util/newjvm/CustomSystemClassLoader.java
M edu/rice/cs/util/newjvm/IntegratedMasterSlaveTest.java