freeswitchforum.com

Форум поддержки FreeSWITCH

FreeSWITCH is a registered trademark of Anthony Minessale. Official FreeSWITCH site.

Текущее время: 27 апр 2024 10:29

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: 06 авг 2015 10:24 

Зарегистрирован: 24 дек 2014 10:40
Сообщения: 85
Здравствуйте.

Ситуация в общем такая: запускаю из FS через python питоновский скрипт, который собирает все что нужно, создает сессию и как только абонент поднимает трубку проигрывает абоненту набор сообщений. Вроде бы все просто и работает хорошо.

Но если абонент во время проигрывания одного из аудио файлов(не между ними, а именно во время проигрывания) положит трубку, то с вероятностью 95% FS упадет и ни в логах ничего не будет, ни кора дамп не создается. Просто упал и все. И только в сислоге есть записи о
freeswitch[12101]: segfault at 2d0 ip 00007f85d4be8abb sp 00007f85cf1e58b0 error 6 in libpython2.7.so.1.0[7f85d4a56000+2f4000]
или
freeswitch[20257] general protection ip:7f973cbe8abb sp:7f973c4da8b0 error:0 in libpython2.7.so.1.0[7f973ca56000+2f4000]

Ситуация очень похожа на https://freeswitch.org/jira/browse/FS-7567

Если вдруг сталкивались с подобной ситуацией, подскажите пожалуйста как выходили из нее? Просто хочется воспроизведение файлов оставить в питоновском скрипте, и не выносить этот функционал в диалплан.

Linux Debian 7
FreeSWITCH (Version 1.4.20 -34 64bit)

_________________
Если бы я был админом одной организации, я бы сделал все по другому.....


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 авг 2015 10:32 

Зарегистрирован: 23 авг 2014 11:49
Сообщения: 368
Откуда: Казань
чтобы автоматически поднимался FS после падения можно использовать средства corosync

возможно что python использует ресурсы FS монопольно и не оставляет какие-нибудь шансы для самого FS

установите debug 9 и откройте консоль fs_cli, пусть туда "гадит" все подряд, вот тогда и узнаем откуда все лезет

_________________
Пути IP-пакета неисповедимы


Последний раз редактировалось error 06 авг 2015 10:41, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 авг 2015 10:36 

Зарегистрирован: 24 дек 2014 10:40
Сообщения: 85
Да вопрос не в том как поднимать, у него есть свои средства для этого, запуск FS с параметром -reincarnate
Тогда одновременно работают два экземпляра, и если первый падает, то второй его запускает сразу.

Больше интересно как выкрутиться так, что бы и FS не падал и весь функционал сохранить в питоновском скрипте, и не разносить его в разные места.

_________________
Если бы я был админом одной организации, я бы сделал все по другому.....


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 авг 2015 10:54 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1710
репортить баг с дампом gdb

_________________
ЛС: @rostel
Сообщество: @ru_freeswitch


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 авг 2015 13:26 

Зарегистрирован: 24 дек 2014 10:40
Сообщения: 85
Это понятно, так и делаю. Сегодня только дамп снялся, до этого почему то не хотел сниматься(или снимался в другую папку, и я его не видел). Задачку в жире создал.

Просто думал может кто то с форума сталкивался с аналогичной проблемой и решение где то на поверхности.

_________________
Если бы я был админом одной организации, я бы сделал все по другому.....


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 авг 2015 13:29 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1710
в /etc/sysctl.conf для нормального снятия корок
Код:
kernel.core_uses_pid = 1
kernel.core_pattern = /tmp/core-%e-%s-%u-%g-%p-%t
fs.suid_dumpable = 2

_________________
ЛС: @rostel
Сообщество: @ru_freeswitch


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 авг 2015 13:44 

Зарегистрирован: 24 дек 2014 10:40
Сообщения: 85
то же самое, только с другой стороны, в реалтайме так сказать....
Цитата:
sysctl -w kernel.core_pattern=/tmp/core.%t_%e_s%s
sysctl -w fs.suid_dumpable=1
ulimit -c unlimited


Сделался только после явного указания всех параметрах. Думаю что не создавался из за того, что не был выставлен ulimit -c unlimited. Хотя не знаю....
В любом случае тикет(https://freeswitch.org/jira/browse/FS-7938) дополнил и жду ответа

Насчет
Цитата:
fs.suid_dumpable = 2

вообще непонятная штука какая то :) На сайте фрисвитча говорится что больше 0, но самым хорошим вариантом будет выставление в 2, что наводит на размышление что есть какой то смысл в выставлении определенной цифры, в сорсах выставлено в 1. :) Видимо главное что бы больше 0 :)

_________________
Если бы я был админом одной организации, я бы сделал все по другому.....


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 173


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB