Causes possibles de LA VIOLATION de L'ACCÈS À L'EXCEPTION de la MACHINE VIRTUELLE Java?


Lorsqu'une machine virtuelle Java se bloque avec une EXCEPTION_ACCESS_VIOLATION et produit un hs_err_pidXXX.fichier journal, qu'est-ce que cela indique? L'erreur elle-même est essentiellement une exception de pointeur null. Est-ce toujours causé par un bogue dans la JVM, ou existe-t-il d'autres causes telles que des conflits matériels ou logiciels défectueux?

Edit: il existe un composant natif, il s'agit d'une application SWT sur win32.

Author: sk., 2008-09-26

6 answers

La plupart du temps, il s'agit d'un bogue dans la machine virtuelle. Mais cela peut être causé par n'importe quel code natif (par exemple, les appels JNI).

Le hs_err_pidXXX.le fichier journal doit contenir des informations sur l'endroit où le problème s'est produit.

Vous pouvez également vérifier la section "Tas" à l'intérieur du fichier. La plupart des bogues de la machine virtuelle sont causés par la récupération de place (en particulier dans les anciennes machines virtuelles). Cette section devrait vous montrer si la poubelle était en cours d'exécution au moment du crash. Aussi cette section montre, si certaines sections du tas sont remplis (les nombres en pourcentage).

La machine virtuelle est également beaucoup plus susceptible de planter dans une situation de faible mémoire que dans le cas contraire.

 18
Author: jiriki, 2008-09-26 15:19:46

Réponse trouvée!

J'ai eu la même erreur et j'ai remarqué que d'autres personnes qui ont fourni le contenu du fichier journal pid exécutaient Windows 64 bits. Tout comme moi. À la fin du fichier journal, il comprenait l'instruction PATH. Là je pouvais voir C:\Windows\SysWOW64 a été incorrectement répertorié avant: % SystemRoot% \ system32. Une fois que je l'ai corrigé, l'exception a disparu.

 9
Author: user2988439, 2013-11-13 15:48:55

La première chose à faire est de mettre à niveau votre JVM vers la dernière version possible.

Pouvez-vous répéter le problème? Ou cela semble-t-il arriver au hasard? Nous avons récemment eu un problème où notre JVM s'écrasait partout, à des moments aléatoires. Il s'avère que c'était un problème matériel. Nous avons mis les lecteurs dans un nouveau serveur et il est complètement parti.

Bottom line, la JVM ne devrait jamais planter, comme l'affiche ci-dessus mentionné si vous ne faites pas de JNI alors mon instinct est que vous avez un matériel problème.

 2
Author: Jeremy, 2008-09-26 16:44:19

La cause du problème sera documentée dans le fichier hs_err*, si vous savez quoi rechercher. Jetez un oeil, et si ce n'est toujours pas clair, envisagez de publier les 5 ou 10 premières lignes de la trace de la pile et d'autres informations pertinentes (ne publiez pas le tout, il y a des tonnes d'informations qui n'aideront pas - mais vous devez déterminer quel 1% est important: -))

 1
Author: Kevin Day, 2008-09-27 03:45:19

Utilisez - vous un widget de navigateur et exécutez-vous javascript dans le widget de navigateur? Si c'est le cas, il y a des bogues dans certaines versions de SWT qui provoquent le plantage de la JVM dans le code natif, dans diverses bibliothèques Windows.

Deux exemples (que j'ai ouvert) sont bug 217306 et bug 127960. Cependant, ces deux rapports de bogue ne sont pas les seuls rapports de bogue du crash de la JVM dans SWT.

Si vous n'utilisez pas le widget du navigateur, ces suggestions ne vous aideront pas. Dans ce cas, vous pouvez rechercher une liste debogues SWT provoquant un plantage de la JVM . Si aucun de ces problèmes n'est votre problème, je vous recommande fortement d'ouvrir un rapport de bogue avec SWT.

 0
Author: Eddie, 2009-01-27 04:46:14

J'ai le même problème avec une application JNLP que j'utilise depuis longtemps et qui est assez fiable. Le problème a commencé immédiatement après la mise à niveau de Windows 7 vers Windows 10. Selon mon enquête, il est très probablement un bug dans Win 10.

Ce qui suit n'est pas une solution, mais une solution de contournement laide. Dans le répertoire jre / bin, il y a javaws.exe . Si je clic droit /Propriétés / Compatibilité et coché Exécutez ce programme en tant que administrateur , l'application JNLP a commencé à fonctionner.

Veuillez noter que cette approche pourrait causer des problèmes de sécurité et ne l'utiliser que si vous n'avez pas d'autre option et que vous savez à 100% ce que vous faites.

 0
Author: TomS, 2015-08-24 22:06:23