[РЕШЕНО] Не могу настроить снятие дампа упавшего приложения

Не могу в 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?????
Ошибки не исчезают с опытом - они просто умнеют
Уточнение - в ручную, с утилитой "catchsegv", дамп сбрасывается нормально.
Но хотелось бы настроить автоматический сброс дампа при падении приложения.
Такое впечатление, что где то прописан фильтр обработчика событий error signal ....................)))
Ошибки не исчезают с опытом - они просто умнеют
Банальная ошибка, связанная с правами доступа - решилось изменением (для удобства) пути и правами доступа к папке dumps
kernel.core_pattern = /var/log/dumps/core-%e-%s
Тестовая проверка - завершается выводом - Ошибка сегментирования (core dumped) - файл дампа в нужном месте.
Ошибки не исчезают с опытом - они просто умнеют
vasek, а как настраивал рассказывай.... или ссылочку для просвещения...

А то тоже есть прога вываливается с segfault, и без объяснения причин...
И что ей не хватает неизвестно. А я хочу знать!
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Включение генерации дампов (по умолчанию отключена) — для конкретного 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 — небольшая статейка, для первоначального знакомства.
Ошибки не исчезают с опытом - они просто умнеют
Пока ничего из этого не делал. может и без доп настройки можно обойтись...
вот что выводит в консоль.

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
catchsegv 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:
catchsegv qbittorrent  4,07s user 5,07s system 59% cpu 15,480 total
А на test реагирует!
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
Щитаю задача раскручивания стека -- решена
Функция ест
Используя catchsegv ты даже не получил дампа.
Если получаешь дамп, до обязательно должен быть указан стэк, типа такого
…................
Backtrace:
…....................................
Если есть желание разобраться (хотя бы дойти до библиотек) нужно все-таки снять дамп, а затем, попробовать загрузить дамп в gdb (придется устанавливать)
$ gdb <путь до проги или ее команда запуска > <путь до дампа>
(gdb) bt ///ввести bt — и enter - это покажет стэк перед падением.
Ясно, что в стэк положили последним, будет первым. Ну а дальше как повезет — нужно смотреть, что за инструкции были в стэке. Но без спецсофта ты это не посмотришь.
Но уж слишком у тебя сложная прога — с выходом на сеть. Если честно, то тут и специалисту работы в копании в assembler на несколько дней, при условии, что будет везти.
Ошибки не исчезают с опытом - они просто умнеют
Используя catchsegv ты даже не получил дампа.
В том то и дело что ничего нет, не от чего оттолкнуться..
Прога как бы работает, но вылетает только при загрузке торрентов. (((
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
По поводу ошибки - libpng warning: iCCP: known incorrect sRGB profile - посмотри здесь. В детали не вдавался.
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.