Bug 41893 - Ошибка сегментирования при поиске объектов
Summary: Ошибка сегментирования при поиске объектов
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: admc (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Дмитрий Дегтярев
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-02-08 15:17 MSK by Elena Mishina
Modified: 2022-04-05 09:56 MSK (History)
2 users (show)

See Also:


Attachments
вывод catchsegv admc (120.93 KB, text/plain)
2022-02-08 17:42 MSK, Elena Mishina
no flags Details
вкладка Продвинутый (64.64 KB, video/webm)
2022-02-09 17:39 MSK, Elena Mishina
no flags Details
Вкладка Упрощенный (306.34 KB, video/webm)
2022-02-09 17:39 MSK, Elena Mishina
no flags Details
admc (119.29 KB, image/png)
2022-02-10 12:34 MSK, Elena Mishina
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Elena Mishina 2022-02-08 15:17:48 MSK
версия:  admc-0.9.0-alt1.x86_64

Шаги:
1) В настройках ADMC установить отметку «Вносить информацию о поиске в журнал сообщений»
2) Открыть окно «Поиск объектов» (например, в контекстном меню домена выбрать пункт «Найти»)
3) Ввести условие, которое заведомо в результате должно дать 0 объектов (например, имя - bhbh) 

Результат: 
Программа аварийно завершает свою работу с ошибкой сегментирования. 

фев 08 14:04:24 host-01.test.alt audit[9382]: ANOM_ABEND auid=500 uid=500 gid=500 ses=4 pid=9382 comm="admc" exe="/usr/bin/admc" sig=11 res=1
фев 08 14:04:24 host-01.test.alt kernel: admc[9382]: segfault at 7f2ce42d42f8 ip 000055f91ebe5b41 sp 00007ffd7282d960 error 4 in admc[55f91eba3000+f2000]
фев 08 14:04:24 host-01.test.alt kernel: Code: ef e8 53 f8 ff ff 48 8b 7c 24 20 8b 07 85 c0 74 78 83 f8 ff 74 0b f0 83 2f 01 48 8b 7c 24 20 74 68 48 83 c3 08 49 39 de 74 77 <48> 8b 2b 48 8b 55 00 48 89 54 24 20 8b 02 83 c0 01 83 f8 01 0f 87


Ожидаемый результат:
Результат поиска 0 объектов
Comment 1 Дмитрий Дегтярев 2022-02-08 16:49:43 MSK
Не смог воспроизвести. Можете запустить вот так и приложить сюда результат?

`catchsegv admc` - и воспроизвести ошибку.

catchsegv доступен в пакете glibc-utils.
Comment 2 Elena Mishina 2022-02-08 17:42:34 MSK
Created attachment 10262 [details]
вывод catchsegv admc

Оказалось, что одного пакета glibc-utils недостаточно:
ERROR: ld.so: object '/usr/lib64/libSegFault.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

Нужен еще:
glibc-devel: /usr/lib64/libSegFault.so
Comment 3 Ivan A. Melnikov 2022-02-09 09:21:58 MSK
(In reply to Elena Mishina from comment #2)
> Оказалось, что одного пакета glibc-utils недостаточно:
> ERROR: ld.so: object '/usr/lib64/libSegFault.so' from LD_PRELOAD cannot be
> preloaded (cannot open shared object file): ignored.
> 
> Нужен еще:
> glibc-devel: /usr/lib64/libSegFault.so

Похоже на проблему упаковки glibc. Елена, можете повесить?
Comment 4 Elena Mishina 2022-02-09 09:42:19 MSK
(Ответ для Ivan A. Melnikov на комментарий #3)
> (In reply to Elena Mishina from comment #2)
> > Оказалось, что одного пакета glibc-utils недостаточно:
> > ERROR: ld.so: object '/usr/lib64/libSegFault.so' from LD_PRELOAD cannot be
> > preloaded (cannot open shared object file): ignored.
> > 
> > Нужен еще:
> > glibc-devel: /usr/lib64/libSegFault.so
> 
> Похоже на проблему упаковки glibc. Елена, можете повесить?

Завела для p10: #41905 

Для Sisyphus этой ошибки нет, т.к в glibc v2.35:
The catchsegv script and associated libSegFault.so shared object have
  been removed.  There are widely-deployed out-of-process alternatives for
  catching coredumps and backtraces.
Comment 5 Дмитрий Дегтярев 2022-02-09 17:07:38 MSK
Вывод catchsegv немного помог, но требуется больше информации.

> 1) В настройках ADMC установить отметку «Вносить информацию о поиске в журнал сообщений»
Происходит ли эта ошибка если настройка «Вносить информацию о поиске в журнал сообщений» отключена?

> 3) Ввести условие, которое заведомо в результате должно дать 0 объектов (например, имя - bhbh) 
Этот фильтр вводится на вкладке "Упрощенный"? Какое значение у поля "Классы"?

> Результат: 
> Программа аварийно завершает свою работу с ошибкой сегментирования.
Можете описать в какой именно момент программа останавливается? Сразу после нажатия кнопки "Поиск", через некоторое время после, видно ли курсор показывающий прогресс до этого?
Comment 6 Elena Mishina 2022-02-09 17:37:14 MSK
(Ответ для Дмитрий Дегтярев на комментарий #5)
> Вывод catchsegv немного помог, но требуется больше информации.
> 
> > 1) В настройках ADMC установить отметку «Вносить информацию о поиске в журнал сообщений»
> Происходит ли эта ошибка если настройка «Вносить информацию о поиске в
> журнал сообщений» отключена?
> 
нет, в этом случае ошибки нет
> > 3) Ввести условие, которое заведомо в результате должно дать 0 объектов (например, имя - bhbh) 
> Этот фильтр вводится на вкладке "Упрощенный"? Какое значение у поля "Классы"?
> 
Пользователь, группа, контакт
Падает на всех вкладках
> > Результат: 
> > Программа аварийно завершает свою работу с ошибкой сегментирования.
> Можете описать в какой именно момент программа останавливается? Сразу после
> нажатия кнопки "Поиск", через некоторое время после, видно ли курсор
> показывающий прогресс до этого?
Сразу после нажатия кнопки поиск.
Comment 7 Elena Mishina 2022-02-09 17:39:01 MSK
Created attachment 10268 [details]
вкладка Продвинутый
Comment 8 Elena Mishina 2022-02-09 17:39:27 MSK
Created attachment 10269 [details]
Вкладка Упрощенный
Comment 9 Дмитрий Дегтярев 2022-02-10 12:01:17 MSK
Что насчет обычных поисков. То есть например:

1) Включить опцию «Вносить информацию о поиске в журнал сообщений»
2) Включить журнал сообщений
3) Выбрать объект в дереве объектов у которого нет детей (чтобы результат поиска был пустым)

Что происходит в такой ситуации? Падает ли приложение. Выводится ли поиск с пустыми результатами в журнал сообщений.
Comment 10 Elena Mishina 2022-02-10 12:32:53 MSK
(Ответ для Дмитрий Дегтярев на комментарий #9)
> Что насчет обычных поисков. То есть например:
> 
> 1) Включить опцию «Вносить информацию о поиске в журнал сообщений»
> 2) Включить журнал сообщений
> 3) Выбрать объект в дереве объектов у которого нет детей (чтобы результат
> поиска был пустым)
> 
> Что происходит в такой ситуации? Падает ли приложение. Выводится ли поиск с
> пустыми результатами в журнал сообщений.
Приложение падает во всех случаях, если результат поиска пустой. В журнал сообщений, который отображается в окне ADMC, ничего не выводится. 

Сейчас заметила, что приложение стало падать, если в дереве объектов перейти в пустой объект (см.вложение). Падает только если отмечен пункт «Вносить информацию о поиске в журнал сообщений»
Comment 11 Elena Mishina 2022-02-10 12:34:00 MSK
Created attachment 10271 [details]
admc
Comment 12 Дмитрий Дегтярев 2022-03-03 14:13:16 MSK
Исправлено. Будет доступно в версии 0.9.0.
Comment 13 Дмитрий Дегтярев 2022-04-05 09:56:16 MSK
Версия 0.9.0 вышла в p10.