Several of our developers who are using Linux have problems when using a 
relative path for JAVA_HOME and changing the working dir for tests.

Adam seemed to fix one problem with this with a checkin right before preview-3, 
but we still seem to have issues.

Now we get exceptions like this for every unit test:
Failed to dispatch message 
org.gradle.messaging.dispatch.methodinvocat...@75b2a5bd.
org.gradle.messaging.dispatch.DispatchException: Failed to dispatch message 
org.gradle.messaging.dispatch.methodinvocat...@75b2a5bd.
        at 
org.gradle.messaging.dispatch.ExceptionTrackingDispatch.dispatch(ExceptionTrackingDispatch.java:34)
        at 
org.gradle.messaging.dispatch.AsyncDispatch.dispatchMessages(AsyncDispatch.java:194)
        at 
org.gradle.messaging.dispatch.AsyncDispatch.access$200(AsyncDispatch.java:34)
        at 
org.gradle.messaging.dispatch.AsyncDispatch$2.run(AsyncDispatch.java:84)
        at 
org.gradle.messaging.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:63)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalStateException: Cannot dispatch message 
org.gradle.messaging.remote.internal.channelmess...@a8d246c4, as this dispatch 
has been stopped.
        at 
org.gradle.messaging.remote.internal.EndOfStreamDispatch.dispatch(EndOfStreamDispatch.java:37)
        at 
org.gradle.messaging.remote.internal.EndOfStreamDispatch.dispatch(EndOfStreamDispatch.java:24)
        at 
org.gradle.messaging.remote.internal.DefaultMultiChannelConnection$OutgoingMultiplex.dispatch(DefaultMultiChannelConnection.java:185)
        at 
org.gradle.messaging.remote.internal.DefaultMultiChannelConnection$OutgoingMultiplex.dispatch(DefaultMultiChannelConnection.java:175)
        at 
org.gradle.messaging.remote.internal.MethodInvocationMarshallingDispatch.dispatch(MethodInvocationMarshallingDispatch.java:42)
        at 
org.gradle.messaging.remote.internal.MethodInvocationMarshallingDispatch.dispatch(MethodInvocationMarshallingDispatch.java:25)
        at 
org.gradle.messaging.dispatch.ThreadSafeDispatch.dispatch(ThreadSafeDispatch.java:28)
        at 
org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:75)
        at $Proxy29.processTestClass(Unknown Source)
        at 
org.gradle.api.internal.tasks.testing.worker.ForkingTestClassProcessor.processTestClass(ForkingTestClassProcessor.java:70)
        at 
org.gradle.api.internal.tasks.testing.processors.RestartEveryNTestClassProcessor.processTestClass(RestartEveryNTestClassProcessor.java:45)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:32)
        at 
org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:23)
        at 
org.gradle.messaging.dispatch.ExceptionTrackingDispatch.dispatch(ExceptionTrackingDispatch.java:32)
        ... 7 common frames omitted

I can cause the same problem on my Mac if I specify a relative path for 
JAVA_HOME.  Prior to preview-3 we were also getting the following exception:
Caused by: java.io.IOException: Cannot run program 
"modules/java/src/linux/bin/java" (in directory 
"/home/someuser/Development/proj/main/exp/pmt/working/webserver"): 
java.io.IOException: error=2, No such file or directory
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
        at 
org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:64)

This seems to be corrected, but something else related to the 
ForkingTestClassProcessor seems to be using the JAVA_HOME path incorrectly.

Reply via email to