Frage

Wenn ein Java-VM mit einem EXCEPTION_ACCESS_VIOLATION stürzt und erzeugt eine hs_err_pidXXX.log Datei, was anzeigt, dass? Der Fehler selbst ist im Grunde eine Null-Zeiger Ausnahme. Ist es immer durch einen Fehler in der JVM verursacht, oder gibt es andere Ursachen wie fehlerhafte Hardware oder Software-Konflikte?

Edit:. Gibt es eine native Komponente, ist dies eine SWT-Anwendung auf win32

War es hilfreich?

Lösung

Die meisten der Zeit ist dies ein Fehler in der VM. Aber es kann von jedem nativen Code verursacht werden (zum Beispiel JNI nennt).

Die hs_err_pidXXX.log Datei sollte einige Informationen darüber enthalten, wo das Problem passiert ist.

Sie können auch den „Heap“ in der Datei Abschnitt überprüfen. Viele der VM Fehler werden durch die Garbage Collection (besonders bei älteren VMs) verursacht. In diesem Abschnitt sollten Sie zeigen, wenn der Müll zum Zeitpunkt des Absturzes ausgeführt wurde. Auch in diesem Bereich zeigt, wenn einige Abschnitte des Haufens gefüllt sind (die Prozentzahlen).

Die VM auch viel wahrscheinlicher, in einer Situation für wenig Arbeitsspeicher zum Absturz zu bringen sind als sonst.

Andere Tipps

Antwort gefunden!

hatte ich den gleichen Fehler und bemerkte, dass andere, die den Inhalt der pid Protokolldatei zur Verfügung gestellt wurden mit 64 Bit-Windows. Genau wie ich. Am Ende Protokolldatei enthalten sie die Anweisung PATH. Ich kann es sehen, C:% SystemRoot% \ system32: \ Windows \ SysWOW64 falsch vor aufgeführt wurde. Sobald ich es korrigiert, verschwand die Ausnahme.

Das erste, was Sie tun sollten, ist Ihre JVM auf die neueste Upgrade Sie können.

Können Sie das Problem wiederholen? Oder scheint es zufällig zu geschehen? Wir hatten vor kurzem ein Problem, wo unsere JVM wurde überall abstürzt, zu zufälligen Zeiten. Es stellte sich heraus, dass es ein Hardware-Problem war. Wir stellen die Laufwerke in einem neuen Server und es ging ganz weg.

Unterm Strich sollte die JVM nie, wie das Plakat abstürzen oben erwähnt, wenn Ihr keine JNI tun dann mein Bauch ist, dass Sie ein Hardware-Problem haben.

Die Ursache des Problems wird in der hs_err *-Datei dokumentiert werden, wenn Sie wissen, was zu suchen. Werfen Sie einen Blick, und wenn es noch nicht klar ist, sollten Sie die ersten 5 oder 10 Zeilen des Stack-Trace und andere relevante Informationen veröffentlichen (nicht die ganze Sache veröffentlichen, gibt es jede Menge Informationen drin, die nicht helfen - aber Sie haben, um herauszufinden, welche 1% ist wichtig :-))

Sind Sie mit einem Browser-Widget und Javascript im Browser-Widget ausgeführt wird? Wenn ja, dann gibt es Fehler in einigen Versionen von SWT, die die JVM in nativen Code zum Absturz verursacht, in verschiedenen Windows-Bibliotheken.

Zwei Beispiele (die ich geöffnet) sind bug 217306 und bug 127960 . Diese beiden Fehlerberichte sind nicht die einzigen Fehlerberichte der JVM in SWT abstürzt, aber.

Wenn Sie den Browser-Widget verwenden, dann werden diese Vorschläge Ihnen nicht helfen. In diesem Fall können Sie für eine Liste der SWT Bugs suchen verursacht ein JVM Absturz . Wenn keiner von denen Ihr Problem ist, dann empfehle ich dringend, dass Sie einen Fehlerbericht mit SWT öffnen.

Ich habe das gleiche Problem mit einer JNLP-Anwendung, die ich für eine lange Zeit wurde mit und bin ziemlich zuverlässig. Das Problem begann sofort, nachdem ich von Windows 7 auf Windows 10. Nach meiner Untersuchung aufgerüstet, ist es sehr wahrscheinlich um einen Fehler in Win 10.

Im Folgenden ist keine Lösung, sondern eine hässliche Abhilfe. In jre / sind, ist es javaws.exe . Wenn I Rechtsklick / Eigenschaften / Kompatibilität und tickte Führen Sie dieses Programm als Administrator , die JNLP App zu arbeiten begann.

Bitte beachten Sie, dass dieser Ansatz Sicherheitsprobleme verursachen könnte und es nur verwenden, wenn Sie keine andere Wahl haben und 100% wissen, was Sie tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top