On 6/05/10 7:18 AM, Steve Appling wrote:
We are seeing a problem on some machines where we get an NPE in 
JUnitTestClassProcessor line 64. It appears that sometimes executor is not set 
before processTestClass is called.  I'm not quite sure I'm following the logic 
here, but it looks like a possible problem with the ForkingTestClassProcessor.  
Does the call on line 71 of ForkingTestClassProcessor (workerProcess.start()) 
end up calling worker.startProcessing in another thread?  If so, then I think 
there is a race condition.  JUnitTestClassProcessor.processTestClass can be 
called before JUnitTestClassProcessor.startProcessing.


TestWorker calls startProcessing() and then kicks off the thread that will call processTestClass(). So, there shouldn't be a race condition. But they are called very close together from different threads, so I wonder if it's a memory read-write ordering problem.

I've pushed a potential fix for this to head. Could you try it out?


--
Adam Murdoch
Gradle Developer
http://www.gradle.org


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to