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).

In una condizione di arresto anomalo, raccogliere il maggior numero di dati possibile per il team del servizio IBM® per Java. È necessario:
  • 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.