Come si interpretano questo difetto JVM?
-
09-09-2019 - |
Domanda
Ho un'applicazione Java che fa uso di un po 'di codice nativo, ed è fagliazione. Voglio scoprire , dove E 'ha provocato l'errore, ma non sono sicuro di come leggere il file di dump hs_err_pid:
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x256cbc]
V [libjvm.so+0x25df69]
V [libjvm.so+0x25dbac]
V [libjvm.so+0x25e8c8]
V [libjvm.so+0x25e49f]
V [libjvm.so+0x16fa3e]
j br.com.cip.spb.single.SPBRequestApplicationController.processJob(Lcom/planet/core360/docgen/ProcessingEnvironment;Lcom/planet/core360/dsmv2/processing/ApplicationDataJob;)V+158
j com.planet.core360.cgen.CgenProcessor.processJob(Ljava/lang/String;Lcom/planet/core360/docgen/ProcessingEnvironment;Lcom/planet/core360/dsmv2/processing/ApplicationDataJob;)V+108
j com.planet.core360.cgen.CgenProcessor.processJob(Ljava/lang/String;Lcom/planet/core360/docgen/ProcessingEnvironment;Lcom/planet/core360/dsmv2/processing/ScheduledJob;)V+7
v ~StubRoutines::call_stub
V [libjvm.so+0x17af0c]
V [libjvm.so+0x28b9d8]
V [libjvm.so+0x17ad3f]
V [libjvm.so+0x1a58a3]
V [libjvm.so+0x18bc24]
C [cgen+0xa6d6]
C [cgen+0xae1e] cgen_process_job+0x336
C [cgen+0x10442]
C [cgen+0x7714]
C [cgen+0x38216]
C [cgen+0x3a29d]
C [cgen+0x37e3c]
C [cgen+0x7558]
C [libc.so.6+0x166e5] __libc_start_main+0xe5
In sostanza, quali sono le 'j' incornicia indicando? Si riferiva alla V+158
bytecode compensato nella classe? Come posso risalire da questa alla fonte
Linee in gioco?
In realtà, mi piacerebbe una guida generale per Grokking queste discariche. Sarebbe fantastico, troppo.
Soluzione
Per una guida generale dare un'occhiata a questi due link Errore irreversibile log dei problemi e Crash corso sulla JVM Crash Analysis
Altri suggerimenti
ero confuso troppo, quello che potrebbe "V + 158" significa ?? tuttavia spiegazione è semplice, a "V" è metodo tipo di ritorno ed è parte della descrizione del metodo. (La descrizione è consiste del nome del pacchetto, nome della classe, nome del metodo, tipi param prese dal metodo e dal tipo di ritorno) "V" significa "vuoto".
158 è così chiamato "indice di bytecode" -. Avevi ragione