Diagnosi degli arresti anomali in Windows
Generalmente, un arresto anomalo viene visualizzato come un'eccezione irreversibile generata da Java™ o come una finestra a comparsa che notifica un errore GPF (General Protection Fault). La finestra a comparsa di solito fa riferimento a java.exe come l'applicazione che ha causato l'arresto anomalo. Gli arresti anomali possono verificarsi a causa di un errore nel runtime Java o a causa di un errore nel codice (JNI) nativo in esecuzione nel processo Java.
Provare a determinare se l'applicazione dispone di un codice JNI o utilizza package di terze parti che utilizzano il codice JNI (ad esempio, driver dell'applicazione JDBC ). In caso contrario, l'errore deve essere nell'ambiente di runtime.
Provare a ricreare l'arresto anomalo con dipendenze minime (in termini di opzioni JVM, applicazioni JNI o strumenti di creazione profili).
- Raccogliere il Javadump. Per i dettagli, vedi Using Javadumps nel manuale J9 VM reference .
- Raccogliere il core dump. Per i dettagli, consultare Impostazione e controllo dell'ambiente Windows .
- Raccogliere il file di traccia snap. Per i dettagli, consultare Traccia delle applicazioni Java in J9 VM reference .
- Eseguire con il JIT disattivato. Per i dettagli, consultare Diagnosing a JIT or AOT problem in J9 VM reference . Se il problema scompare con il JIT disattivato, provare alcune opzioni di compilazione JIT per vedere se il problema può essere ulteriormente ridotto.
- Provare a regolare i parametri della raccolta dati inutilizzati. Per i dettagli, consultare Gestione memoria in J9 VM reference . Prendere nota di eventuali modifiche nel funzionamento.
- Se il problema si verifica su un sistema multiprocessore, verificare l'applicazione su un sistema uniprocessore. È possibile utilizzare le opzioni BIOS sulla casella SMP per reimpostare l'affinità del processore su 1 in modo che si comporti come un uniprocessore. Se il problema scompare, prendi nota del tuo bug report. Altrimenti, raccogliere il dump di arresto anomalo.