Moje odpověď bude trochu nesouvisející, ale měl jsem stejný problém při pokusu o výpis vláken pomocí jcmd
. Zobrazoval jsem stejnou chybovou zprávu, i když jsem spouštěl jcmd
pod kořenem uživatele.
Musíte spustit jcmd <pid> Thread.print
pod stejným uživatelem jako proces Java má, jinak budou vaše připojení zrušena. Javě je jedno, jestli jste root nebo ne.
Takže v podstatě:
sudo -u <java_process_user> jcmd <pid> Thread.print
Zatím se snažte.
Přidání '-XX:+StartAttachListener'
to jvm argument vyřešil problém.
Podobný problém je diskutován zde na https://code.google.com/p/jmockit/issues/detail?id=136 a http://mail.openjdk.java.net/pipermail/macosx-port-dev/2013 -October/006098.html (který hovoří o možné regresi v sestavení jdk7)
Stejně jako @bbarker jsem dostal stejnou chybu, ale na JDK 1.8.0_161 pomocí subsystému Linux ve Windows 10 ("Bash na Ubuntu ve Windows"). Konfigurace pluginu Surefire s argumentem JVM uvedeným výše problém vyřešila i pro mě:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
<argLine>-XX:+StartAttachListener</argLine>
</configuration>
</plugin>
Spouštění testů z "normálního" příkazového řádku Windows však funguje bez výše uvedeného.