Troubleshooting Cytoscape Debug
It is important to disconnect the debugging process when finishing executing Cytoscape. This will happen naturally when the program exits gracefully, but during the debug process, it is common to terminate execution without going through the proper quit procedure. As a result, this can leave an orphaned process listening on port 12345. The next time you try to execute you’ll see an error at start up as you attempt to open a second connection on the same port.
ERROR: transport error 202: bind failed: Address already in use 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] FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) /Applications/Cytoscape_v3.5.0-RC2/cytoscape.sh: line 80: 3052 Abort trap: 6 $script_path/framework/bin/karaf "$@"
For Mac / Linux / Unix users:
If you encounter this error, you can query the list of open files (lsof) that are listening to a our debug TCP port with this command from a terminal:
lsof -t -i :12345
To quickly find and kill the process that is causing the problem, you can run:
kill -9 $(lsof -t -i :12345)
For Windows users:
netstat -aon | findstr :12345
taskkill /F /PID XXX (where XXX is replaced by the process id)