gretty icon indicating copy to clipboard operation
gretty copied to clipboard

Address already in use, when running tests.

Open gil opened this issue 9 years ago • 1 comments

Hi guys,

For some reason, when I run "gradle test" it's trying to run the JVM with this:

Listening for transport dt_socket at address: 5005

And, after a while, it gives a "Address already in use" error. If I remove the plugin it won't start the JVM in debugging mode.

I've also tried this, with no success:

gretty {
    contextPath = ''
    loggingLevel = 'ERROR'
    inplaceMode = 'hard'
    jvmArgs = [
        '-Xrunjdwp:transport=dt_socket,address=5006,server=y,suspend=n'
    ]
    debugPort = 5006
    debugSuspend = false
    scanInterval = 0
    fastReload = false
}

I don't know why it's affecting the test task, even when I don't use any of gretty's tasks. Is that because of the farms feature? Can someone please help me?

Full stack trace:

gradle test
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=1024m; support was removed in 8.0
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=768m; support was removed in 8.0
objc[76799]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
Listening for transport dt_socket at address: 5005
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=768m; support was removed in 8.0
objc[76805]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
ERROR: transport error 202: bind failed: Address already in use
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]
Process 'Gradle Test Executor 2' finished with non-zero exit value 134
org.gradle.process.internal.ExecException: Process 'Gradle Test Executor 2' finished with non-zero exit value 134
    at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:365)
    at org.gradle.process.internal.DefaultWorkerProcess.onProcessStop(DefaultWorkerProcess.java:91)
    at org.gradle.process.internal.DefaultWorkerProcess.access$000(DefaultWorkerProcess.java:35)
    at org.gradle.process.internal.DefaultWorkerProcess$1.executionFinished(DefaultWorkerProcess.java:57)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)
    at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)
    at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
    at com.sun.proxy.$Proxy47.executionFinished(Unknown Source)
    at org.gradle.process.internal.DefaultExecHandle.setEndStateInfo(DefaultExecHandle.java:213)
    at org.gradle.process.internal.DefaultExecHandle.finished(DefaultExecHandle.java:310)
    at org.gradle.process.internal.ExecHandleRunner.completed(ExecHandleRunner.java:100)
    at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:80)
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
// ...
// THE SAME ERROR REPEATED SOME TIMES
// ...
:test FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':test'.
> Unable to connect to the child process 'Gradle Test Executor 1'.
  It is likely that the child process have crashed - please find the stack trace in the build log.
  This exception might occur when the build machine is extremely loaded.
  The connection attempt hit a timeout after 120.0 seconds (last known process state: STARTED, running: true).

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 2 mins 17.523 secs

gil avatar Sep 14 '15 17:09 gil

This seems to be a bug. In my case if I run gradle with --info I can see gretty not honoring the debugPort value provided in the build.gradle file. It always takes 5005 and in my case it was in use.

cthumuluru avatar Mar 01 '19 06:03 cthumuluru