2015-03-26 6 views
6

Non ho mai visto questi Kinda errori prima, cose come:continuo a ricevere errori casuali di tanto in tanto, quando eseguo il mio programma

FATAL ERROR in native method: JDWP cannot get thread local storage, jvmtiError=JVMTI_ERROR_WRONG_PHASE(112)

Se corro di nuovo il mio programma dopo l'errore non lo fa apparire che è ciò che non capisco Questo errore è apparso più volte oggi e anche in questo esempio di codice più simplist:

test.java

import java.io.File; 

public class test { 

    public test() { 
     OpenFile opf = new OpenFile("test/data.txt"); 
     OpenFile opf2 = new OpenFile(new File("test/data.txt")); 

     OpenFolder opfo = new OpenFolder("test"); 
     OpenFolder opfo2 = new OpenFolder(new File("test")); 

    } 

    public static void main(String[] args) { 
     new test(); 
    } 

} 

OpenFile.java

import java.io.File; 

public class OpenFile { 
    File openFile; 

    public OpenFile(String filePath) { 
     openFile(new File(filePath)); 
    } 

    public OpenFile(File file) { 
     openFile(file); 
    } 

    public void openFile(File file) { 
     if(file.exists()) 
      System.out.println("Exists"); 
     else 
      System.out.println("!Exists"); 
    } 

} 

OpenFolder

import java.io.File; 

public class OpenFolder { 

    public OpenFolder(String string) { 

    } 

    public OpenFolder(File file) { 

    } 

} 

C'è niente nel mio programma che causerebbe un errore per quanto posso vedere e non posso duplicare la e rror, tutto quello che so è che l'errore si verifica durante il runtime.

+0

Quale versione di java usi per eseguire quel codice? – assylias

+0

Stai correndo in modalità di debug? – Kayaman

+0

JDWP è il debugger Java - forse prova a disattivare il debug in fase di runtime (o forse è configurato in modo errato). – cjstehno

risposta

1

Sembra il bug dell'agente JDWP (probabilmente JDK-6988950). Sfortunatamente è stato corretto solo in JDK 9. Prova a sostituire jdwp.dll/libjdwp.so con quello da JDK 9 EA.

+0

Da un commento nella parte inferiore di https://bugs.openjdk.java.net/browse/JDK-6988950, "Modificata la priorità del bug su P2 poiché il piano è di eseguire il backport sull'8u40 che è già in fase RDP1. " – mmesser314