ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Падает астер при странных обстоятельствах

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Падает астер при странных обстоятельствах

Сообщение r1der23 » 24 мар 2019, 00:27

Приветствую вас, коллеги уважаемые форумчане.

Исходные данные
Xeon 2.6 GHZ/16GB/256SSD VM (vSphere)
Установлен дистриб FreePBX 14.0.5.20, Asterisk 15.5.0
используется sip (не pjsip) драйвер
10 очередей, статические операторы
кастомный конфиг для приема звонков

Ситуация
Код: выделить все
[root@opti-pbx01 log]# grep -r "segfault"
messages-20190303:Feb 27 19:20:02 opti-pbx01 kernel: asterisk[30479]: segfault at 10 ip 00007f53630a0e04 sp 00007f5342de9a70 error 4 in app_queue.so[7f5363085000+39000]
messages-20190310:Mar  3 10:36:01 opti-pbx01 kernel: asterisk[24224]: segfault at 10 ip 00007fc7ebcb5e04 sp 00007fc7cbc6fa70 error 4 in app_queue.so[7fc7ebc9a000+39000]
messages-20190310:Mar  9 15:03:01 opti-pbx01 kernel: asterisk[21608]: segfault at 10 ip 00007f4fe6551e04 sp 00007f5009c44a70 error 4 in app_queue.so[7f4fe6536000+39000]
messages-20190317:Mar 10 13:49:31 opti-pbx01 kernel: asterisk[8214]: segfault at 10 ip 00007fd8dc4c5e04 sp 00007fd8bcccca70 error 4 in app_queue.so[7fd8dc4aa000+39000]
messages-20190317:Mar 13 13:27:02 opti-pbx01 kernel: asterisk[7659]: segfault at 10 ip 00007fd3436abe04 sp 00007fd322936a70 error 4 in app_queue.so[7fd343690000+39000]
messages-20190224:Feb 18 09:11:35 opti-pbx01 kernel: asterisk[1769]: segfault at 10 ip 00007f9441732e04 sp 00007f94dc6c5a70 error 4 in app_queue.so[7f9441717000+39000]
messages-20190224:Feb 19 16:46:01 opti-pbx01 kernel: asterisk[10706]: segfault at 10 ip 00007f0025317e04 sp 00007f00054c5a70 error 4 in app_queue.so[7f00252fc000+39000]
messages-20190224:Feb 22 13:38:42 opti-pbx01 kernel: asterisk[22020]: segfault at 10 ip 00007f2158c04e04 sp 00007f2135573a70 error 4 in app_queue.so[7f2158be9000+39000]
messages-20190224:Feb 22 18:59:01 opti-pbx01 kernel: asterisk[20117]: segfault at 10 ip 00007fb81db5be04 sp 00007fb7fda1fa70 error 4 in app_queue.so[7fb81db40000+39000]
messages:Mar 21 17:57:07 opti-pbx01 kernel: asterisk[13260]: segfault at 10 ip 00007f2d580bee04 sp 00007f2d38848a70 error 4 in app_queue.so[7f2d580a3000+39000]
messages:Mar 22 14:23:01 opti-pbx01 kernel: asterisk[10965]: segfault at 10 ip 00007fd7507a2e04 sp 00007fd7303f1a70 error 4 in app_queue.so[7fd750787000+39000]
messages:Mar 23 13:32:01 opti-pbx01 kernel: asterisk[32121]: segfault at 10 ip 00007f1a9d52be04 sp 00007f1a7ddafa70 error 4 in app_queue.so[7f1a9d510000+39000]

и соответственно перезапуск астериска после сегфаулт.

Прилагаю
1) кордамп после креша сделан с помощью ast_coredumper --latest
2) кастомный диалплан который есть extensions_custom.conf
[Показать] Спойлер: скачать
https://www.sendspace.com/file/9nr5fl


Дополнительно
Пробовал на пред версии астера на том же дистрибе - ситуация аналогичная


Прошу помощи, не могу разобраться
r1der23
 
Сообщений: 9
Зарегистрирован: 24 мар 2019, 00:16

Re: Падает астер при странных обстоятельствах

Сообщение sasa » 24 мар 2019, 22:05

0) Если вы умеете создавать такие отчеты наверное умеете и фиксить ?
1) Ошибка в днк
2) В бектрейсе не видно от чего упало, вы забыли добавить самый главный трейс
3) Ставьте самую последнюю версию с мастера и если будет падать, создавайте баг репорт на issue астериск орг
sasa
 
Сообщений: 119
Зарегистрирован: 22 янв 2019, 15:41

Re: Падает астер при странных обстоятельствах

Сообщение r1der23 » 25 мар 2019, 10:29

0) Если вы умеете создавать такие отчеты наверное умеете и фиксить ?

фиксить вот увы не умею, поэтому и запостил на форуме, не могу отловить ошибку

1) Ошибка в днк

исключено)

2) В бектрейсе не видно от чего упало, вы забыли добавить самый главный трейс

вы имеете ввиду непосредственно кор дамп? он весит под гиг. залить? насколько понимаю падает в handle_hangup,
полазить с гдб не было возможности так как у сангомы проблемы с дебагинфо.

3) Ставьте самую последнюю версию с мастера и если будет падать, создавайте баг репорт на issue астериск орг

версия последняя. репортить пока не вижу необходимости пока не буду точно уверен что не сам дурак.

все еще прошу помощи)
r1der23
 
Сообщений: 9
Зарегистрирован: 24 мар 2019, 00:16

Re: Падает астер при странных обстоятельствах

Сообщение sasa » 25 мар 2019, 14:42

Нет я имел ввиду что ниодин трейс не показывает на упавший треид
Возможно обычного bt не хватает
Разбираться в падениях дорого и не благодарное дело, лучше всего с этим справляются сами разработчики астериска
У вас не может быть последней версии, вы уверены что брали его с гита мастера ?

Он у вас уже падает, какой уверенности вы еще ожидаете ?
sasa
 
Сообщений: 119
Зарегистрирован: 22 янв 2019, 15:41

Re: Падает астер при странных обстоятельствах

Сообщение ded » 25 мар 2019, 14:56

ТС мог бы привести свой кастомный диалплан который есть extensions_custom.conf
В котором, как раз, он скорее всего не уверен.
ded
 
Сообщений: 15820
Зарегистрирован: 26 авг 2010, 19:00

Re: Падает астер при странных обстоятельствах

Сообщение sasa » 25 мар 2019, 15:00

Если есть сценарий который приводит к падению
То это ошибка не сценария

Возможно если действитеьльно dev версия то стоит попробовать на какую то стеибл версию астериска
sasa
 
Сообщений: 119
Зарегистрирован: 22 янв 2019, 15:41

Re: Падает астер при странных обстоятельствах

Сообщение r1der23 » 25 мар 2019, 23:06

Нет я имел ввиду что ниодин трейс не показывает на упавший треид
Возможно обычного bt не хватает
Разбираться в падениях дорого и не благодарное дело, лучше всего с этим справляются сами разработчики астериска
У вас не может быть последней версии, вы уверены что брали его с гита мастера ?

Он у вас уже падает, какой уверенности вы еще ожидаете ?


да вы правы попробую мигрировать на обновленный стейбл из мастера
бт сделать невозможно так как нет дебагинфо, к сангоме не подходит стандартные дебагинфо от данной версии астера

ТС мог бы привести свой кастомный диалплан который есть extensions_custom.conf
В котором, как раз, он скорее всего не уверен.

он есть в архиве по ссылке, дополнительно приведу сюда.
Предположению что это может быть диалплан выходит из двух суждений
1) это единственное кастомное что там есть
2) все звонки входящие идут через него

падение происходит при случайных переменных(все случаи сравнивал), при завершении одного их входящих звонков.
ниже привожу код
Код: выделить все
[from-trunk-custom-income]

;default config
exten => _.,1,Set(fname=${STRFTIME(,,%H_%M_%S)}_${CALLERID(all)}.wav)
same => n,NoOp(${SIP_HEADER(To)})
same => n,NoOp(${EXTEN})
same => n,Set(__DAY=${STRFTIME(${NOW},,%d)})
same => n,Set(__MONTH=${STRFTIME(${NOW},,%m)})
same => n,Set(__YEAR=${STRFTIME(${NOW},,%Y)})

same => n,Set(xrealnum=${EXTEN})

;process vectortel
same => n,ExecIf($["${EXTEN}" = "100309"]?Set(xrealnum=${SIP_HEADER(To):6:11}))

same => n,NoOp(${xrealnum})

;record call
same => n,Set(fdir=/var/www/html/monitoring/${YEAR}/${MONTH}/${DAY}/${xrealnum}/)
same => n,Set(MONITOR_EXEC=/usr/bin/lame -b 16 --silent "${fdir}${fname}.wav" "${fdir}${fname}.mp3" && rm �f "${fdir}${fname}.wav")
same => n,MixMonitor(${fdir}${fname}.wav,a,${MONITOR_EXEC})
same => n,Set(CDR(recordingfile)=${fdir}${fname})
;make prefix

;personal
same => n,ExecIf( $[ "${xrealnum}" = "55555555555" ] ?Set(CPREFIX=MSKPERS) )
same => n,ExecIf( $[ "${xrealnum}" = "44444444" ] ?Set(CPREFIX=HH) )
same => n,ExecIf( $[ "${xrealnum}" = "3333333333333" ] ?Set(CPREFIX=MSKBACK) )
same => n,ExecIf( $[ "${xrealnum}" = "1111111111" ] ?Set(CPREFIX=HRMOB) )
same => n,ExecIf( $[ "${xrealnum}" = "22222222222" ] ?Set(CPREFIX=HRMOB) )
same => n,ExecIf( $[ "${xrealnum}" = "66666666666" ] ?Set(CPREFIX=PERS) )
;----------- cutted

same => n,NoOp( ${CPREFIX})
same => n,Set(CALLERID(name)=${CPREFIX} ${CALLERID(number)})
same => n,Dial(Local/${xrealnum}@from-trunk)
same => n,Hangup()


exten => h,1,Hangup()


r1der23
 
Сообщений: 9
Зарегистрирован: 24 мар 2019, 00:16

Re: Падает астер при странных обстоятельствах

Сообщение ded » 26 мар 2019, 13:41

судя по названиям from-trunk-custom-income и другим - вы пытаетесь кастомизировать FreePBX?
1) В обработке from-trunk-custom-income делаете то, что сама FreePBX делает в других модулях лучше.
Попробуйте закомментировать строку, и понаблюдайте пока без записи. Падений не будет.
same => n,Set(MONITOR_EXEC=/usr/bin/lame -b 16 --silent "${fdir}${fname}.wav" "${fdir}${fname}.mp3" && rm �f "${fdir}${fname}.wav")
что-то у вас там за символ скопировался..?

2) same => n,Dial(Local/${xrealnum}@from-trunk) - так передавать номер (он вообще везде называется DID и не изобретать переменную xrealnum) не стоит. Лучше
same => n,Goto(from-trunk,${xrealnum},1)
ded
 
Сообщений: 15820
Зарегистрирован: 26 авг 2010, 19:00

Re: Падает астер при странных обстоятельствах

Сообщение r1der23 » 26 мар 2019, 16:25

ded писал(а):судя по названиям from-trunk-custom-income и другим - вы пытаетесь кастомизировать FreePBX?
1) В обработке from-trunk-custom-income делаете то, что сама FreePBX делает в других модулях лучше.
Попробуйте закомментировать строку, и понаблюдайте пока без записи. Падений не будет.
same => n,Set(MONITOR_EXEC=/usr/bin/lame -b 16 --silent "${fdir}${fname}.wav" "${fdir}${fname}.mp3" && rm �f "${fdir}${fname}.wav")
что-то у вас там за символ скопировался..?


rm -rf просто почему то так скопировалось
попробую закомментировать
средствами freepbx это сделать нельзя.
а) некоторые провайдеры DID передают номер куда звонили в одном из SIP заголовков
б) можно действительно ставить префиксы номерам, и можно разруливать директорию записи и даже поставить скрипт который будет запускаться после mixmonitor, но это по freepbx пляски с бубном и решается не лучше.

ded писал(а):2) same => n,Dial(Local/${xrealnum}@from-trunk) - так передавать номер (он вообще везде называется DID и не изобретать переменную xrealnum) не стоит. Лучше
same => n,Goto(from-trunk,${xrealnum},1)


есть провайдер, называется вектортелеком, если у них покупаешь много did, то они передают реальный номер именно в таком сип параметре.
Код: выделить все
;process vectortel
same => n,ExecIf($["${EXTEN}" = "100309"]?Set(xrealnum=${SIP_HEADER(To):6:11}))



Отключаю пока запись. Попробуем без нее
r1der23
 
Сообщений: 9
Зарегистрирован: 24 мар 2019, 00:16

Re: Падает астер при странных обстоятельствах

Сообщение ded » 26 мар 2019, 18:14

r1der23 писал(а):средствами freepbx это сделать нельзя.
Легко. В относительно новых версиях даже есть отдельный модуль Recording, который можно встраивать в цепочки сценариев входящих вызовов. Если принимать входящие с пред-обработкой (как внизу, например), то дальше в модуле Входящая маршрутизация указываем DID = 100309 назначение - Recording, а оттуда - IVR, или группа, или внутренний номер.
r1der23 писал(а):а) некоторые провайдеры DID передают номер куда звонили в одном из SIP заголовков
из которого можно вытащить что угодно, включая его.
r1der23 писал(а):б) можно действительно ставить префиксы номерам, и можно разруливать директорию записи
нет, с префиксами - это каменный век. Можно устанавливать значения штатной или кастомной переменной, и пускай себе пишет как полагается, но индексируем потом по значению этой переменной, и выгребаем из общей кучи ровно то, что нам нужно отобразить.

А тут делаем так:
Код: выделить все
;process vectortel
exten => _XXXXXX,1,NoOp( DID is  ${SIP_HEADER(To):6:11}))   ; All DIDs
exten => 100309,n,Set(EXTEN=${SIP_HEADER(To):6:11}))
.......
exten => _XXXXXX,n,Goto(from-trunk,${EXTEN},1)
ded
 
Сообщений: 15820
Зарегистрирован: 26 авг 2010, 19:00

След.

Вернуться в Вопросы новичков

Кто сейчас на форуме

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

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH