La mia risposta sarà leggermente non correlata, ma ho riscontrato lo stesso problema durante il tentativo di eseguire il dump dei thread utilizzando jcmd
. Stavo ricevendo lo stesso messaggio di errore anche se stavo eseguendo jcmd
sotto la radice utente.
Devi eseguire jcmd <pid> Thread.print
sotto lo stesso utente del processo java has, altrimenti le tue connessioni verranno interrotte. A Java non importa se sei root oppure no.
Quindi sostanzialmente:
sudo -u <java_process_user> jcmd <pid> Thread.print
Lavora in giro per ora.
Aggiunta di '-XX:+StartAttachListener'
all'argomento jvm risolto il problema.
Un problema simile è discusso qui su https://code.google.com/p/jmockit/issues/detail?id=136 e http://mail.openjdk.java.net/pipermail/macosx-port-dev/2013 -October/006098.html (che parla di una possibile regressione nella build jdk7)
Come @bbarker, ho ricevuto lo stesso errore ma su JDK 1.8.0_161 utilizzando il sottosistema Linux in Windows 10 ("Bash su Ubuntu su Windows"). La configurazione del plug-in Surefire con l'argomento JVM menzionato sopra ha risolto il problema anche per me:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
<argLine>-XX:+StartAttachListener</argLine>
</configuration>
</plugin>
Tuttavia, l'esecuzione dei test da un "normale" prompt dei comandi di Windows funziona senza quanto sopra.