LINUX.ORG.RU
ФорумAdmin

Настройка дампа в СЕНТОС 7

 


0

1

Программа Sky установлена на ОС СЕНТОС7,запускается, но падает при загрузке истории УЗ, с ошибкой SIGSEGV - dumping core, Дамп почему то не сохраняется по нагугленной инструкции https://sysadminium.ru/core_dumps_in_linux/

Получилось вывести стек формул через gdb: (gdb) backtrace #0 0x00007f663c4fa5bc in free () from /lib64/libc.so.6 #1 0x00007f663e10bc25 in QImageData::~QImageData() () from /usr/lib/sky/lib64/libQt5Gui.so.5 #2 0x00007f663e10be54 in QImage::~QImage() () from /usr/lib/sky/lib64/libQt5Gui.so.5 #3 0x00007f663e1419fb in QRasterPlatformPixmap::~QRasterPlatformPixmap() () from /usr/lib/sky/lib64/libQt5Gui.so.5 #4 0x00007f663e141a19 in QRasterPlatformPixmap::~QRasterPlatformPixmap() () from /usr/lib/sky/lib64/libQt5Gui.so.5 #5 0x00007f663e136166 in QPixmap::~QPixmap() () from /usr/lib/sky/lib64/libQt5Gui.so.5 #6 0x00007f663e13becd in ?? () from /usr/lib/sky/lib64/libQt5Gui.so.5 #7 0x00007f663e139528 in ?? () from /usr/lib/sky/lib64/libQt5Gui.so.5 #8 0x00007f663e13973c in ?? () from /usr/lib/sky/lib64/libQt5Gui.so.5 #9 0x00007f663d527909 in QObject::event(QEvent*) () from /usr/lib/sky/lib64/libQt5Core.so.5 #10 0x00007f663e7d3fe4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/sky/lib64/libQt5Widgets.so.5 #11 0x00007f663e7d991e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/sky/lib64/libQt5Widgets.so.5 #12 0x00007f663d4fa3a9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/sky/lib64/libQt5Core.so.5 #13 0x00007f663d54d3a3 in QTimerInfoList::activateTimers() () —Type to continue, or q to quit— from /usr/lib/sky/lib64/libQt5Core.so.5 #14 0x00007f663d54e591 in ?? () from /usr/lib/sky/lib64/libQt5Core.so.5 #15 0x00007f663775e119 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 #16 0x00007f663775e478 in g_main_context_iterate.isra.19 () from /lib64/libglib-2.0.so.0 #17 0x00007f663775e52c in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #18 0x00007f663d54dc2b in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/sky/lib64/libQt5Core.so.5 #19 0x00007f663d4f9293 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/sky/lib64/libQt5Core.so.5 #20 0x00007f663d4fd972 in QCoreApplication::exec() () from /usr/lib/sky/lib64/libQt5Core.so.5 #21 0x00000000004c3a37 in ?? () #22 0x00007f663c4973d5 in __libc_start_main () from /lib64/libc.so.6 #23 0x00000000004314d9 in ?? () #24 0x00007fff746c9d08 in ?? () #25 0x000000000000001c in ?? () #26 0x0000000000000001 in ?? () #27 0x00007fff746ca78e in ?? () #28 0x0000000000000000 in ?? ()

КАК настроить дамп ядра, люди добрые?))) Не кидайте тапками

Тут ошибка в самой программе:

Получилось вывести стек формул через gdb: (gdb) backtrace #0 0x00007f663c4fa5bc in free () from /lib64/libc.so.6 #1 0x00007f663e10bc25 in QImageData::~QImageData()

Скорее всего это просто битая или пустая картинка.

Программа открытая? Есть исходники?

alex0x08 ★★★
()

Дамп почему то не сохраняется по нагугленной инструкции https://sysadminium.ru/core_dumps_in_linux/

Наверное потому, что она для Debian и Ubuntu, а не для CentOS и RHEL 7 версии.

Linux бывают разные, и не все инструкции совместимы. Если тебе нужно настроить что-то на CentOS 7, то и искать инструкции нужно для CentOS 7 или для RHEL 7 — так как CentOS 7 его клон. Инструкции на access.redhat.com при это проверены обычно.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от anastas

Выполни ldd /usr/lib/sky/sky и покажи вывод, у этого бинарника куча зависимостей, возможно в системе что-то не было установлено.

/usr/bin/sky это soft link на сам бинарник /usr/lib/sky/sky.

alex0x08 ★★★
()
Ответ на: комментарий от alex0x08

ldd /usr/lib/sky/sky linux-vdso.so.1 => (0x00007ffdbb74a000) libSDL-1.3.so.0 => /usr/lib/sky/lib64/libSDL-1.3.so.0 (0x00007f2b36d02000) libX11.so.6 => /lib64/libX11.so.6 (0x00007f2b369c4000) libXss.so.1 => /lib64/libXss.so.1 (0x00007f2b367c0000) libsipw.so.1 => /usr/lib/sky/lib64/libsipw.so.1 (0x00007f2b35909000) libQt5Widgets.so.5 => /usr/lib/sky/lib64/libQt5Widgets.so.5 (0x00007f2b350a4000) libQt5Gui.so.5 => /usr/lib/sky/lib64/libQt5Gui.so.5 (0x00007f2b34a16000) libQt5Network.so.5 => /usr/lib/sky/lib64/libQt5Network.so.5 (0x00007f2b346b4000) libQt5DBus.so.5 => /usr/lib/sky/lib64/libQt5DBus.so.5 (0x00007f2b34435000) libQt5Core.so.5 => /usr/lib/sky/lib64/libQt5Core.so.5 (0x00007f2b33c93000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2b33a77000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f2b33770000) libm.so.6 => /lib64/libm.so.6 (0x00007f2b3346e000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2b33258000) libc.so.6 => /lib64/libc.so.6 (0x00007f2b32e8b000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f2b32c87000) libpulse-simple.so.0 => /lib64/libpulse-simple.so.0 (0x00007f2b32a82000) libpulse.so.0 => /lib64/libpulse.so.0 (0x00007f2b32833000) libXext.so.6 => /lib64/libXext.so.6 (0x00007f2b32621000) libXcursor.so.1 => /lib64/libXcursor.so.1 (0x00007f2b32416000) libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00007f2b32213000) libXi.so.6 => /lib64/libXi.so.6 (0x00007f2b32003000) libXrandr.so.2 => /lib64/libXrandr.so.2 (0x00007f2b31df8000) libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f2b31bd0000) libv4l2.so.0 => /lib64/libv4l2.so.0 (0x00007f2b319c2000) libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f2b317bd000) libcurl.so.4 => /lib64/libcurl.so.4 (0x00007f2b31554000) libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f2b310f3000) libssl.so.10 => /lib64/libssl.so.10 (0x00007f2b30e82000) libopenh264.so.0 => /usr/lib/sky/lib64/libopenh264.so.0 (0x00007f2b30bad000) libavcodec.so.53 => /usr/lib/sky/lib64/libavcodec.so.53 (0x00007f2b2fcd6000) libavformat.so.53 => /usr/lib/sky/lib64/libavformat.so.53 (0x00007f2b2f9bb000) libswscale.so.2 => /usr/lib/sky/lib64/libswscale.so.2 (0x00007f2b2f770000) libfreerdp.so.2.0 => /usr/lib/sky/lib64/libfreerdp.so.2.0 (0x00007f2b2f416000) libfreerdp-client.so.2.0 => /usr/lib/sky/lib64/libfreerdp-client.so.2.0 (0x00007f2b2f17a000) libfreerdp-shadow.so.2.0 => /usr/lib/sky/lib64/libfreerdp-shadow.so.2.0 (0x00007f2b2ef5a000) libxfreerdp-client.so.2.0 => /usr/lib/sky/lib64/libxfreerdp-client.so.2.0 (0x00007f2b2ecb2000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f2b2ea99000) libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f2b2e848000) libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007f2b2e646000) librt.so.1 => /lib64/librt.so.1 (0x00007f2b2e43e000) libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f2b2e12a000) libz.so.1 => /lib64/libz.so.1 (0x00007f2b2df14000) libpng12.so.0 => /lib64/libpng12.so.0 (0x00007f2b2dced000) libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f2b2da9d000) /lib64/ld-linux-x86-64.so.2 (0x00007f2b36fc7000) libpulsecommon-10.0.so => /usr/lib64/pulseaudio/libpulsecommon-10.0.so (0x00007f2b2d81d000) libcap.so.2 => /lib64/libcap.so.2 (0x00007f2b2d618000) libXrender.so.1 => /lib64/libXrender.so.1 (0x00007f2b2d40e000) libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f2b2d208000) libXau.so.6 => /lib64/libXau.so.6 (0x00007f2b2d004000) libv4lconvert.so.0 => /lib64/libv4lconvert.so.0 (0x00007f2b2cd8b000) libidn.so.11 => /lib64/libidn.so.11 (0x00007f2b2cb58000) libssh2.so.1 => /lib64/libssh2.so.1 (0x00007f2b2c92e000) libssl3.so => /lib64/libssl3.so (0x00007f2b2c6dc000) libsmime3.so => /lib64/libsmime3.so (0x00007f2b2c4b5000) libnss3.so => /lib64/libnss3.so (0x00007f2b2c188000) libnssutil3.so => /lib64/libnssutil3.so (0x00007f2b2bf59000) libplds4.so => /lib64/libplds4.so (0x00007f2b2bd55000) libplc4.so => /lib64/libplc4.so (0x00007f2b2bb50000) libnspr4.so => /lib64/libnspr4.so (0x00007f2b2b912000) libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f2b2b6c5000) libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f2b2b3dd000) libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f2b2b1aa000) libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f2b2afa6000) liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007f2b2ad97000) libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007f2b2ab42000) libavutil.so.51 => /usr/lib/sky/lib64/libavutil.so.51 (0x00007f2b2a91f000) libxkbfile.so.1 => /lib64/libxkbfile.so.1 (0x00007f2b2a6fa000) libjpeg.so.62 => /lib64/libjpeg.so.62 (0x00007f2b2a4a5000) libwinpr.so.1.1 => /usr/lib/sky/lib64/libwinpr.so.1.1 (0x00007f2b2a1c2000) libXmu.so.6 => /lib64/libXmu.so.6 (0x00007f2b29fa8000) libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007f2b29da5000) libXtst.so.6 => /lib64/libXtst.so.6 (0x00007f2b29b9f000) libfreerdp-server.so.2.0 => /usr/lib/sky/lib64/libfreerdp-server.so.2.0 (0x00007f2b29981000) librdtk.so.1.1 => /usr/lib/sky/lib64/librdtk.so.1.1 (0x00007f2b29778000) libXv.so.1 => /lib64/libXv.so.1 (0x00007f2b29573000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f2b29311000) libffi.so.6 => /lib64/libffi.so.6 (0x00007f2b29109000) libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007f2b28ed8000) libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f2b28cd6000) libICE.so.6 => /lib64/libICE.so.6 (0x00007f2b28aba000) libSM.so.6 => /lib64/libSM.so.6 (0x00007f2b288b2000) libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f2b286a7000) libsndfile.so.1 => /lib64/libsndfile.so.1 (0x00007f2b28448000) libasyncns.so.0 => /lib64/libasyncns.so.0 (0x00007f2b28242000) libattr.so.1 => /lib64/libattr.so.1 (0x00007f2b2803d000) libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f2b27e2f000) libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f2b27c2b000) libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007f2b27a0e000) libXt.so.6 => /lib64/libXt.so.6 (0x00007f2b277a7000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f2b27580000) liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f2b2735a000) liblz4.so.1 => /lib64/liblz4.so.1 (0x00007f2b27145000) libgcrypt.so.11 => /lib64/libgcrypt.so.11 (0x00007f2b26ec4000) libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f2b26cbf000) libdw.so.1 => /lib64/libdw.so.1 (0x00007f2b26a78000) libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f2b2685e000) libgsm.so.1 => /lib64/libgsm.so.1 (0x00007f2b26652000) libFLAC.so.8 => /lib64/libFLAC.so.8 (0x00007f2b2640e000) libvorbisenc.so.2 => /lib64/libvorbisenc.so.2 (0x00007f2b25f3f000) libvorbis.so.0 => /lib64/libvorbis.so.0 (0x00007f2b25d11000) libogg.so.0 => /lib64/libogg.so.0 (0x00007f2b25b0a000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f2b258d3000) libelf.so.1 => /lib64/libelf.so.1 (0x00007f2b256bb000) libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f2b254ab000) libfreebl3.so => /lib64/libfreebl3.so (0x00007f2b252a8000)

anastas
() автор топика
Ответ на: комментарий от alex0x08
ldd /usr/lib/sky/sky linux-vdso.so.1 => (0x00007ffdbb74a000) libSDL-1.3.so.0 => /usr/lib/sky/lib64/libSDL-1.3.so.0 (0x00007f2b36d02000) libX11.so.6 => /lib64/libX11.so.6 (0x00007f2b369c4000) libXss.so.1 => /lib64/libXss.so.1 (0x00007f2b367c0000) libsipw.so.1 => /usr/lib/sky/lib64/libsipw.so.1 (0x00007f2b35909000) libQt5Widgets.so.5 => /usr/lib/sky/lib64/libQt5Widgets.so.5 (0x00007f2b350a4000) libQt5Gui.so.5 => /usr/lib/sky/lib64/libQt5Gui.so.5 (0x00007f2b34a16000) libQt5Network.so.5 => /usr/lib/sky/lib64/libQt5Network.so.5 (0x00007f2b346b4000) libQt5DBus.so.5 => /usr/lib/sky/lib64/libQt5DBus.so.5 (0x00007f2b34435000) libQt5Core.so.5 => /usr/lib/sky/lib64/libQt5Core.so.5 (0x00007f2b33c93000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2b33a77000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f2b33770000) libm.so.6 => /lib64/libm.so.6 (0x00007f2b3346e000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2b33258000) libc.so.6 => /lib64/libc.so.6 (0x00007f2b32e8b000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f2b32c87000) libpulse-simple.so.0 => /lib64/libpulse-simple.so.0 (0x00007f2b32a82000) libpulse.so.0 => /lib64/libpulse.so.0 (0x00007f2b32833000) libXext.so.6 => /lib64/libXext.so.6 (0x00007f2b32621000) libXcursor.so.1 => /lib64/libXcursor.so.1 (0x00007f2b32416000) libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00007f2b32213000) libXi.so.6 => /lib64/libXi.so.6 (0x00007f2b32003000) libXrandr.so.2 => /lib64/libXrandr.so.2 (0x00007f2b31df8000) libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f2b31bd0000) libv4l2.so.0 => /lib64/libv4l2.so.0 (0x00007f2b319c2000) libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f2b317bd000) libcurl.so.4 => /lib64/libcurl.so.4 (0x00007f2b31554000) libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f2b310f3000) libssl.so.10 => /lib64/libssl.so.10 (0x00007f2b30e82000) libopenh264.so.0 => /usr/lib/sky/lib64/libopenh264.so.0 (0x00007f2b30bad000) libavcodec.so.53 => /usr/lib/sky/lib64/libavcodec.so.53 (0x00007f2b2fcd6000) libavformat.so.53 => /usr/lib/sky/lib64/libavformat.so.53 (0x00007f2b2f9bb000) libswscale.so.2 => /usr/lib/sky/lib64/libswscale.so.2 (0x00007f2b2f770000) libfreerdp.so.2.0 => /usr/lib/sky/lib64/libfreerdp.so.2.0 (0x00007f2b2f416000) libfreerdp-client.so.2.0 => /usr/lib/sky/lib64/libfreerdp-client.so.2.0 (0x00007f2b2f17a000) libfreerdp-shadow.so.2.0 => /usr/lib/sky/lib64/libfreerdp-shadow.so.2.0 (0x00007f2b2ef5a000) libxfreerdp-client.so.2.0 => /usr/lib/sky/lib64/libxfreerdp-client.so.2.0 (0x00007f2b2ecb2000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f2b2ea99000) libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f2b2e848000) libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007f2b2e646000) librt.so.1 => /lib64/librt.so.1 (0x00007f2b2e43e000) libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f2b2e12a000) libz.so.1 => /lib64/libz.so.1 (0x00007f2b2df14000) libpng12.so.0 => /lib64/libpng12.so.0 (0x00007f2b2dced000) libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f2b2da9d000) /lib64/ld-linux-x86-64.so.2 (0x00007f2b36fc7000) libpulsecommon-10.0.so => /usr/lib64/pulseaudio/libpulsecommon-10.0.so (0x00007f2b2d81d000) libcap.so.2 => /lib64/libcap.so.2 (0x00007f2b2d618000) libXrender.so.1 => /lib64/libXrender.so.1 (0x00007f2b2d40e000) libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f2b2d208000) libXau.so.6 => /lib64/libXau.so.6 (0x00007f2b2d004000) libv4lconvert.so.0 => /lib64/libv4lconvert.so.0 (0x00007f2b2cd8b000) libidn.so.11 => /lib64/libidn.so.11 (0x00007f2b2cb58000) libssh2.so.1 => /lib64/libssh2.so.1 (0x00007f2b2c92e000) libssl3.so => /lib64/libssl3.so (0x00007f2b2c6dc000) libsmime3.so => /lib64/libsmime3.so (0x00007f2b2c4b5000) libnss3.so => /lib64/libnss3.so (0x00007f2b2c188000) libnssutil3.so => /lib64/libnssutil3.so (0x00007f2b2bf59000) libplds4.so => /lib64/libplds4.so (0x00007f2b2bd55000) libplc4.so => /lib64/libplc4.so (0x00007f2b2bb50000) libnspr4.so => /lib64/libnspr4.so (0x00007f2b2b912000) libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f2b2b6c5000) libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f2b2b3dd000) libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f2b2b1aa000) libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f2b2afa6000) liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007f2b2ad97000) libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007f2b2ab42000) libavutil.so.51 => /usr/lib/sky/lib64/libavutil.so.51 (0x00007f2b2a91f000) libxkbfile.so.1 => /lib64/libxkbfile.so.1 (0x00007f2b2a6fa000) libjpeg.so.62 => /lib64/libjpeg.so.62 (0x00007f2b2a4a5000) libwinpr.so.1.1 => /usr/lib/sky/lib64/libwinpr.so.1.1 (0x00007f2b2a1c2000) libXmu.so.6 => /lib64/libXmu.so.6 (0x00007f2b29fa8000) libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007f2b29da5000) libXtst.so.6 => /lib64/libXtst.so.6 (0x00007f2b29b9f000) libfreerdp-server.so.2.0 => /usr/lib/sky/lib64/libfreerdp-server.so.2.0 (0x00007f2b29981000) librdtk.so.1.1 => /usr/lib/sky/lib64/librdtk.so.1.1 (0x00007f2b29778000) libXv.so.1 => /lib64/libXv.so.1 (0x00007f2b29573000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f2b29311000) libffi.so.6 => /lib64/libffi.so.6 (0x00007f2b29109000) libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007f2b28ed8000) libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f2b28cd6000) libICE.so.6 => /lib64/libICE.so.6 (0x00007f2b28aba000) libSM.so.6 => /lib64/libSM.so.6 (0x00007f2b288b2000) libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f2b286a7000) libsndfile.so.1 => /lib64/libsndfile.so.1 (0x00007f2b28448000) libasyncns.so.0 => /lib64/libasyncns.so.0 (0x00007f2b28242000) libattr.so.1 => /lib64/libattr.so.1 (0x00007f2b2803d000) libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f2b27e2f000) libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f2b27c2b000) libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007f2b27a0e000) libXt.so.6 => /lib64/libXt.so.6 (0x00007f2b277a7000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f2b27580000) liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f2b2735a000) liblz4.so.1 => /lib64/liblz4.so.1 (0x00007f2b27145000) libgcrypt.so.11 => /lib64/libgcrypt.so.11 (0x00007f2b26ec4000) libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f2b26cbf000) libdw.so.1 => /lib64/libdw.so.1 (0x00007f2b26a78000) libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f2b2685e000) libgsm.so.1 => /lib64/libgsm.so.1 (0x00007f2b26652000) libFLAC.so.8 => /lib64/libFLAC.so.8 (0x00007f2b2640e000) libvorbisenc.so.2 => /lib64/libvorbisenc.so.2 (0x00007f2b25f3f000) libvorbis.so.0 => /lib64/libvorbis.so.0 (0x00007f2b25d11000) libogg.so.0 => /lib64/libogg.so.0 (0x00007f2b25b0a000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f2b258d3000) libelf.so.1 => /lib64/libelf.so.1 (0x00007f2b256bb000) libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f2b254ab000) libfreebl3.so => /lib64/libfreebl3.so (0x00007f2b252a8000)

anastas
() автор топика

Вообщем что могу рассказать.

Эта программа - какой-то instant messenger от Tel Red LLC, сайт https://www.tel.red лежит и судя по барахолкам с APK программа несколько забыта вместе с авторами. Она тянет с собой кучу библиотек, в том числе Qt 5.6, поэтому ldd тебе и показывает вот такое:

libQt5Core.so.5 => /usr/lib/sky/lib64/libQt5Core.so.5

Т.е приложение использует не системный Qt а свой локальный.

Вот так выглядит место сбоя после восстановления кода, вот это же место в оригинале на гитхабе.

Что происходит в коде это попытка освободить память под данными с которыми уже что-то не так: их или нет (поле data) или они уехали за границу. Скорее всего имеет место быть расхождение в поддерживаемом формате изображения или ошибка в его (изображения) обработке. Проще говоря юзеру прислали битую картику с котиками.

Что могу предложить в качестве решения.

1.Самый простой вариант это удалить/переместить папку ~/.sky куда это чудоприложение кладет свои данные и попробовать запустить. Если повезет то профиль юзера вместе с историей скачается с сервера и если битая картинка была лишь локально на диске - то все заработает обратно.

2.Сложный вариант это попробовать перебить локальные библиотеки Qt на системные через переменную LD_PRELOAD. Те ставишь Qt5 в систему, задаешь переменную LD_PRELOAD= где перечисляешь через ; все системные библиотеки Qt, запускаешь приложение и молишься. Возможно что заработает.

alex0x08 ★★★
()
Ответ на: комментарий от anastas

Нужно добиться чтобы ldd выдавал не /usr/lib/sky/lib64/* а /usr/lib/* для всех библиотек Qt5.

Те например вместо:

libQt5Widgets.so.5 => /usr/lib/sky/lib64/libQt5Widgets.so.5

должен быть:

libQt5Widgets.so.5 => /usr/lib64/libQt5Widgets.so.5
alex0x08 ★★★
()
Ответ на: комментарий от anastas

В приложении еще есть каталог lib64/qt5/plugins, внутри тоже библиотеки, имеющие отношение к Qt но уже без префикса Qt, их системные аналоги тоже нужно будет прокинуть через LD_PRELOAD, иначе загрузятся локальные через механизм плагинов самого Qt.

alex0x08 ★★★
()
Последнее исправление: alex0x08 (всего исправлений: 1)
Ответ на: комментарий от anastas

Не будет разумеется, она создается при первом запуске, будет в домашнем каталоге. Обращения к ней будут видны через strace, те запускаете вот так:

strace /usr/lib/sky/sky 

и увидите все системные вызовы, в том числе на чтение или создание файлов.

alex0x08 ★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Укажите пожалуйста на ошибки

У меня дамп не формируется, все сделано согласно инструкии https://www.thegeekdiary.com/how-to-enable-core-dump-for-applications-on-centos-rhel/

./crash - падающая программа для теста


Вывод терминала:

[Anastas@localhost ~]$ sudo nano /etc/security/limits.conf
[Anastas@localhost ~]$ sudo nano /etc/sysctl.conf
[sudo] пароль для Anastas: 
[Anastas@localhost ~]$ sudo sysctl -p
[Anastas@localhost ~]$ sudo systemctl start abrtd.service
[Anastas@localhost ~]$ sudo systemctl start abrt-ccpp.service
[Anastas@localhost ~]$ ./crash
Исключение в операции с плавающей точкой (core dumped)
[Anastas@localhost ~]$ ls -l /var/crash/
итого 0
[Anastas@localhost ~]$ 



Конфиги:



GNU nano 2.3.1               Файл: /etc/security/limits.conf                                    

# /etc/security/limits.conf
#
#This file sets the resource limits for the users logged in via PAM.
#It does not affect resource limits of the system services.
#
#Also note that configuration files in /etc/security/limits.d directory,
#which are read in alphabetical order, override the settings in this
#file in case the domain is the same or more specific.
#That means for example that setting a limit for wildcard domain here
#can be overriden with a wildcard setting in a config file in the
#subdirectory, but a user specific setting here can be overriden only
#with a user specific setting in the subdirectory.
#
#Each line describes a limit for a user in the form:
#
#<domain>        <type>  <item>  <value>
#
#Where:
#<domain> can be:
#        - a user name
#        - a group name, with @group syntax
#        - the wildcard *, for default entry
#        - the wildcard %, can be also used with %group syntax,
#                 for maxlogin limit
#
#<type> can have the two values:
#        - "soft" for enforcing the soft limits
#        - "hard" for enforcing hard limits
#
#<item> can be one of the following:
#        - core - limits the core file size (KB)
#        - data - max data size (KB)
#        - fsize - maximum filesize (KB)
#        - memlock - max locked-in-memory address space (KB)
#        - nofile - max number of open file descriptors
#        - rss - max resident set size (KB)
#        - stack - max stack size (KB)
#        - cpu - max CPU time (MIN)
#        - nproc - max number of processes
#        - as - address space limit (KB)
#        - maxlogins - max number of logins for this user
#        - maxsyslogins - max number of logins on the system
#        - priority - the priority to run user process with
#        - locks - max number of file locks the user can hold
#        - sigpending - max number of pending signals
#        - msgqueue - max memory used by POSIX message queues (bytes)
#        - nice - max nice priority allowed to raise to values: [-20, 19]

#        - rtprio - max realtime priority
#
#<domain>      <type>  <item>         <value>
#

#*               soft    core            unlimited
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -	 maxlogins	 4

# End of file







 GNU nano 2.3.1                  Файл: /etc/sysctl.conf                                          

# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
# kernel.core_pattern = /var/crash/core.%e.%p.%h.%t
# fs.suid_dumpable = 2


anastas
() автор топика
Ответ на: комментарий от alex0x08

есть папка Sky_received_files видимо туда и сохраняются данные.Сформировалась при запуске, но т.к. у меня нет учетной записи, то там нет данных. Теоритически у пользователя она будет содержать данные истории?(при условии что они хранятся локально)

anastas
() автор топика
Ответ на: комментарий от anastas

Символ # используется для комментариев. Строчки с ним в начале ОС воспринимает как пустые.

Может админа позовешь, а? Что-то у тебя ну совсем плохо со знаниями.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от anastas

Если все так сложно, тогда попробуйте другой сценарий: поднимите виртуалку с СentOS как у пользователя, сами туда поставьте этот Sky и пройдите все описанные выше шаги.

alex0x08 ★★★
()
Ответ на: комментарий от alex0x08

Я точно так и делаю))) Только УЗ то нет, прога проприетарная, т.е. учетки, а соответственно и истории, как у него не будет.

Вот еще бы дамп отправить, но тоже никак не получается

anastas
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid
[Anastas@localhost ~]$ sudo nano /etc/sysctl.conf
[sudo] пароль для Anastas: 
[Anastas@localhost ~]$ sudo nano /etc/security/limits.conf
[Anastas@localhost ~]$ sudo sysctl -p
kernel.core_pattern = /var/crash/core.%e.%p.%h.%t
fs.suid_dumpable = 2
[Anastas@localhost ~]$ sudo systemctl start abrtd.service
[Anastas@localhost ~]$ sudo systemctl start abrt-ccpp.service
[Anastas@localhost ~]$  ./crash
Исключение в операции с плавающей точкой
[Anastas@localhost ~]$ ls -l /var/crash/
итого 0
[Anastas@localhost ~]$ 


Конфиги: 



GNU nano 2.3.1               Файл: /etc/security/limits.conf                                    

# /etc/security/limits.conf
#
#This file sets the resource limits for the users logged in via PAM.
#It does not affect resource limits of the system services.
#
#Also note that configuration files in /etc/security/limits.d directory,
#which are read in alphabetical order, override the settings in this
#file in case the domain is the same or more specific.
#That means for example that setting a limit for wildcard domain here
#can be overriden with a wildcard setting in a config file in the
#subdirectory, but a user specific setting here can be overriden only
#with a user specific setting in the subdirectory.
#
#Each line describes a limit for a user in the form:
#
#<domain>        <type>  <item>  <value>
#
#Where:
#<domain> can be:
#        - a user name
#        - a group name, with @group syntax
#        - the wildcard *, for default entry
#        - the wildcard %, can be also used with %group syntax,
#                 for maxlogin limit
#
#<type> can have the two values:
#        - "soft" for enforcing the soft limits
#        - "hard" for enforcing hard limits
#
#<item> can be one of the following:
#        - core - limits the core file size (KB)
#        - data - max data size (KB)
#        - fsize - maximum filesize (KB)
#        - memlock - max locked-in-memory address space (KB)
#        - nofile - max number of open file descriptors
#        - rss - max resident set size (KB)
#        - stack - max stack size (KB)
#        - cpu - max CPU time (MIN)
#        - nproc - max number of processes
#        - as - address space limit (KB)
#        - maxlogins - max number of logins for this user
#        - maxsyslogins - max number of logins on the system
#        - priority - the priority to run user process with
#        - locks - max number of file locks the user can hold
#        - sigpending - max number of pending signals
#        - msgqueue - max memory used by POSIX message queues (bytes)
#        - nice - max nice priority allowed to raise to values: [-20, 19]

#        - rtprio - max realtime priority
#
#<domain>      <type>  <item>         <value>
#

                 soft    core            unlimited
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -	 maxlogins	 4

# End of file







 GNU nano 2.3.1                  Файл: /etc/sysctl.conf                                          

# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
  kernel.core_pattern = /var/crash/core.%e.%p.%h.%t
  fs.suid_dumpable = 2



Подскажите, что может быть не так пжлст

anastas
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Скажите пожалуйста как настроить, ну пожалуйста(

Нужно дамп включить(на сентосе он отключен вроде поумолчанию) И как тогда сохранить его при падении проги…

anastas
() автор топика
Ответ на: комментарий от anastas

Весь Qt основан на асинхронной событийной модели, поэтому когда такое приложение падает понять причину по одной только трассировке будет проблематично.

Фактически все это:

/usr/lib/sky/lib64/libQt5Gui.so.5 #8 0x00007f663e13973c in ?? () from /usr/lib/sky/lib64/libQt5Gui.so.5 #9 0x00007f663d527909 in QObject::event(QEvent*) () from /usr/lib/sky/lib64/libQt5Core.so.5 #10 0x00007f663e7d3fe4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/sky/lib64/libQt5Widgets.so.5 #11 0x00007f663e7d991e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/sky/lib64/libQt5Widgets.so.5 #12 0x00007f663d4fa3a9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/sky/lib64/libQt5Core.so.5 #13 0x00007f663d54d3a3 in QTimerInfoList::activateTimers() () —Type to continue, or q to quit— from /usr/lib/sky/lib64/libQt5Core.so.5 #14 0x00007f663d54e591 in ?? () from /usr/lib/sky/lib64/libQt5Core.so.5 #15 0x00007f663775e119 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 #16 0x00007f663775e478 in g_main_context_iterate.isra.19 () from /lib64/libglib-2.0.so.0 #17 0x00007f663775e52c in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #18 0x00007f663d54dc2b in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/sky/lib64/libQt5Core.so.5 #19 0x00007f663d4f9293 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/sky/lib64/libQt5Core.so.5 #20 0x00007f663d4fd972 in QCoreApplication::exec() () from 

лишь цепочка обработки события, но вот место откуда событие пришло хрен найдешь.

Так что не знаю чем поможет дамп.

alex0x08 ★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Получилось настроить по вашей подсказке только abrt(так понимаю урезанный дамп..и вы здесь скажете, такой же урезанный как мой мозг)))), но направьте пжлст, как сделать полный дамп ядра? Или он сделан и как его прочитать? не могу найти инструкции(


[Anastas@localhost ~]$ abrt-cli -a ls
==== AUTHENTICATING FOR org.freedesktop.problems.getall ===
Reading others problems requires authentication
Authenticating as: Anastas
Password: 
==== AUTHENTICATION COMPLETE ===
id a49f17f386edd9e75acd5bb2bf806d120ade93a8
reason:         crash killed by SIGFPE
time:           Чт 14 дек 2023 16:24:29
cmdline:        ./crash
uid:            1000 (Anastas)
count:          3
Directory:      /var/spool/abrt/ccpp-2023-12-14-16:24:29-3456

id 9e66ea41f0f443f5af432edd58dc38c065d873d9
reason:         vmtoolsd killed by SIGABRT
time:           Вт 05 дек 2023 15:00:24
cmdline:        /usr/bin/vmtoolsd -n vmusr
package:        open-vm-tools-10.1.10-3.el7.alteros.1
uid:            1000 (Anastas)
count:          1
Directory:      /var/spool/abrt/ccpp-2023-12-05-15:00:24-2018
[Anastas@localhost ~]$ 

anastas
() автор топика
Ответ на: комментарий от alex0x08

На данный момент Пользователь ответил, что ему помог запуск с этой командой, что странно без удаления папки, где приложение хранит данные. Прога запустилась и работает корректно

anastas
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

А можете пожалуйста поподробнее описать типы дампов, может какая-то инфа есть(мне не гуглится конкретно этот вопрос) Связано ли падение ПО сдампов ядра? Затрагивает ли падение пользовательского приложения ядро?

anastas
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid
[Anastas@localhost pofig]$ sudo ./checkprog 
Исключение в операции с плавающей точкой (core dumped)
[Anastas@localhost pofig]$ gdb /home/Anastas/pofig/checkprog /var/crash/core.
core.checkprog.8545.localhost.localdomain.1703135557



вот это дамп  приложения?(программы, которая выполняет деление на ноль)
anastas
() автор топика
Ответ на: комментарий от anastas

Приложения. Core dump — у приложения. Kernel dump — у ядра. При первом падает приложение, при втором вся ОС целиком.

Core dump просто исторически так называется со времен мейнфреймов, это такие большие с комнату ЭВМ, без ОС, код напрямую работает с железом, а память на магнитных сердечниках — именно сброс состояния памяти на внешние носители и называли этим термином.

Потом он уже стал применятся для дампов упавших приложений в многозадачных ОС.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)