The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Об ошибке сегментирования"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Системное и пользовательское ПО / Linux)
Изначальное сообщение [ Отслеживать ]

"Об ошибке сегментирования"  +/
Сообщение от Shoorf email(ok) on 10-Янв-12, 13:18 
Доброго времени суток и с новым годом, коллеги!

Есть у нас в офисе небольшой сервер на CentOS 5.4 и крутится (вернее крутилась) на нем некая корпоративная софтина-обработчик, исходников которой у нас нет и не было. Периодически эта софтина перезапускалась по определенным событиям, загружала и обновляла небольшую базу mysql.

И вот, перезапустившись первый раз в новом году, она при запуске выдала ошибку сегментирования. Восстановление бинарников, конфигов и базы на момент последнего работоспособного запуска ни к чему не привели. Полез в gdb, в нем софтина запускается и функционирует как надо. Может быть, я чего-то не понимаю в механике работы отладчика и системы? Почему так происходит и не удается отловить ошибку отладчиком? Что можно еще сделать?

p.s. сервер доступен только для внутренней сети, вероятность взлома системы ничтожно мала.
p.p.s. система, любые компоненты и библиотеки не обновлялись уже достаточно долго, главным образом для исключения подобных ситуаций.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Об ошибке сегментирования"  +/
Сообщение от mesmeridze (ok) on 10-Янв-12, 13:53 
Переведите время назад. Попробуйте. Возможно что-то с лицензиями.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Об ошибке сегментирования"  +/
Сообщение от Shoorf email(ok) on 10-Янв-12, 14:52 
> Переведите время назад. Попробуйте. Возможно что-то с лицензиями.

Спасибо за ответ. Переставил системную дату на 01 декабря 11 года. Увы, никакой разницы...

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Об ошибке сегментирования"  +/
Сообщение от 1 (??) on 10-Янв-12, 15:57 
> загружала и обновляла небольшую базу mysql.

может дело в данных в базе? софтина не обрабатывает какое нить значение и валится. без исходников можно попробовать по трейсить какие запросы шлются и ответы

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Об ошибке сегментирования"  +/
Сообщение от Shoorf email(ok) on 10-Янв-12, 16:25 
>> загружала и обновляла небольшую базу mysql.
> может дело в данных в базе? софтина не обрабатывает какое нить значение
> и валится. без исходников можно попробовать по трейсить какие запросы шлются
> и ответы

В том-то и дело, что со старым бекапом базы тоже не работает. Но через gdb все работает, без дополнительных ухищрений. Ума не приложу, почему?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Об ошибке сегментирования"  +/
Сообщение от ACCA (ok) on 11-Янв-12, 08:54 
> работоспособного запуска ни к чему не привели. Полез в gdb, в
> нем софтина запускается и функционирует как надо. Может быть, я чего-то
> не понимаю в механике работы отладчика и системы? Почему так происходит
> и не удается отловить ошибку отладчиком? Что можно еще сделать?

Ничего не сделаешь - софтина где-то хватает память и читает, ещё не записав. Отладчик обнуляет память перед выделением, так что ублюдочное поделие натыкается на ноль и его переклинивает в правильную сторону.

Можешь попробовать пускать через strace - можешь увидеть, на каком вызове дохнет. Потом нужно будет ответить на главный вопрос программиста - "что ты будешь делать с результатом?"


> p.p.s. система, любые компоненты и библиотеки не обновлялись уже достаточно долго,
> главным образом для исключения подобных ситуаций.

При загрузке память как-то по-другому легла. Начались глюки.


В своё время натыкался на такую же проблему, в конце концов поправил скрипт в init.d, чтобы пускать эту срань под отладчиком - типа штатный режим. Заказчику сказал, чтобы принёс той травы, которую курили пейсатели, тогда можно попробовать пофиксить, как положено. Заказчик грустно посмотрел в спичечный коробок и принял управленческое решение - "хусым".

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Об ошибке сегментирования"  +/
Сообщение от Shoorf email(ok) on 11-Янв-12, 09:29 
> Ничего не сделаешь - софтина где-то хватает память и читает, ещё не
> записав. Отладчик обнуляет память перед выделением, так что ублюдочное поделие натыкается
> на ноль и его переклинивает в правильную сторону.
> Можешь попробовать пускать через strace - можешь увидеть, на каком вызове дохнет.
> Потом нужно будет ответить на главный вопрос программиста - "что ты
> будешь делать с результатом?"

Спасибо, сегодня попробуем.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру