In the Dockerized test plugin, DockerizedExecHandle.start() throws a timeout exception if the process does not start within 30 seconds. The error handling code tries to abort the process, gets confused because the process has not started, and throws an IllegalStateException, preventing Gradle from reporting the original timeout exception.
DockerizedExecHandle.start() is a modified copy of the code from Gradle's DefaultExecHandle. Gradle's code does not have a timeout on starting the process. But a successfully started process immediately connects to Gradle, and Gradle throws an exception if the connection doesn't happen within 2 minutes.
The DockerizedExecHandle timeout hides the real problem, which is that the process takes too long to start, or too long to report that it has started. Removing that timeout will allow Gradle to give better diagnostic information.