AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Странно зависает 1.6.2.24

Asterisk IP PBX 7 сообщений -
#1

Собственно уже несколько месяцев проблему имею.
Системы практически полностью идентичны.
Первая:
Виртуальная KVM,
Centos 6.0 Final
Asterisk 1.6.2.20
unixODBC 2.3.0
oracle odbc client 11.2.0.2.0
загружены
asterisk -rx 'module show like res_tim'
Module Description Use Count
res_timing_dahdi.so DAHDI Timing Interface 0
res_timing_timerfd.so Timerfd Timing Interface 0
2 modules loaded

Вторая
Реальная Centos 6.3
Asterisk 1.6.2.20, Asterisk 1.6.2.24 (собирали различные версии)
unixODBC 2.3.0
oracle odbc client 11.2.0.2.0
Пробовал грузить по одному модулю res_timing

В обоих случаях пропатчен модуль очередей для работы с ораклом.
На * работает 4 колцентра. Общая нагрузка ~ 3200 исх/вх в день. Стратегия распределения, в основном, звонить всем.

Первая система работает довольно стабильно, но поскольку мало дискового пространства - решили переносить.
Вторая система с аналогичными конфигами подвержена постоянным зависаниям. В какой именно момент происходят зависания еще не отловили. Но суть в том, что * просто перестает работать. Множественных BEY в SIP не наблюдается. В консоли полная тишина.
Uде-то вычитал, что * будет ждать тик от тайминга, пока его не получит, проблема вроде бы как, именно в тайминге. Но почему-то наблюдается при использовании одного лишь res_timing_dahdi и совершенно не наблюдается на виртуальной машине с двумя загруженными таймингами.
Последний раз на res_timing_dahdi продержался 38 часов. Решил поменять на res_timing_timerfd в течении получаса появились не отбитые SIP каналы в очередях, при res_timing_dahdi такого не наблюдалось.

У кого было нечто подобное?

Added after 1 hours 37 minutes:

UPDATE
К сожалению ничего не помогает. И зависания продолжаються. Тишина наступила после завершения вот такого звонка
cat /var/log/asterisk/full_16_08_2012_13h48m | grep 1246
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [78572@from-outsource] NoOp("SIP/outsource-00000c7c", "Call to estore Sales") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [78572@from-outsource] Goto("SIP/outsource-00000c7c", "tmp-cc,78572,1") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Goto (tmp-cc,78572,1)
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [78572@tmp-cc] NoOp("SIP/outsource-00000c7c", "Call to estore Sales") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [78572@tmp-cc] Set("SIP/outsource-00000c7c", "CLSL=Error") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [78572@tmp-cc] GotoIf("SIP/outsource-00000c7c", "1?err:") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Goto (tmp-cc,78572,5)
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [78572@tmp-cc] Set("SIP/outsource-00000c7c", "QNAME=estore_sales") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [78572@tmp-cc] NoOp("SIP/outsource-00000c7c", " incoming context = estore_sales") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [78572@tmp-cc] NoOp("SIP/outsource-00000c7c", " incoming number is 0505233456 ") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [78572@tmp-cc] Goto("SIP/outsource-00000c7c", "work_time_chk,wtc,1") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Goto (work_time_chk,wtc,1)
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [wtc@work_time_chk] NoOp("SIP/outsource-00000c7c", " work_time_chk ") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [wtc@work_time_chk] Playback("SIP/outsource-00000c7c", "greet_estore_sales") in new stack
[Aug 16 13] WARNING[1246] file.c: File greet_estore_sales does not exist in any format
[Aug 16 13] WARNING[1246] file.c: Unable to open greet_estore_sales (format 0x8 (alaw)): No such file or directory
[Aug 16 13] WARNING[1246] app_playback.c: ast_streamfile failed on SIP/outsource-00000c7c for greet_estore_sales
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [wtc@work_time_chk] Set("SIP/outsource-00000c7c", "ISWT=1") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [wtc@work_time_chk] NoOp("SIP/outsource-00000c7c", " Is it Worktime - 1 ") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [wtc@work_time_chk] GotoIf("SIP/outsource-00000c7c", "1?work_time,wt,1:not_work_time,nwt,1") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Goto (work_time,wt,1)
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [wt@work_time] NoOp("SIP/outsource-00000c7c", " work_time ") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [wt@work_time] Goto("SIP/outsource-00000c7c", "queue,queue,1") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Goto (queue,queue,1)
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [queue@queue] NoOp("SIP/outsource-00000c7c", " queue ") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [queue@queue] Playback("SIP/outsource-00000c7c", "wait_mng_estore_sales") in new stack
[Aug 16 13] WARNING[1246] file.c: File wait_mng_estore_sales does not exist in any format
[Aug 16 13] WARNING[1246] file.c: Unable to open wait_mng_estore_sales (format 0x8 (alaw)): No such file or directory
[Aug 16 13] WARNING[1246] app_playback.c: ast_streamfile failed on SIP/outsource-00000c7c for wait_mng_estore_sales
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [queue@queue] Set("SIP/outsource-00000c7c", "CALLERID(name)=estore_sales") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [queue@queue] Queue("SIP/outsource-00000c7c", "estore_sales,tT,,,300") in new stack
[Aug 16 13] VERBOSE[1246] res_musiconhold.c: -- Started music on hold, class 'default', on SIP/outsource-00000c7c
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- SIP/78366-00000c7e is ringing
[Aug 16 13] VERBOSE[1246] app_queue.c: -- SIP/78373-00000c7d is ringing
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 7000 ms
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] netsock.c: == Using SIP RTP CoS mark 5
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 3000 ms
[Aug 16 13] VERBOSE[1246] app_queue.c: -- Nobody picked up in 3000 ms
[Aug 16 13] VERBOSE[1246] res_musiconhold.c: -- Stopped music on hold on SIP/outsource-00000c7c
[Aug 16 13] VERBOSE[1246] pbx.c: -- Executing [queue@queue] Hangup("SIP/outsource-00000c7c", "") in new stack
[Aug 16 13] VERBOSE[1246] pbx.c: == Spawn extension (queue, queue, 5) exited non-zero on 'SIP/outsource-00000c7c'


Added after 2 hours 58 minutes:

Нашлась еще одна проблема. Память утекает довольно быстро!
За два часа 160 мбайт.
top - 15:12:07 up 16 days, 2:21, 2 users, load average: 0.01, 0.01, 0.00
Tasks: 153 total, 1 running, 152 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.3%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 12196036k total, 438120k used, 11757916k free, 11284k buffers
Swap: 6242296k total, 0k used, 6242296k free, 184204k cached

top - 17:13:53 up 16 days, 4:22, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 151 total, 1 running, 150 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.3%sy, 0.0%ni, 99.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 12196036k total, 674800k used, 11521236k free, 71900k buffers
Swap: 6242296k total, 0k used, 6242296k free, 341572k cached


Подскажите как лучше проверить астер на утечки памяти.[/spoiler][/code]

_________________
e=mc^2
#2

Обновитесь до актуальной версии.
_________________
Intel Core 2 Duo E6400 @ 2.40GHz / 6Gb / 160Gb || Gentoo Linux || Asterisk 1.8.12
Решения телефонии на базе Asterisk || http://it-need.ru
#3

как раз сейчас и обновляюсь. думаю, что результат буду знать уже к обеду.
_________________
e=mc^2
#4

Ночью обновился до актуальной 1.8 утечек памяти пока нет. Зависаний каналов тоже.
Посмотрим сколько простоит без проблем.

_________________
e=mc^2
#5

У меня на 1.6.2.* какой-то версии были зависания, а также на начальных 1.8.* каких-то. Сейчас 1.8.11.0 и 1.8.14.1 - тьфу-тьфу, всё ОК.
_________________
Внимание! Свет в конце тоннеля может быть светом фар приближающегося поезда!
Ubuntu 10.04/12.04 - Asterisk 1.8.11.0-rc2/1.8.14.1/1.8.17.0/10.10.0
#6

13 часов полет нормальный, размер кеша держится +-15 мбайт. На 1.6 по 80-100 мбайт каждый час набегало.
Зависших каналов пока не наблюдаю.

Миграция прошла безболезненно. Хорошо, что в свое время уже тестировал и знал, что в коде нужно изменить под себя.

_________________
e=mc^2
#7

Обнаружилась еще одна проблема. При включенных записях в очередях, довольно быстро забивается кеш памяти. Размер кеша приблизительно равен размеру сделанных за это время записей. Со временем к сожалению он не освобождается. Пока решил делать дроп кеша, но это как-то не эстетично Wink Хочеться все-таки найти утечку и подправить.
У кого-то наблюдались такие проблемы? Версия Asterisk 1.8.15.0.
И вернусь к вопросу заданному выше. У кого-то был опыт поиска утечек в астериске?

_________________
e=mc^2