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
