Как получить дамп ядра из процесса, используя jvm в docker - PullRequest
2 голосов
/ 30 января 2020

У меня есть приложение C ++, использующее библиотеки apache ignite, работающие внутри контейнера docker с базовым образом Ubuntu 16.04. Я запускаю программу вручную из bash оболочки внутри docker контейнера. Каким-то образом это вылетает в моей логике приложения c со следующим журналом.

 A fatal error has been detected by the Java Runtime Environment:

  SIGSEGV (0xb) at pc=0x00000000004df5c8, pid=132, tid=0x00007f60018c9700

 JRE version: OpenJDK Runtime Environment (8.0_242-b08) (build 1.8.0_242-8u242-b08-0ubuntu3~16.04-b08)
 Java VM: OpenJDK 64-Bit Server VM (25.242-b08 mixed mode linux-amd64 compressed oops)
 Problematic frame:
C  [masterapp+0xdf5c8]

 Core dump written. Default location: /usr/local/bin/core or core.132

 An error report file with more information is saved as:
 /usr/local/bin/hs_err_pid132.log
[thread 140052484749056 also had an error]


 If you would like to submit a bug report, please visit:
   http://bugreport.java.com/bugreport/crash.jsp

Aborted (core dumped)

Docker используется файл

FROM ubuntu:16.04
COPY files/masterapp /usr/local/bin/
CMD ["/bin/bash"]

В оболочке bash я сделал

cd /usr/local/bin
./masterapp

Но файл дампа памяти не найден в / usr / local / bin / core в файловой системе контейнера. Есть ли какие-либо ограничения на получение дампов ядра из контейнеров ubuntu docker ?? Или что нужно сделать чтобы его получить ??

...