vasek |
|
Темы:
47
Сообщения:
11872
Участник с: 17 февраля 2013
|
Не могу в Arch настроить снятие дампа падающего приложения (segfault) [ 9699.215000] test-core[3995]: segfault at 0 ip b764e747 sp bff6ff20 error 4 in libc-2.17.so[b75ea000+1a8000] Вроде все настроил, а дампа не вижу - ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited fs.suid_dumpable = 2 - cat /proc/sys/kernel/core_pattern /home/user/tmp/core-%e-%s-%u-%g-%p-%t - cat /proc/sys/kernel/core_uses_pid 1 - cat /etc/security/limits.conf * soft core unlimited - cat /proc/config.gz | gzip -d | grep _CORE CONFIG_ELF_CORE=y Где то, что то не настроено????? Или нужно что то активировать в systemd?????
Ошибки не исчезают с опытом - они просто умнеют
|
vasek |
|
Темы:
47
Сообщения:
11872
Участник с: 17 февраля 2013
|
Уточнение - в ручную, с утилитой "catchsegv", дамп сбрасывается нормально. Но хотелось бы настроить автоматический сброс дампа при падении приложения. Такое впечатление, что где то прописан фильтр обработчика событий error signal ....................)))
Ошибки не исчезают с опытом - они просто умнеют
|
vasek |
|
Темы:
47
Сообщения:
11872
Участник с: 17 февраля 2013
|
Банальная ошибка, связанная с правами доступа - решилось изменением (для удобства) пути и правами доступа к папке dumps kernel.core_pattern = /var/log/dumps/core-%e-%s Тестовая проверка - завершается выводом - Ошибка сегментирования (core dumped) - файл дампа в нужном месте.
Ошибки не исчезают с опытом - они просто умнеют
|
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
vasek, а как настраивал рассказывай.... или ссылочку для просвещения... А то тоже есть прога вываливается с segfault, и без объяснения причин... И что ей не хватает неизвестно. А я хочу знать!
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
vasek |
|
Темы:
47
Сообщения:
11872
Участник с: 17 февраля 2013
|
Включение генерации дампов (по умолчанию отключена) — для конкретного user 1. Общая проверка $ ulimit -a — настройки по умолчанию — необходимо настроить только core file size (по умолчанию = 0 - $ ulimit -c - 0 ) Выставляем $ ulimit -c unlimited Этот параметр будет действовать только в течение данной загрузки. Я установил на постоянку — добавил эту команду (ulimit -c unlimited) в скрипт запуска .bash_profile 2. Редактируем файл /etc/sysctl.conf — добавил в конец строки …...................... # Dump kernel.core_uses_pid = 1 /// добавляет к имени файла дампа номер PID процесса (не обязательная строка) kernel.core_pattern = /var/log/dumps/core-%e-%s /// директория для сброса, как пример fs.suid_dumpable = 2 /// обеспечивает создание дампов ядра для программ с setuid битом …....................... PS......подробности расшифровки в man core 3. Создаем папку и ставим права доступа 777 mkdir -p /var/log/dumps (пример) chmod -R 777 /var/log/dumps 4. Это все, но я, на всякий случай, еще правлю файл /etc/security/limits.conf убираю комент и заменяю ноль, вообщем строка после правки выглядит так * soft core unlimited 5. Все заработает после перегрузки — но можно и сразу - # sysctl-p - но я привык по-старинке, с перегрузом. 6. Для проверки можно создать простенький тест - создаем файл test.c …........................ int a (int *p) { int y = *p; return y; } int main (void) { int *p = 0; /* null pointer */ return a (p); } …........................ - компилируем - gcc test.c -o test - тестируем 7. Для ловли segfault — небольшая статейка, для первоначального знакомства.
Ошибки не исчезают с опытом - они просто умнеют
|
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
Пока ничего из этого не делал. может и без доп настройки можно обойтись... вот что выводит в консоль. qbittorrent libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile ************************************************************* Catching SIGSEGV, please report a bug at http://bug.qbittorrent.org and provide the following backtrace: qBittorrent version: v3.0.9 stack trace: [1] 12487 segmentation fault (core dumped) qbittorrent qbittorrent 3,70s user 5,01s system 67% cpu 12,897 total libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile ************************************************************* Catching SIGSEGV, please report a bug at http://bug.qbittorrent.org and provide the following backtrace: qBittorrent version: v3.0.9 stack trace: catchsegv qbittorrent 4,07s user 5,07s system 59% cpu 15,480 total catchsegv /home/admin/bin/test *** Segmentation fault Register dump: RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 00007fff7afef7f8 RSI: 00007fff7afef7e8 RDI: 0000000000000000 RBP: 00007fff7afef6e0 R8 : 00007f43deb29c80 R9 : 00007f43ded41e90 R10: 00007fff7afef590 R11: 00007f43de7a2920 R12: 00000000004003c0 R13: 00007fff7afef7e0 R14: 0000000000000000 R15: 0000000000000000 RSP: 00007fff7afef6e0 RIP: 00000000004004bc EFLAGS: 00010206 CS: 0033 FS: 0000 GS: 0000 Trap: 0000000e Error: 00000004 OldMask: 00000000 CR2: 00000000 FPUCW: 0000037f FPUSW: 00000000 TAG: 00000000 RIP: 00000000 RDP: 00000000 ST(0) 0000 0000000000000000 ST(1) 0000 0000000000000000 ST(2) 0000 0000000000000000 ST(3) 0000 0000000000000000 ST(4) 0000 0000000000000000 ST(5) 0000 0000000000000000 ST(6) 0000 0000000000000000 ST(7) 0000 0000000000000000 mxcsr: 1f80 XMM0: 00000000000000000000000000000000 XMM1: 00000000000000000000000000000000 XMM2: 00000000000000000000000000000000 XMM3: 00000000000000000000000000000000 XMM4: 00000000000000000000000000000000 XMM5: 00000000000000000000000000000000 XMM6: 00000000000000000000000000000000 XMM7: 00000000000000000000000000000000 XMM8: 00000000000000000000000000000000 XMM9: 00000000000000000000000000000000 XMM10: 00000000000000000000000000000000 XMM11: 00000000000000000000000000000000 XMM12: 00000000000000000000000000000000 XMM13: 00000000000000000000000000000000 XMM14: 00000000000000000000000000000000 XMM15: 00000000000000000000000000000000 Backtrace: ??:?(a)[0x4004bc] ??:?(main)[0x4004e2] /usr/lib/libc.so.6(__libc_start_main+0xf5)[0x7f43de7a2a15] ??:?(_start)[0x4003e9] Memory map: 00400000-00401000 r-xp 00000000 08:05 3934688 /home/admin/bin/test 00600000-00601000 rw-p 00000000 08:05 3934688 /home/admin/bin/test 023bf000-023e4000 rw-p 00000000 00:00 0 [heap] 7f43de56b000-7f43de580000 r-xp 00000000 08:03 6579 /usr/lib/libgcc_s.so.1 7f43de580000-7f43de780000 ---p 00015000 08:03 6579 /usr/lib/libgcc_s.so.1 7f43de780000-7f43de781000 rw-p 00015000 08:03 6579 /usr/lib/libgcc_s.so.1 7f43de781000-7f43de924000 r-xp 00000000 08:03 298093 /usr/lib/libc-2.17.so 7f43de924000-7f43deb24000 ---p 001a3000 08:03 298093 /usr/lib/libc-2.17.so 7f43deb24000-7f43deb28000 r--p 001a3000 08:03 298093 /usr/lib/libc-2.17.so 7f43deb28000-7f43deb2a000 rw-p 001a7000 08:03 298093 /usr/lib/libc-2.17.so 7f43deb2a000-7f43deb2e000 rw-p 00000000 00:00 0 7f43deb2e000-7f43deb32000 r-xp 00000000 08:03 298109 /usr/lib/libSegFault.so 7f43deb32000-7f43ded31000 ---p 00004000 08:03 298109 /usr/lib/libSegFault.so 7f43ded31000-7f43ded32000 r--p 00003000 08:03 298109 /usr/lib/libSegFault.so 7f43ded32000-7f43ded33000 rw-p 00004000 08:03 298109 /usr/lib/libSegFault.so 7f43ded33000-7f43ded54000 r-xp 00000000 08:03 298100 /usr/lib/ld-2.17.so 7f43def19000-7f43def1c000 rw-p 00000000 00:00 0 7f43def53000-7f43def54000 rw-p 00000000 00:00 0 7f43def54000-7f43def55000 r--p 00021000 08:03 298100 /usr/lib/ld-2.17.so 7f43def55000-7f43def56000 rw-p 00022000 08:03 298100 /usr/lib/ld-2.17.so 7f43def56000-7f43def57000 rw-p 00000000 00:00 0 7fff7afd0000-7fff7aff1000 rw-p 00000000 00:00 0 [stack] 7fff7affe000-7fff7b000000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] qbittorrent раньше работал до 3 версии, а потом все сломалось! систему несколько раз переустанавливал, и всегда тоже самое. И куда копать ума не приложу (((
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
ivand |
|
Темы:
9
Сообщения:
477
Участник с: 04 января 2013
|
Щитаю задача раскручивания стека -- решена Функция ест |
vasek |
|
Темы:
47
Сообщения:
11872
Участник с: 17 февраля 2013
|
Используя catchsegv ты даже не получил дампа. Если получаешь дамп, до обязательно должен быть указан стэк, типа такого …................ Backtrace: ….................................... Если есть желание разобраться (хотя бы дойти до библиотек) нужно все-таки снять дамп, а затем, попробовать загрузить дамп в gdb (придется устанавливать) $ gdb <путь до проги или ее команда запуска > <путь до дампа> (gdb) bt ///ввести bt — и enter - это покажет стэк перед падением. Ясно, что в стэк положили последним, будет первым. Ну а дальше как повезет — нужно смотреть, что за инструкции были в стэке. Но без спецсофта ты это не посмотришь. Но уж слишком у тебя сложная прога — с выходом на сеть. Если честно, то тут и специалисту работы в копании в assembler на несколько дней, при условии, что будет везти.
Ошибки не исчезают с опытом - они просто умнеют
|
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
Используя catchsegv ты даже не получил дампа.В том то и дело что ничего нет, не от чего оттолкнуться.. Прога как бы работает, но вылетает только при загрузке торрентов. (((
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
vasek |
|
Темы:
47
Сообщения:
11872
Участник с: 17 февраля 2013
|
По поводу ошибки - libpng warning: iCCP: known incorrect sRGB profile - посмотри здесь. В детали не вдавался.
Ошибки не исчезают с опытом - они просто умнеют
|