Разработки проекта PuppyRus > Программирование и компиляция
Диагностика "Ошибка сегментирования" (Segmentation fault). Пример
sfs:
запускаем отладчик gdb:
--- [ Читать далее ] ---
sudo gdb -q
Подключаемся к программе:
(gdb) attach ваш_pid
После подключения программа станет на паузу, продолжаем ее выполнение командой:
(gdb) continue
segfault
Затем вам осталось только вызвать ошибку:
segfault1
И набрать команду, которая выведет стек последних вызовов:
(gdb) backtrace
Вывод этой команды и нужно отправлять разработчикам. Чтобы отключиться от программы и выйти наберите:
(gdb) detach
(gdb) quit
Дальше остается отправить отчет и ждать исправления ошибки
--- Конец цитаты ---
При открытии https://wiki.archlinux.org/ и некоторых других сайтов в palemoon basilisk получаю : Ошибка сегментирования
firefox - падает только вкладка
chrome - без проблем
В PRA6408 не проявляется
Железо
--- [ Читать далее ] ---
--- Код ---
CPU~Dual core Intel Celeron G540 (-MCP-) speed/max~1596/2500 MHz Kernel~4.15.4-pf x86_64 Up~38 min Mem~2732.3/7893.5MB HDD~240.1GB(87.7% used) Procs~168 Client~Shell inxi~2.3.56
Graphics: Card: Intel 2nd Generation Core Integrated Graphics Controller
Display Server: X.Org 1.20.4 drivers: modesetting (unloaded: fbdev,vesa)
Resolution: 1920x1080@60.00hz
OpenGL: renderer: Mesa DRI Intel Sandybridge Desktop version: 3.3 Mesa 18.3.6
--- Конец кода ---
--- Конец цитаты ---
Пробовал :
Ядра 415 и 51
с mesa и без
Убивал профиль браузера
Подгонял nss из деб репы
Брал palemoon для дебиана
Ничего не помогло
В antix в виртуалке - все ок
У кого-то еще проявляется? Или у меня железо веселое... Уже с ядром на нем был эксклюзив и сетевуха умерла
krasnyh:
Наверно это выглядит забавно, но эти браузеры падают из-за тайского текста на странице. :) Для примера можно открыть любой сайт, где он присутствует.
(Проверять в LFD10.)
gdb
Скрин.
sfs:
Да. Добавление libthai-data_0.1.28-2_all libthai0_0.1.28-2_amd64 решает проблему
Спасибо+
krasnyh:
--- Цитата: krasnyh от 13 Ноябрь 2021, 13:59:29 ---
--- Цитата: Pro от 12 Ноябрь 2021, 13:43:45 ---[ 280.119405] pool-pup-volume[8319]: segfault at 40 ip 00007f53274adfc0 sp 00007f532630ad98 error 4 in libpupvm.so.0.0.0[7f53274a2000+12000]
--- Конец цитаты ---
В простых случаях, причину можно самостоятельно отловить с gdb. Например, ситуация когда падали браузеры из-за отсутствия библиотек для тайского текста. :)
Но есть и случаи, когда находишь виновника segfault (gdb указал на /usr/lib/libgtk-3.so.0), и что с ним дальше делать... Компилить с нуля, но там проект уже давно заброшен.
--- Цитата: krasnyh от 22 Октябрь 2021, 19:17:38 ---2. Не работает скриншот:
--- Код ---
live@roll2110 ~ % vera-screenshot -e
[1] 14174 segmentation fault (core dumped) vera-screenshot -e
--- Конец кода ---
--- Конец цитаты ---
--- [+] лог gdb ---
--- Код ---
Thread 1 "vera-screenshot" received signal SIGSEGV, Segmentation fault.
0x00007ffff7bfe300 in ?? () from /usr/lib/libgtk-3.so.0
(gdb) bt
#0 0x00007ffff7bfe300 in () at /usr/lib/libgtk-3.so.0
#1 0x00007ffff79484c6 in () at /usr/lib/libgtk-3.so.0
#2 0x00007ffff7528fdf in () at /usr/lib/libgobject-2.0.so.0
#3 0x00007ffff7529430 in () at /usr/lib/libgobject-2.0.so.0
#4 0x00007ffff752a79b in g_object_new_valist () at /usr/lib/libgobject-2.0.so.0
#5 0x00007ffff752acfa in g_object_new () at /usr/lib/libgobject-2.0.so.0
#6 0x0000555555406453 in ()
#7 0x0000555555406ab9 in ()
#8 0x00007ffff73a4a84 in () at /usr/lib/libglib-2.0.so.0
#9 0x00007ffff73a43e5 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#10 0x00007ffff73f8749 in () at /usr/lib/libglib-2.0.so.0
#11 0x00007ffff73a3a63 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#12 0x00007ffff7ad7c0f in gtk_main () at /usr/lib/libgtk-3.so.0
#13 0x0000555555403fe6 in ()
#14 0x00007ffff6c2ce4e in __libc_start_call_main () at /usr/lib/libc.so.6
#15 0x00007ffff6c2cefc in __libc_start_main_impl () at /usr/lib/libc.so.6
#16 0x00005555554044ba in ()
--- Конец кода ---
--- Конец цитаты ---
--- Конец цитаты ---
Вообщем,
1. загрузился с флешки с prar2110 в вирте, со всеми обновами.
2. подключил все что можно - DEVX, pkg-2110, gdb, pra6407extra/vera-screenshot, icu и выполнил pacman -Syy.
3. определил пакеты либ, указанные в "лог gdb" с pacman -F.
4. переустановил то, что не было указано как "[установлен]", pacman -S gtk3 glibc tracker3 --overwrite \*
Итог, vera-screenshot -e запустился и нормально отработал, выделив и сохранив скрин. Предварительная причина segfault, левые установленные gtk3, glibc (может и не причем) и tracker3-fake-2021.03-5.
krasnyh:
--- Цитата: krasnyh от 13 Ноябрь 2021, 15:56:12 ---Предварительная причина segfault, левые установленные gtk3, glibc (может и не причем) и tracker3-fake-2021.03-5
--- Конец цитаты ---
Достаточно переустановить gtk3, удалив gtk3-ubuntu-light и tracker3, удалив tracker3-fake-2021.03-5.
Навигация
Перейти к полной версии