wake-up-neo.com

Fehler beim Schreiben des Core-Dumps. Core-Dumps wurden deaktiviert

Ich habe an einem Vision-Projekt gearbeitet und einige C++ - Bibliotheken in Java von JNI verwendet.

Betriebssystem: Ubuntu 12.04

In meinem Projekt verwende ich boost library, um Zufallszahlen zu generieren. Aber manchmal bekomme ich eine Ausnahme wie folgt:

Core dum140002367330048 also had an error]
#
# A fatal error has been detected by the Java Runtime Environment:    
#
#  SIGSEGV (0xb) at pc=0x00007f54f72a615a, pid=11979, tid=140002352568064
#
# JRE version: Java(TM) SE Runtime Environment (7.0_67-b01) (build 1.7.0_67-b01)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.65-b04 mixed mode linux-AMD64 compressed oops)
# Problematic frame:
# C  [libCBIR.so+0x3215a]  boost::random::mersenne_twister_engine<unsigned int, 32ul, 624ul, 397ul, 31ul, 2567483615u, 11ul, 4294967295u, 7ul, 2636928640u, 15ul, 4022730752u, 18ul, 1812433253u>::operator()()+0x3a
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

Bei der Suche nach StackOverflow habe ich einige Probleme im Zusammenhang mit IDE (Eclipse) gefunden. Die Anwendung ist von der IDE unabhängig. Die Lösung muss also auch von der IDE unabhängig sein. Irgendwelche Ideen?

15
Omurhan Soysal

Ich hatte das gleiche Problem.

Wie der Fehler selbst vermuten lässt -

Fehler beim Schreiben des Core-Dumps. Core-Dumps wurden deaktiviert. Um das Core-Dumping zu aktivieren, versuchen Sie ulimit -c unlimited, bevor Sie Java erneut starten

ulimit ruft Benutzergrenzen ab und legt sie fest. Für weitere Informationen über ulimit do -

man ulimit

Also öffne ein Terminal und renne -

ulimit -c unlimited

Dies sollte das Problem lösen. Um zu überprüfen, ob die Änderung erfolgreich war, führen Sie Folgendes aus:

ulimit -c -l

Dies sollte Ihnen eine Ausgabe wie folgt geben -

core file size          (blocks, -c) unlimited
max locked memory       (kbytes, -l) 64

Wenn das Problem weiterhin besteht, beziehen Sie sich auf this und this from askUbuntu .

19

Für alle, die dieses Problem in Jenkins sehen (wie wir es sind): Um Core-Dumps von Jenkins zu aktivieren, bearbeiten Sie /etc/init.d/jenkins und fügen Sie $ DAEMON_ARGS "--core" hinzu. Das Setzen von ulimit direkt über das Shell-Skript oder über /etc/security/limits.conf funktioniert nicht.

1
Mike B

Ein Core-Dump oder ein Crash-Dump ist eine Momentaufnahme eines laufenden Prozesses. Ein Core-Dump kann vom Betriebssystem automatisch erstellt werden, wenn ein schwerwiegender oder nicht behandelter Fehler (z. B. Signal- oder Systemausnahme) auftritt. 

weitere Informationen https://docs.Oracle.com/javase/8/docs/technotes/guides/troubleshoot/bugreports004.html

0
vishnu singh