Падает java с valgrind
Добрый день! Прошу подсказать в чём может быть проблема:
Создал docker-контейнер на базе Астра Линукс 1.7.4 (registry.astralinux.ru/library/alse:1.7.4)
Внутри установил AxiomJDK 11 (https://download.axiomjdk.ru/axiomjdk-pro/11.0.19+7/axiomjdk-jdk-pro11.0.19+7-linux-amd64.deb)
И valgrind (apt install valgrind)
Запускаю в контейнере команду типа такой:
valgrind --tool=memcheck --leak-check=summary --leak-resolution=low --show-leak-kinds=none --track-origins=no --log-file=valgrind.log java -jar application_name.jar
На моём компьютере и локально и в VirtualBox на виртуалке с АстраЛинукс 1.7.4 в этом docker-контейнере всё запускается(показывает много ошибок, но приложение работает). А на сервере на машине с Астра Линукс 1.7.4 в таком же контейнере jdk падает.
Получаю такое сообщение:
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGILL (0x4) at pc=0x000000000f953634, pid=551, tid=552
#
# JRE version: OpenJDK Runtime Environment (11.0.19+7) (build 11.0.19+7-LTS)
# Java VM: OpenJDK 64-Bit Server VM (11.0.19+7-LTS, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# v ~StubRoutines::libmLog
#
# Core dump will be written. Default location: /opt/application_name/core
#
# An error report file with more information is saved as:
# /opt/application_name/hs_err_pid551.log
Could not load hsdis-amd64.so; library not loadable; PrintAssembly is disabled
#
# If you would like to submit a bug report, please visit:
# https://axiomjdk.ru/support
#
Aborted
И valgrind.log, в конце которого такие строки:
==551== Conditional jump or move depends on uninitialised value(s)
==551== at 0x6D055FA: ImageFileReader::close(ImageFileReader*) (in /usr/lib/jvm/axiomjdk-java11-pro-amd64/lib/libjimage.so)
==551== by 0x567593A: ClassPathImageEntry::close_jimage() (in /usr/lib/jvm/axiomjdk-java11-pro-amd64/lib/server/libjvm.so)
==551== by 0x5CD5509: os::abort(bool, void*, void const*) (in /usr/lib/jvm/axiomjdk-java11-pro-amd64/lib/server/libjvm.so)
==551== by 0x5FB07A6: VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long) (in /usr/lib/jvm/axiomjdk-java11-pro-amd64/lib/server/libjvm.so)
==551== by 0x5FB13CA: VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*, char const*, ...) (in /usr/lib/jvm/axiomjdk-java11-pro-amd64/lib/server/libjvm.so)
==551== by 0x5FB13FD: VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*) (in /usr/lib/jvm/axiomjdk-java11-pro-amd64/lib/server/libjvm.so)
==551== by 0x5CE15F7: JVM_handle_linux_signal (in /usr/lib/jvm/axiomjdk-java11-pro-amd64/lib/server/libjvm.so)
==551== by 0x5CD2F47: signalHandler(int, siginfo*, void*) (in /usr/lib/jvm/axiomjdk-java11-pro-amd64/lib/server/libjvm.so)
==551== by 0x487872F: ??? (in /usr/lib/x86_64-linux-gnu/libpthread-2.28.so)
==551== by 0xF953633: ???
==551== by 0xF96124A: ???
==551== by 0xF952CC6: ???
==551==
==551==
==551== Process terminating with default action of signal 6 (SIGABRT): dumping core
==551== at 0x4AD686B: raise (raise.c:51)
==551== by 0x4AC1534: abort (abort.c:79)
==551== by 0x5CD5504: os::abort(bool, void*, void const*) (in /usr/lib/jvm/axiomjdk-java11-pro-amd64/lib/server/libjvm.so)
==551== by 0x5FB07A6: VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long) (in /usr/lib/jvm/axiomjdk-java11-pro-amd64/lib/server/libjvm.so)
==551== by 0x5FB13CA: VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*, char const*, ...) (in /usr/lib/jvm/axiomjdk-java11-pro-amd64/lib/server/libjvm.so)
==551== by 0x5FB13FD: VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*) (in /usr/lib/jvm/axiomjdk-java11-pro-amd64/lib/server/libjvm.so)
==551== by 0x5CE15F7: JVM_handle_linux_signal (in /usr/lib/jvm/axiomjdk-java11-pro-amd64/lib/server/libjvm.so)
==551== by 0x5CD2F47: signalHandler(int, siginfo*, void*) (in /usr/lib/jvm/axiomjdk-java11-pro-amd64/lib/server/libjvm.so)
==551== by 0x487872F: ??? (in /usr/lib/x86_64-linux-gnu/libpthread-2.28.so)
==551== by 0xF953633: ???
==551== by 0xF96124A: ???
==551== by 0xF952CC6: ???
==551==
==551== HEAP SUMMARY:
==551== in use at exit: 58,978,591 bytes in 11,431 blocks
==551== total heap usage: 16,413 allocs, 4,982 frees, 61,520,354 bytes allocated
==551==
==551== LEAK SUMMARY:
==551== definitely lost: 495 bytes in 13 blocks
==551== indirectly lost: 0 bytes in 0 blocks
==551== possibly lost: 367,249 bytes in 350 blocks
==551== still reachable: 58,610,847 bytes in 11,068 blocks
==551== suppressed: 0 bytes in 0 blocks
==551== Rerun with --leak-check=full to see details of leaked memory
==551==
==551== For counts of detected and suppressed errors, rerun with: -v
==551== Use --track-origins=yes to see where uninitialised values come from
==551== ERROR SUMMARY: 998565 errors from 657 contexts (suppressed: 0 from 0)
Заранее благодарен за подсказки в какую сторону копать!