Mi respuesta será un poco ajena, pero tuve el mismo problema al intentar volcar hilos usando jcmd . Recibía el mismo mensaje de error aunque estaba ejecutando jcmd bajo la raíz usuario.
 Necesitas ejecutar jcmd <pid> Thread.print bajo el mismo usuario que el proceso java tiene, de lo contrario sus conexiones se perderán. A Java no le importa si eres root o no.
Así que básicamente:
sudo -u <java_process_user> jcmd <pid> Thread.print
Trabaje por ahora.
 Agregando '-XX:+StartAttachListener' al argumento jvm solucionó el problema. 
Un problema similar se analiza aquí en https://code.google.com/p/jmockit/issues/detail?id=136 y http://mail.openjdk.java.net/pipermail/macosx-port-dev/2013 -Octubre/006098.html (que habla de una posible regresión en jdk7 build)
Al igual que @bbarker, recibí el mismo error pero en JDK 1.8.0_161 usando el subsistema Linux en Windows 10 ("Bash on Ubuntu on Windows"). La configuración del complemento Surefire con el argumento JVM mencionado anteriormente también me solucionó el problema:
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.21.0</version>
        <configuration>
            <argLine>-XX:+StartAttachListener</argLine>
        </configuration>
    </plugin>
Sin embargo, ejecutar las pruebas desde un símbolo del sistema de Windows "normal" funciona sin lo anterior.