|
Версия программы:
=================
hplip-3.22.6-alt1
sane-server-1.0.32-alt4
Шаги, приводящие к ошибке:
==========================
1) Настроить sane-server:
1.1) Установить sane-server sane xinetd
1.2) Раскомментировать строки в /etc/services, начинающиеся с sane-port.
1.3) Создать файл /etc/xinetd.d/sane со следующим содержимым:
service sane
{
disable = no
port = 6566
socket_type = stream
wait = no
user = _saned
group = scanner
server = /usr/sbin/saned
only_from = <ВВЕСТИ IP АДРЕС КЛИЕНТА>
}
1.4) Запустить сервис xinetd
1.5) Подключить сканер к серверу
2) Выполнить команду scanimage -L на сервере и на клиенте, сравнить выводы
3) На сервер установить hplip и установить hp plugin с помощью команды hp-plugin
4) Снова сравнить выводы команды scanimage -L на клиенте и на сервере.
Результат:
==========
До установки плагина hp сканеры отображаются на клиенте, и на них можно проводить сканирование. После установки плагина: на клиенте при вызове команды scanimage -L возникает ошибка сегментирования. Такие программы как gimagereader-qt5 и xsane также не запускаются из-за этой ошибки.
Ожидаемый результат:
====================
Подключенные к серверу сканеры отображаются в выводе scanimage -L на клиенте. Сканирование на клиенте на сканерах с удаленного сервера проходит успешно.
Дополнительно:
==============
В P10 на таких же версиях указанных программ и в P9 на hplip-3.21.12-alt1 и sane-server-1.0.32-alt2 ошибка сегментирования не возникает: сканеры, подключенные к серверу, больше не определяются и отсутствуют в выводе команды scanimage -L, запущенной на клиенте.
|
0
1
Спецы приветствую.
Linux mint 17. Сканер hp scanjet 2400.
При попытке сканирования падает с ошибкой ошибка сегментирования, падает под user и под root. Сканер определяется в списках, нормально сканирует в виртуальной windows XP. А в linux никак…
Как ему мозги вправить?
scanimage -L
device `genesys:libusb:005:006′ is a Hewlett Packard ScanJet 2400c flatbed scanner
sane-find-scanner -q
found USB scanner (vendor=0x03f0 [Hewlett-Packard], product=0x0a01 [hp scanjet scanner]) at libusb:005:006
Не всегда программы в Linux запускаются как положено. Иногда, в силу разных причин программа вместо нормальной работы выдает ошибку. Но нам не нужна ошибка, нам нужна программа, вернее, та функция, которую она должна выполнять. Сегодня мы поговорим об одной из самых серьезных и непонятных ошибок. Это ошибка сегментации Ubuntu. Если такая ошибка происходит только один раз, то на нее можно не обращать внимания, но если это регулярное явление нужно что-то делать.
Конечно, случается эта проблема не только в Ubuntu, а во всех Linux дистрибутивах, поэтому наша инструкция будет актуальна для них тоже. Но сосредоточимся мы в основном на Ubuntu. Рассмотрим что такое ошибка сегментирования linux, почему она возникает, а также как с этим бороться и что делать.
Что такое ошибка сегментации?
Ошибка сегментации, Segmentation fault, или Segfault, или SIGSEGV в Ubuntu и других Unix подобных дистрибутивах, означает ошибку работы с памятью. Когда вы получаете эту ошибку, это значит, что срабатывает системный механизм защиты памяти, потому что программа попыталась получить доступ или записать данные в ту часть памяти, к которой у нее нет прав обращаться.
Чтобы понять почему так происходит, давайте рассмотрим как устроена работа с памятью в Linux, я попытаюсь все упростить, но приблизительно так оно и работает.
Допустим, в вашей системе есть 6 Гигабайт оперативной памяти, каждой программе нужно выделить определенную область, куда будет записана она сама, ее данные и новые данные, которые она будет создавать. Чтобы дать возможность каждой из запущенных программ использовать все шесть гигабайт памяти был придуман механизм виртуального адресного пространства. Создается виртуальное пространство очень большого размера, а из него уже выделяется по 6 Гб для каждой программы. Если интересно, это адресное пространство можно найти в файле /proc/kcore, только не вздумайте никуда его копировать.
Выделенное адресное пространство для программы называется сегментом. Как только программа попытается записать или прочитать данные не из своего сегмента, ядро отправит ей сигнал SIGSEGV и программа завершится с нашей ошибкой. Более того, каждый сегмент поделен на секции, в некоторые из них запись невозможна, другие нельзя выполнять, если программа и тут попытается сделать что-то запрещенное, мы опять получим ошибку сегментации Ubuntu.
Почему возникает ошибка сегментации?
И зачем бы это порядочной программе лезть, куда ей не положено? Да в принципе, незачем. Это происходит из-за ошибки при написании программ или несовместимых версиях библиотек и ПО. Часто эта ошибка встречается в программах на Си или C++. В этом языке программисты могут вручную работать с памятью, а язык со своей стороны не контролирует, чтобы они это делали правильно, поэтому одно неверное обращение к памяти может обрушить программу.
Почему может возникать эта ошибка при несовместимости библиотек? По той же причине — неверному обращению к памяти. Представим, что у нас есть библиотека linux (набор функций), в которой есть функция, которая выполняет определенную задачу. Для работы нашей функции нужны данные, поэтому при вызове ей нужно передать строку. Наша старая версия библиотеки ожидает, что длина строки будет до 256 символов. Но программа была обновлена формат записи поменялся, и теперь она передает библиотеке строку размером 512 символов. Если обновить программу, но оставить старую версию библиотеки, то при передаче такой строки 256 символов запишутся нормально в подготовленное место, а вот вторые 256 перезапишут данные программы, и возможно, попытаются выйти за пределы сегмента, тогда и будет ошибка сегментирования linux.
Что делать если возникла ошибка сегментирования?
Если вы думаете, что это ошибка в программе, то вам остается только отправить отчет об ошибке разработчикам. Но вы все-таки еще можете попытаться что-то сделать.
Например, если падает с ошибкой сегментации неизвестная программа, то мы можем решить что это вина разработчиков, но если с такой ошибкой падает chrome или firefox при запуске возникает вопрос, может мы делаем что-то не так? Ведь это уже хорошо протестированные программы.
Первое, что нужно сделать — это обновить систему до самой последней версии, возможно, был баг и его уже исправили, а может у вас установлены старые версии библиотек и обновление решит проблему. В Ubuntu это делается так:
sudo apt update
sudo apt full-upgrade
Если это не помогло, нужно обнулить настройки программы до значений по умолчанию, возможно, удалить кэш. Настройки программ в Linux обычно содержатся в домашней папке, скрытых подкаталогах с именем программы. Также, настройки и кэш могут содержаться в каталогах ~/.config и ~/.cache. Просто удалите папки программы и попробуйте снова ее запустить. Если и это не помогло, вы можете попробовать полностью удалить программу, а потом снова ее установить, возможно, какие-нибудь зависимости были повреждены:
sudo apt remove пакет_программы
sudo apt autoremove
sudo apt install пакет_программы
Если есть возможность, попробуйте установить программу из другого источника, например, не из PPA, а более старую версию, из официальных репозиториев.
Когда вы все это выполнили, скорее всего, проблема не в вашем дистрибутиве, а в самой программе. Нужно отправлять отчет разработчикам. В Ubuntu это можно сделать с помощью программы apport-bug. Обычно Ubuntu предлагает это сделать сразу, после того как программа завершилась с ошибкой сегментирования. Если же ошибка сегментирования Ubuntu встречается не в системной программе, то вам придется самим искать разработчиков и вручную описывать что произошло.
Чтобы помочь разработчикам решить проблему, недостаточно отправить им только сообщение что вы поймали Segmentation Fault, нужно подробно описать проблему, действия, которые вы выполняли перед этим, так чтобы разработчик мог их воспроизвести. Также, желательно прикрепить к отчету последние функции, которые вызывала программа (стек вызовов функций), это может очень сильно помочь разработчикам.
Рассмотрим, как его получить. Это не так уж сложно. Сначала запустите вашу программу, затем узнайте ее PID с помощью команды:
pgrep программа
Дальше запускаем отладчик gdb:
sudo gdb -q
Подключаемся к программе:
(gdb) attach ваш_pid
После подключения программа станет на паузу, продолжаем ее выполнение командой:
(gdb) continue
Затем вам осталось только вызвать ошибку:
И набрать команду, которая выведет стек последних вызовов:
(gdb) backtrace
Вывод этой команды и нужно отправлять разработчикам. Чтобы отключиться от программы и выйти наберите:
(gdb) detach
(gdb) quit
Дальше остается отправить отчет и ждать исправления ошибки. Если вы не уверены, что ошибка в программе, можете поспрашивать на форумах. Когда у вас есть стек вызовов, уже можно попытаться, если не понять в чем проблема, то попытаться узнать, не сталкивался ли с подобной проблемой еще кто-то.
Выводы
Теперь у вас есть приблизительный план действий, что нужно делать, когда появляется ошибка сегментирования сделан дамп памяти ubuntu. Если вы знаете другие способы решить эту проблему, напишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
I had problems with segmentation fault in Xsane with my HP4200 USB scanner after upgrading to Ubuntu 20.04 from Ubuntu 18.04.
I found many google suggestions to no avail. I configured and compiled the back end for the HP4200 and it was still crashing.
I enabled the debug messages in the source code and found that the debug messages were telling me that it was crashing always in the same place
a subroutine called do_fine_calibration in the hp4200.c file. In that subroutine memset is called and it appeared that that was where the crash occurred.
If memset is called with a null pointer it tries to access non existent memory. I tried to find if Ubuntu 20.04 did something different in memory management but found nothing.
Anyway it seemed that this code was setting up a large array called registro for which a pointer didn’t seem to exist!
I’m not a memory management guru but after some study i decided to change the registro declaration to set it to 0 when declared
(about line 1377 — int registro[30][5460 * 3] = {0}; with my change)
and then eliminate the code section (line 1496 — about 1505) that memsets the registro array to 0.
After a re ./configuration, make sudo make install and firing up scanimage for a scan, lo and behold the motor took off and began to scan again!
Mageia Russian Community Forum
Форум русскоязычного сообщества пользователей Mageia
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Активные темы Темы без ответов
Работает групповой чат Mageia Russian Community в Telegram. Если Bам не пришло активационное письмо на электронную почту, проверьте секцию «Спам».
Администрация форума призывает всех пользователей писать правильно названия дистрибутивов, компаний, программ, термины и пр., а так же имена и фамилии.
Например: Arch, Debian, Fedora, Windows, AMD, Baobab, NVidia, , т.е. без транслитерации, а в именах и фамилиях давать её в скобках — Linus Torvalds (Линус Торвальдс)
Этот форум и wiki можно считать официальными, так как на них ведут ссылки с официальных сайтов Mageia.
[РЕШЕНО] Где XSane хранит свои настройки?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
1 2017-01-04 19:30:23 (2017-01-07 10:28:11 отредактировано astronom1987)
- astronom1987
- Пользователь
- Offline
- Откуда: Кременец, Украина
- Зарегистрирован: 2012-06-14
- Сообщений: 443
Обыскал домашний каталог, но так и не нашел той папки или же файла, который отвечает за настройки программы сканирования XSane. Их нужно сначала обнулить. Потом дальше разбираться почему баг с этой программой с Mageia 4.1 перелез на Mageia 5.1. А состоит он в том, что XSane после сохранения отсканированного документа просто вылетает не выдавая никакого сообщения об ошибке. Если кому-то будет интересно, то могу показать вывод консоли перед вылетом программы.
2 Ответ от reuz 2017-01-06 00:18:31
- reuz
- Пользователь
- Offline
- Зарегистрирован: 2012-06-20
- Сообщений: 107
astronom1987,
1. /tmp
2. Бага нет ( Mageia 5.1. 32-бит, GTK LXDE, Mustek 2448TA Plus)
LXDE Mаgeia 7.1-x86_64 мать GA-MA78GM-S2H (Radeon HD3200)
3 Ответ от astronom1987 2017-01-06 11:21:44
- astronom1987
- Пользователь
- Offline
- Откуда: Кременец, Украина
- Зарегистрирован: 2012-06-14
- Сообщений: 443
[user@localhost ~]$ xsane
(xsane:3555): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()
(xsane:3555): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()
(xsane:3555): Gtk-WARNING **: Theme directory scalabe/apps of theme Vista blue has no size field
(xsane:3555): Gtk-WARNING **: Theme directory scalable/emotes of theme Vista blue has no size field
(xsane:3555): Gtk-WARNING **: Theme directory scalable/MediaPlayer of theme Vista blue has no size field
(xsane:3555): Gtk-WARNING **: Theme directory 128x128/MediaPlayer of theme Vista blue has no size field
(xsane:3555): Gtk-WARNING **: Theme directory 128x128/mimetpes/48 of theme Vista blue has no size field
[gt68xx] Please wait for lamp warm-up
(xsane:3555): Gtk-CRITICAL **: IA__gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed
Ошибка сегментирования
Как в /tmp могут хранится настройки программы XSane, если эта папка периодически очищается Bleachbit?
4 Ответ от XliN 2017-01-06 11:45:38
- XliN
- Администратор
- Offline
- Откуда: Белгород
- Зарегистрирован: 2012-06-08
- Сообщений: 2,005
astronom1987, Если верить ошибке, не уверен, что то со стилями GTK. Последняя
(xsane:3555): Gtk-CRITICAL **: IA__gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed
Ругается на радио кнопки. У тебя KDE? Попробуй в MATE поработать.
MXLinux 19.3 — xfce
Чем больше я работаю админом, тем больше понимаю,
насколько волшебна фраза — «Нет технической возможности!»
==============================================
5 Ответ от TopE 2017-01-06 11:55:38 (2017-01-06 13:02:45 отредактировано TopE)
- TopE
- Пользователь
- Offline
- Зарегистрирован: 2015-11-22
- Сообщений: 2,084
XliN⇓ пишет:
что то со стилями GTK.
да, скорее всего заюзана кривая тема gtk
astronom1987⇓ пишет:
Gtk-CRITICAL **: IA__gtk_widget_set_sensitive: assertion ‘GTK_IS_WIDGET (widget)’ failed
попробуй темы оформления в дефолт скинуть
ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит
6 Ответ от astronom1987 2017-01-06 18:44:24
- astronom1987
- Пользователь
- Offline
- Откуда: Кременец, Украина
- Зарегистрирован: 2012-06-14
- Сообщений: 443
После смены темы оформления теперь проблема выглядит так:
[user@localhost ~]$ xsane
(xsane:5039): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()
(xsane:5039): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()
(xsane:5039): Gtk-WARNING **: Theme directory scalabe/apps of theme Vista blue has no size field
(xsane:5039): Gtk-WARNING **: Theme directory scalable/emotes of theme Vista blue has no size field
(xsane:5039): Gtk-WARNING **: Theme directory scalable/MediaPlayer of theme Vista blue has no size field
(xsane:5039): Gtk-WARNING **: Theme directory 128x128/MediaPlayer of theme Vista blue has no size field
(xsane:5039): Gtk-WARNING **: Theme directory 128x128/mimetpes/48 of theme Vista blue has no size field
(xsane:5039): Gtk-CRITICAL **: IA__gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed
(xsane:5039): Gtk-CRITICAL **: IA__gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed
(xsane:5039): Gtk-CRITICAL **: IA__gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed
Ошибка сегментирования
7 Ответ от XliN 2017-01-06 20:24:27
- XliN
- Администратор
- Offline
- Откуда: Белгород
- Зарегистрирован: 2012-06-08
- Сообщений: 2,005
astronom1987, Попробуй удалить папку ~/.sane/xsane
MXLinux 19.3 — xfce
Чем больше я работаю админом, тем больше понимаю,
насколько волшебна фраза — «Нет технической возможности!»
==============================================
Сообщений 7
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Ошибка сегментирования
Модераторы: Warderer, Модераторы разделов
-
Cormorant
- Сообщения: 9
- ОС: Debian
Ошибка сегментирования
С некоторых пор при запуске например tilda, в консоли пишет такое сообщение.
Еще сканер настроил, пробую scanimage -L — тоже «Ошибка сегментирования».
Результат: нет любимого терминала под рукой и сканер не пашет (xsane не запускается, только с другой ошибкой).
Система Debian 5.03 lenny, gnome/openbox.
Пишу:
$ scanimage -L
Ошибка сегментирования
$ tilda
Ошибка сегментирования
$ tail /var/log/messages
…
Jan 12 09:08:02 MAINCOMP kernel: [ 3318.991559] scanimage[2694]: segfault at 5a18db4 ip bff9b094 sp b7f3dce0 error 4
Jan 12 09:08:12 MAINCOMP kernel: [ 3329.122793] tilda[2696]: segfault at 0 ip 0805012b sp bf952f20 error 4 in tilda[8048000+13000]
Переустановил пакет tilda — всё тоже самое.
В непонятках.
La propriete c’est le vol.
-
SoaT
- Сообщения: 52
- ОС: Debian sid
Re: Ошибка сегментирования
Сообщение
SoaT » 12.01.2010 04:33
Пардон, присоединюсь. У меня она вываливается при apt-get update очень часто. Приходится по несколько раз прогонять 
noob.Debian.sid.ждиответногогудка
-
Uncle_Theodore
- Сообщения: 3339
- ОС: Slackware 12.2, ArchLinux 64
Re: Ошибка сегментирования
Сообщение
Uncle_Theodore » 12.01.2010 05:33
1) Проверьте память на предмет битости;
2) Попробуйте запускать вылетающую программу через strace или gdb;
3) Посмотрите в свежих багрепортах и, если не найдете, пишите свой багрепорт.
Сегфолт — это проблема в аппликации, а не в настройках. Ничего не поделать.
-
44616e
- Сообщения: 204
- ОС: Debian testing
Re: Ошибка сегментирования
Сообщение
44616e » 12.01.2010 16:17
Если мне не изменяет память Intel начинает тротлить уже при 69. 77 — это много. Из процессоров, которые были у меня самым горячим был P2.4 Prescott — 60.
-
Bluetooth
- Сообщения: 4395
- Статус: Блюзовый
- ОС: Debian Squeeze amd64
Re: Ошибка сегментирования
Сообщение
Bluetooth » 12.01.2010 18:21
SoaT писал(а): ↑
12.01.2010 11:01
Скорее по-оффтопу. 77 °C камня — норма?
нет, не норма
Я, правда, не знаю на 100%, но lm-sensors пишут, что у моего квада хай температура — 74, а критическая — 100. Честно говоря, я не уверен, что это не взято с потолка, однако, по моему опыту, такая температура не есть здоровая. У вас ноутбук или десктоп?(вот у меня он щас на 41, при нагрузке больше 50 не нагревается)
-
SoaT
- Сообщения: 52
- ОС: Debian sid
Re: Ошибка сегментирования
Сообщение
SoaT » 12.01.2010 20:35
У меня десктоп. Разогнано шиной, 77-78 держит, выше 80 не поднимается даже при больших нагрузках. В биосе вроде прописано что это еще нормально 
noob.Debian.sid.ждиответногогудка
-
Bluetooth
- Сообщения: 4395
- Статус: Блюзовый
- ОС: Debian Squeeze amd64
Re: Ошибка сегментирования
Сообщение
Bluetooth » 12.01.2010 21:19
SoaT писал(а): ↑
12.01.2010 20:35
У меня десктоп. Разогнано шиной, 77-78 держит, выше 80 не поднимается даже при больших нагрузках. В биосе вроде прописано что это еще нормально
Я бы снизил разгон, или добавил бы охлаждения, чтобы довести до того, чтобы температура не поднималась выше 70. Потом поюзал бы систему. Скорее всего, все эти сегфолты пропадут.
-
SoaT
- Сообщения: 52
- ОС: Debian sid
Re: Ошибка сегментирования
Сообщение
SoaT » 13.01.2010 10:55
Дело в том что траблы с сигментированием пришли внезапно. Имели место, а сейчас опять пропали. Где-то какой-то пакет обновился наверное и решил вопрос, просто не заметил… надеюсь что так было дело))
noob.Debian.sid.ждиответногогудка
-
Sb0y
- Сообщения: 17
- ОС: Gentoo Linux
Re: Ошибка сегментирования
Сообщение
Sb0y » 25.03.2010 04:16
Такая же беда. Tilda валится вот так:
Код: Выделить всё
sb0y@box ~ $ tilda -C
(tilda:19989): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
(tilda:19989): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
(tilda:19989): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
(tilda:19989): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
(tilda:19989): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
(tilda:19989): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
(tilda:19989): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
(tilda:19989): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
(tilda:19989): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
(tilda:19989): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
(tilda:19989): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
(tilda:19989): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
(tilda:19989): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
(tilda:19989): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
(tilda:19989): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
(tilda:19989): Gtk-CRITICAL **: gtk_file_chooser_select_filename: assertion `filename != NULL' failed
Ошибка сегментирования
Наверно какая-то из gtk-библеотек обновилась. Знать бы ещё какая.
Я больше не могу запускать Simple-scan 14.04 под ядром 3.13.0-34-generic.
Он завершает работу до того, как пользовательский интерфейс загружается, и когда я запускаю простое сканирование с терминала, возникает ошибка сегментации. Это такой полезный инструмент для меня, и я раздражен, потому что раньше он работал идеально. Все, что я изменил в последнее время (кроме обычных dist-upgrade), это ‘dpkg —add-Architecture i386’, чтобы запустить последнюю версию Crossover.
Есть идеи?
Я временно использую «gscan2pdf», что нормально, но действительно замедляет мой рабочий процесс по сравнению с Simple Scan.
Заранее спасибо!
2014-08-26 19:56
2
ответа
Что сработало для меня:
-
Удалите файлы в ~/.cache/simple-scan/autosaves/
-
Удалить файл ~/.cache/simple-scan/state
Обнаружил ошибку с помощью simple-scan -d,
Надеюсь, это кому-нибудь поможет.
vishank
23 авг ’15 в 14:12
2015-08-23 14:12
2015-08-23 14:12
В моем случае simple-scan Каталог и файлы имели неправильные разрешения. Из-за бега simple-scan сначала с sudoРежиссёр и Файлы имели root:root прав.
Просто измените разрешения для ваших пользователей.
sudo chown -R myuser:mygrp ~/.cache/simple-scan
Martin
19 апр ’17 в 11:08
2017-04-19 11:08
2017-04-19 11:08
Содержание
- Ошибка сегментирования Ubuntu
- Что такое ошибка сегментации?
- Почему возникает ошибка сегментации?
- Что делать если возникла ошибка сегментирования?
- Выводы
- gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- Re: gcc: ошибка сегментирования
- [проблемы из ниоткуда] ошибка сегментирования. как найти причину?
- Ошибка сегментирования (APT)
- Re: Ошибка сегментирования (APT)
- Re: Ошибка сегментирования (APT)
- Re: Ошибка сегментирования (APT)
- Re: Ошибка сегментирования (APT)
- Re: Ошибка сегментирования (APT)
- Re: Ошибка сегментирования (APT)
- Re: Ошибка сегментирования (APT)
- Re: Ошибка сегментирования (APT)
- Re: Ошибка сегментирования (APT)
- Re: Ошибка сегментирования (APT)
- Ошибка сегментирования Ubuntu
- Что такое ошибка сегментации?
- Почему возникает ошибка сегментации?
- Что делать если возникла ошибка сегментирования?
- Выводы
- Оцените статью:
- Об авторе
- 7 комментариев
Ошибка сегментирования Ubuntu
Не всегда программы в Linux запускаются как положено. Иногда, в силу разных причин программа вместо нормальной работы выдает ошибку. Но нам не нужна ошибка, нам нужна программа, вернее, та функция, которую она должна выполнять. Сегодня мы поговорим об одной из самых серьезных и непонятных ошибок. Это ошибка сегментации Ubuntu. Если такая ошибка происходит только один раз, то на нее можно не обращать внимания, но если это регулярное явление нужно что-то делать.
Конечно, случается эта проблема не только в Ubuntu, а во всех Linux дистрибутивах, поэтому наша инструкция будет актуальна для них тоже. Но сосредоточимся мы в основном на Ubuntu. Рассмотрим что такое ошибка сегментирования linux, почему она возникает, а также как с этим бороться и что делать.
Что такое ошибка сегментации?
Ошибка сегментации, Segmentation fault, или Segfault, или SIGSEGV в Ubuntu и других Unix подобных дистрибутивах, означает ошибку работы с памятью. Когда вы получаете эту ошибку, это значит, что срабатывает системный механизм защиты памяти, потому что программа попыталась получить доступ или записать данные в ту часть памяти, к которой у нее нет прав обращаться.
Чтобы понять почему так происходит, давайте рассмотрим как устроена работа с памятью в Linux, я попытаюсь все упростить, но приблизительно так оно и работает.
Допустим, в вашей системе есть 6 Гигабайт оперативной памяти, каждой программе нужно выделить определенную область, куда будет записана она сама, ее данные и новые данные, которые она будет создавать. Чтобы дать возможность каждой из запущенных программ использовать все шесть гигабайт памяти был придуман механизм виртуального адресного пространства. Создается виртуальное пространство очень большого размера, а из него уже выделяется по 6 Гб для каждой программы. Если интересно, это адресное пространство можно найти в файле /proc/kcore, только не вздумайте никуда его копировать.
Выделенное адресное пространство для программы называется сегментом. Как только программа попытается записать или прочитать данные не из своего сегмента, ядро отправит ей сигнал SIGSEGV и программа завершится с нашей ошибкой. Более того, каждый сегмент поделен на секции, в некоторые из них запись невозможна, другие нельзя выполнять, если программа и тут попытается сделать что-то запрещенное, мы опять получим ошибку сегментации Ubuntu.
Почему возникает ошибка сегментации?
И зачем бы это порядочной программе лезть, куда ей не положено? Да в принципе, незачем. Это происходит из-за ошибки при написании программ или несовместимых версиях библиотек и ПО. Часто эта ошибка встречается в программах на Си или C++. В этом языке программисты могут вручную работать с памятью, а язык со своей стороны не контролирует, чтобы они это делали правильно, поэтому одно неверное обращение к памяти может обрушить программу.
Что делать если возникла ошибка сегментирования?
Если вы думаете, что это ошибка в программе, то вам остается только отправить отчет об ошибке разработчикам. Но вы все-таки еще можете попытаться что-то сделать.
Например, если падает с ошибкой сегментации неизвестная программа, то мы можем решить что это вина разработчиков, но если с такой ошибкой падает chrome или firefox при запуске возникает вопрос, может мы делаем что-то не так? Ведь это уже хорошо протестированные программы.
Если это не помогло, нужно обнулить настройки программы до значений по умолчанию, возможно, удалить кэш. Настройки программ в Linux обычно содержатся в домашней папке, скрытых подкаталогах с именем программы. Также, настройки и кэш могут содержаться в каталогах
/.cache. Просто удалите папки программы и попробуйте снова ее запустить. Если и это не помогло, вы можете попробовать полностью удалить программу, а потом снова ее установить, возможно, какие-нибудь зависимости были повреждены:
Если есть возможность, попробуйте установить программу из другого источника, например, не из PPA, а более старую версию, из официальных репозиториев.
Когда вы все это выполнили, скорее всего, проблема не в вашем дистрибутиве, а в самой программе. Нужно отправлять отчет разработчикам. В Ubuntu это можно сделать с помощью программы apport-bug. Обычно Ubuntu предлагает это сделать сразу, после того как программа завершилась с ошибкой сегментирования. Если же ошибка сегментирования Ubuntu встречается не в системной программе, то вам придется самим искать разработчиков и вручную описывать что произошло.
Чтобы помочь разработчикам решить проблему, недостаточно отправить им только сообщение что вы поймали Segmentation Fault, нужно подробно описать проблему, действия, которые вы выполняли перед этим, так чтобы разработчик мог их воспроизвести. Также, желательно прикрепить к отчету последние функции, которые вызывала программа (стек вызовов функций), это может очень сильно помочь разработчикам.
Рассмотрим, как его получить. Это не так уж сложно. Сначала запустите вашу программу, затем узнайте ее PID с помощью команды:
Дальше запускаем отладчик gdb:
Подключаемся к программе:
После подключения программа станет на паузу, продолжаем ее выполнение командой:
Затем вам осталось только вызвать ошибку:
И набрать команду, которая выведет стек последних вызовов:
Вывод этой команды и нужно отправлять разработчикам. Чтобы отключиться от программы и выйти наберите:
Дальше остается отправить отчет и ждать исправления ошибки. Если вы не уверены, что ошибка в программе, можете поспрашивать на форумах. Когда у вас есть стек вызовов, уже можно попытаться, если не понять в чем проблема, то попытаться узнать, не сталкивался ли с подобной проблемой еще кто-то.
Выводы
Теперь у вас есть приблизительный план действий, что нужно делать, когда появляется ошибка сегментирования сделан дамп памяти ubuntu. Если вы знаете другие способы решить эту проблему, напишите в комментариях!
Источник
gcc: ошибка сегментирования
Использую RH7б 2.6.22 Скомпилил программу без хитрых опций gcc 4.1.1, всё собралось ок.
Запуская программу, система пишет «ошибка сегментирования». Что это значит? Как локализовать ошибку?
Re: gcc: ошибка сегментирования
Re: gcc: ошибка сегментирования
Re: gcc: ошибка сегментирования
телепаты в отпуске, давай сорсы. Ищи траблы с указателями/переполнениями/etc 🙂
Re: gcc: ошибка сегментирования
Это значит, что твоя программа полезла в чужой сегмент памяти. Возможно из-за кривого указателя, выхода за предел массива etc.
Re: gcc: ошибка сегментирования
> Как локализовать ошибку?
Re: gcc: ошибка сегментирования
Сорцы простые printf( «dddn» ); return( 0 ) Правда ещё включается масса *.h файлов из Minix3 и после return( 0 ) идёт код.
Мне кажется компилятор сделал бинарник, который операционка выполнить не может. Мне не понятно почему. Хитрых опций при компиляции нет.
Создаётся ощущение, что есть в *.h файлах миникса заданы препроцессорные директивы, которые заставляют gcc создавать не вменяемый бинарник. Может я ошибаюсь, толкните на путь истинный.
Re: gcc: ошибка сегментирования
Кажется понял где копать. Всем спасибо за наводку.
Re: gcc: ошибка сегментирования
Re: gcc: ошибка сегментирования
Нету функции collect2 в библиотеки libc.a
ld не может собрать бинарник
Re: gcc: ошибка сегментирования
В исходниках нет ссылки на collect2
Re: gcc: ошибка сегментирования
Ни когда не встречал такой ошибки.
Re: gcc: ошибка сегментирования
Re: gcc: ошибка сегментирования
Он разве не находит тредовые функции? Он вроде не чтото другое ругается.
Re: gcc: ошибка сегментирования
> Он разве не находит тредовые функции? Он вроде не чтото другое ругается.
Что bt на корке показывает?
Re: gcc: ошибка сегментирования
Re: gcc: ошибка сегментирования
Очевидно или с либами вашими что-то не то или юзаете вы их как-то не так.
Re: gcc: ошибка сегментирования
>Очевидно или с либами вашими что-то не то или юзаете вы их как-то не так.
Источник
[проблемы из ниоткуда] ошибка сегментирования. как найти причину?
полагаю что дело в том что утром были найдены ошибки в файловой системе
то есть вроде бы читает файл и после этого падает. но толку.. ltrace вообще ничего не дал. похоже ошибка происходит непосредственно в коде программы ssh. ещё вчера всё работало..
1) Посмотри, нет ли записей о сегфолтах в messages.
2) Попробуй временно переименовать
ltrace ssh svn-server
Ну явно же написано, что у тебя known_hosts покоцан. Сдвинь его в сторонку и не парься.
Но таки программа не должна падать из-за проблемы в каком-то конфиге.
благодарю за толковые советы
не, я ж написал, ltrace ничего не дал:
да, кстати, вряд ли.. но я тем не менее сдвинул его.. не помогло..
можно ли как-то запустить проверку контрольных сумм всех файлов установленных пакетным менеджером?
Запустить под gdb и посмотреть почему упало.
>не, я ж написал, ltrace ничего не дал:
strace ssh svn-server
chkrootkit и rkhunter попробуй
и работал вчера ssh
ну и странно что на одном и том же месте.. скорее уж с диском проблемы..
мужик, я думаю специально для тебя нужно ввести звание Ъ^2.
Где,ж он на ровном месте? Какова вероятность, что при многочисленных попытках считать файл он всегда будет попадать на битую область?
> ну и странно что на одном и том же месте..
У меня эта штука половину портов засосала. 1111 А дело всё было в слоте памяти на материнке. И memtest86+ молчал.
libc переставь и tls и прочие либы, которыми пользуется ssh. переустановка только ssh не приведет к переустановке этих либ
Хехе. вероятная причина кроется в svn.
Сам лично сталкивался с регулярными падениями СВН составляющих в дебе. Как правило это происходило при попытке СВНа обратиться в дбасу. Но и в других ситуациях тоже, но реже.
> Хехе. вероятная причина кроется в svn.
open(«/home/andrey/.ssh/known_hosts», O_RDONLY) = 4 ★ ( 26.09.11 14:35:24 )
read() отработал нормально. Проблема где-то доальше в коде. Надо gdb.
Ага, я тоже сидел с gdb и дебажил почему svn up падает 🙂 Проблема была глубоко-глубоко 🙂 А на деле все оказалось куда проще.
Там цикл чтения по 4096. Еслибы он отработал нормально, мы бы увидели следующую итерацию (размер файла больше).
memtest’ом можно подтереться только. Инфа 100%.
Для таких вещей есть ключ для дебага. И gdb. И ещё strace.
А ещё подумай о том, что повреждение может быть в какой-то либе, которую он загружает.
Источник
Ошибка сегментирования (APT)
В общем имеется вдс с дебианом(etch), со вчерашнего дня при попытке как либо заюзать apt-get (or aptitude) выдает «ошибка сегментирования». пример: stvlad:/home/stvad# aptitude Ouch! Got SIGSEGV, dying.. Ошибка сегментирования либо же в случае с апт гетом stvlad:/home/stvad# apt-get install subversion Ошибка сегментирования. 0% подскажите в чем дело? и как это исправить..
Re: Ошибка сегментирования (APT)
что перед этим менялось? попробуй почистить кеш апта и заново apt-get update сделать.
Re: Ошибка сегментирования (APT)
щас попробую, отпишусь что менялось точноне помню помню поставил питон, htop, mc.
Re: Ошибка сегментирования (APT)
Re: Ошибка сегментирования (APT)
ldd `which aptitude`
Или это не бинарник?
Re: Ошибка сегментирования (APT)
вообще то бинарник )
На Ленни выдаст вот
$ldd `which aptitude`
linux-gate.so.1 => (0xffffe000)
libapt-pkg-libc6.7-6.so.4.6 => /usr/lib/libapt-pkg-libc6.7-6.so.4.6 (0xb7e63000)
libncursesw.so.5 => /lib/libncursesw.so.5 (0xb7e25000)
libsigc-2.0.so.0 => /usr/lib/libsigc-2.0.so.0 (0xb7e1e000)
libcwidget.so.3 => /usr/lib/libcwidget.so.3 (0xb7d5a000)
libept.so.0 => /usr/lib/libept.so.0 (0xb7c99000)
libxapian.so.15 => /usr/lib/libxapian.so.15 (0xb7b43000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7b30000)
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb7b18000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7a32000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7a09000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb79fc000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb78a7000)
libutil.so.1 => /lib/i686/cmov/libutil.so.1 (0xb78a3000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb789e000)
/lib/ld-linux.so.2 (0xb7f47000)
Re: Ошибка сегментирования (APT)
удалил кеш. загрузило индексы и снова выдало ошибку сигментирования.
Re: Ошибка сегментирования (APT)
попробуйте сделать strace на аптитуду, хоть видно будет на загрузке какого файла оно падает
Re: Ошибка сегментирования (APT)
Признавайся, добавлял репозитарии Lenny или Sid?
Re: Ошибка сегментирования (APT)
признаюсь добавлял и работало))) потом перестало((( в них причина?
Re: Ошибка сегментирования (APT)
ну и надо было перееждать на ленни уже.
Источник
Ошибка сегментирования Ubuntu
Не всегда программы в Linux запускаются как положено. Иногда, в силу разных причин программа вместо нормальной работы выдает ошибку. Но нам не нужна ошибка, нам нужна программа, вернее, та функция, которую она должна выполнять. Сегодня мы поговорим об одной из самых серьезных и непонятных ошибок. Это ошибка сегментации Ubuntu. Если такая ошибка происходит только один раз, то на нее можно не обращать внимания, но если это регулярное явление нужно что-то делать.
Конечно, случается эта проблема не только в Ubuntu, а во всех Linux дистрибутивах, поэтому наша инструкция будет актуальна для них тоже. Но сосредоточимся мы в основном на Ubuntu. Рассмотрим что такое ошибка сегментирования linux, почему она возникает, а также как с этим бороться и что делать.
Что такое ошибка сегментации?
Ошибка сегментации, Segmentation fault, или Segfault, или SIGSEGV в Ubuntu и других Unix подобных дистрибутивах, означает ошибку работы с памятью. Когда вы получаете эту ошибку, это значит, что срабатывает системный механизм защиты памяти, потому что программа попыталась получить доступ или записать данные в ту часть памяти, к которой у нее нет прав обращаться.
Чтобы понять почему так происходит, давайте рассмотрим как устроена работа с памятью в Linux, я попытаюсь все упростить, но приблизительно так оно и работает.
Допустим, в вашей системе есть 6 Гигабайт оперативной памяти, каждой программе нужно выделить определенную область, куда будет записана она сама, ее данные и новые данные, которые она будет создавать. Чтобы дать возможность каждой из запущенных программ использовать все шесть гигабайт памяти был придуман механизм виртуального адресного пространства. Создается виртуальное пространство очень большого размера, а из него уже выделяется по 6 Гб для каждой программы. Если интересно, это адресное пространство можно найти в файле /proc/kcore, только не вздумайте никуда его копировать.
Выделенное адресное пространство для программы называется сегментом. Как только программа попытается записать или прочитать данные не из своего сегмента, ядро отправит ей сигнал SIGSEGV и программа завершится с нашей ошибкой. Более того, каждый сегмент поделен на секции, в некоторые из них запись невозможна, другие нельзя выполнять, если программа и тут попытается сделать что-то запрещенное, мы опять получим ошибку сегментации Ubuntu.
Почему возникает ошибка сегментации?
И зачем бы это порядочной программе лезть, куда ей не положено? Да в принципе, незачем. Это происходит из-за ошибки при написании программ или несовместимых версиях библиотек и ПО. Часто эта ошибка встречается в программах на Си или C++. В этом языке программисты могут вручную работать с памятью, а язык со своей стороны не контролирует, чтобы они это делали правильно, поэтому одно неверное обращение к памяти может обрушить программу.
Что делать если возникла ошибка сегментирования?
Если вы думаете, что это ошибка в программе, то вам остается только отправить отчет об ошибке разработчикам. Но вы все-таки еще можете попытаться что-то сделать.
Например, если падает с ошибкой сегментации неизвестная программа, то мы можем решить что это вина разработчиков, но если с такой ошибкой падает chrome или firefox при запуске возникает вопрос, может мы делаем что-то не так? Ведь это уже хорошо протестированные программы.
sudo apt update
sudo apt full-upgrade
Если это не помогло, нужно обнулить настройки программы до значений по умолчанию, возможно, удалить кэш. Настройки программ в Linux обычно содержатся в домашней папке, скрытых подкаталогах с именем программы. Также, настройки и кэш могут содержаться в каталогах
/.cache. Просто удалите папки программы и попробуйте снова ее запустить. Если и это не помогло, вы можете попробовать полностью удалить программу, а потом снова ее установить, возможно, какие-нибудь зависимости были повреждены:
sudo apt remove пакет_программы
sudo apt autoremove
sudo apt install пакет_программы
Если есть возможность, попробуйте установить программу из другого источника, например, не из PPA, а более старую версию, из официальных репозиториев.
Когда вы все это выполнили, скорее всего, проблема не в вашем дистрибутиве, а в самой программе. Нужно отправлять отчет разработчикам. В Ubuntu это можно сделать с помощью программы apport-bug. Обычно Ubuntu предлагает это сделать сразу, после того как программа завершилась с ошибкой сегментирования. Если же ошибка сегментирования Ubuntu встречается не в системной программе, то вам придется самим искать разработчиков и вручную описывать что произошло.
Чтобы помочь разработчикам решить проблему, недостаточно отправить им только сообщение что вы поймали Segmentation Fault, нужно подробно описать проблему, действия, которые вы выполняли перед этим, так чтобы разработчик мог их воспроизвести. Также, желательно прикрепить к отчету последние функции, которые вызывала программа (стек вызовов функций), это может очень сильно помочь разработчикам.
Рассмотрим, как его получить. Это не так уж сложно. Сначала запустите вашу программу, затем узнайте ее PID с помощью команды:
Дальше запускаем отладчик gdb:
Подключаемся к программе:
(gdb) attach ваш_pid
После подключения программа станет на паузу, продолжаем ее выполнение командой:
Затем вам осталось только вызвать ошибку:
И набрать команду, которая выведет стек последних вызовов:
Вывод этой команды и нужно отправлять разработчикам. Чтобы отключиться от программы и выйти наберите:
(gdb) detach
(gdb) quit
Дальше остается отправить отчет и ждать исправления ошибки. Если вы не уверены, что ошибка в программе, можете поспрашивать на форумах. Когда у вас есть стек вызовов, уже можно попытаться, если не понять в чем проблема, то попытаться узнать, не сталкивался ли с подобной проблемой еще кто-то.
Выводы
Теперь у вас есть приблизительный план действий, что нужно делать, когда появляется ошибка сегментирования сделан дамп памяти ubuntu. Если вы знаете другие способы решить эту проблему, напишите в комментариях!
Оцените статью:
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
7 комментариев
Спасибо, было очень интересно почитать про отладчик.
На самом деле от этого избавится я не могу. Остаётся мне всё сваливать на свой старый компьютер с 1024 мегабайтами озу. Постоянные ошибки сегментирования когда комплимирую какую-либо программу. Чтобы скомплимировать ядро надо по миллиону раз вводить make!! Щас выкину комп и куплю новый и думаю проблема сама разрешится.
Gentoo. cmake 3.14.6. Segmentation fault.
Xeon 2620 v2 24Gb ram
Проблема сама не решается почему-то. 8-(
С ошибкой SIGSEGV или так называемой ошибкой сегментации(на самом деле это ошибки обращения с памятью) вы ничё не сможете сделать. если вы юзер, а не разработчик и она возникает в вашей проге. можете только одного не запускать эту прогу удалить её или попытаться обновить, возможно(вовсе не обязательно!) её заметили и исправили. Но вообще лицензионное соглашение по Ubuntu вас предупреждает, что вы пользуетесь системой в которой софт вовсе не обязан работать и никто за это не отвечает. вы это делаете на свой страх и риск! это краткий его перевод. А если вы купили операционку заплатили бабки и заказали техподдержку, то вы тогда уже имеете право обратиться в службу тех поддержки сообщить баг, где и как он возникает и они обязаны не просто испавить его прислав патч, но так же всем таким как вы кто заплатил. Иначе вы имеете право подать на них в суд и они обязаны компенсировать вам убытки. Но это не Ubuntu. Обратная сторона медали свободного по и бесплатных операционок. среди Линуксовых есть AIX(только платная+ техподдержка), SUSE(не путать с Open Suse) и Debian(есть free урезаный вариант и нормальный платный). Это оч серьёзная ошибка краеугольный камень всех программ и работы компа в целом. Если это ломается, то всё летит к чёрту. Конечно они стараюстся и сразу посылать вас не будут. Это их репутация! но вообще дело в програмерах. Щаз стало оч много криворуких. Вот я смотрю на их код и удивляюсь, как можно так безалаберно писать проги! Если бы вы только это видели вы бы не удивились почему всё так плохо работает. Встречаются такие кадры которые всё только портят! ну а что програмеров не хаватет, делать надо много вот и берут всех подряд. А потом начинается. Если конечно это заметили до релиза, то ладно. Но тут всё ещё зависит от тестеров. Если они хорошие то найдут баги вовремя до релиза и исправят. но у нас как бывает. Отдела тестирования нет, сэкономили.. Тестер дай бог 2-3 а то часто 1 вообще. В программе всегда много ошибок. Особенно вначале. все мы ошибаемся, особенно некоторые. Причина? Нехватка мозгов или банально невнимательность. поэтому все проги должны быть тщательнейшим образом оттестированы. только тогда она может быть допущена к релизу. А ещё заказчик подгоняет. Хорошую прогу нельзя написать в спешке. тем более большую. Такие ошибки как оч трудно найти, а если она не всегда воспроизводится, так вообще нереально, Если только случайно наткнёшься. Потому что как бывает один раз вылетела, а второй нет и пошла дальше и норм. Или пошла дальше и всё стало неправильным. с програмой начинают твориться чудеса. это всё та же ошибка с памятью, которая всё портит. Вылететь может не только ваша прога но и вся система. Но даже если она стабильно воспроизводится, то на её поиск может понадобиться дни а может и неделя две кропотливой упорной работы, носящей изнуряющий характер. искать будут всем отделом. но её тогда по крайней мере можно найти. а если нет. то вам поможет только чудо. А уж что сделают после этого с тем кто это сделал я даже не знаю! Вот такие вот они эти ошибки сегментации. Я показал то что там происходит за кадром юзера.
У меня появляется такая ошибка при попытке запуска Viber
Источник

























