|
From: <no...@so...> - 2002-04-15 00:56:51
|
Bugs item #543895, was opened at 2002-04-14 19:56 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=438935&aid=543895&group_id=44253 Category: util package Group: Crashes Status: Open Resolution: None Priority: 5 Submitted By: Brian Stoler (brianstoler) Assigned to: Brian Stoler (brianstoler) Summary: newjvm: Race condition in invoke/quit Initial Comment: In AbstractMasterJVM, there is a potential race condition that can occur if .quitSlave is called in between the time the slave is invoked and the time the slave registers itself. In other words, this happens if the quit is issued quickly after the invoke, so quickly that the slave hasn't yet finished starting up. This manifests itself as an IllegalStateException, complaining that quit was called when there was nothing to quit. The stack trace, produced by GlobalModelQuitTest: [junit] Testcase: testQuitNoDocuments took 1.606 sec [junit] Caused an ERROR [junit] tried to quit when no slave running [junit] java.lang.IllegalStateException: tried to quit when no slave running [junit] at edu.rice.cs.util.newjvm.AbstractMasterJVM.quitSlave(AbstractMasterJVM.java: 190) [junit] at edu.rice.cs.drjava.model.repl.newjvm.MainJVM.killInterpreter(MainJVM.java: 203) [junit] at edu.rice.cs.drjava.model.DefaultGlobalModel.quit(DefaultGlobalModel.java:383) [junit] at edu.rice.cs.drjava.model.GlobalModelQuitTest.testQuitNoDocuments (GlobalModelQuitTest.java:161) [junit] at java.lang.reflect.Method.invoke(Native Method) [junit] at junit.framework.TestCase.runTest(TestCase.java:166) [junit] at junit.framework.TestCase.runBare(TestCase.java:140) [junit] at junit.framework.TestResult$1.protect(TestResult.java:106) [junit] at junit.framework.TestResult.runProtected(TestResult.java:124) [junit] at junit.framework.TestResult.run(TestResult.java:109) [junit] at junit.framework.TestCase.run(TestCase.java:131) [junit] at junit.framework.TestSuite.runTest(TestSuite.java:173) [junit] at junit.framework.TestSuite.run(TestSuite.java:168) [junit] at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22) [junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:19) [junit] at junit.framework.TestResult.runProtected(TestResult.java:124) [junit] at junit.extensions.TestSetup.run(TestSetup.java:23) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run (JUnitTestRunner.java:231) [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeInVM ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=438935&aid=543895&group_id=44253 |