Страница 1 из 2
Зависает * , методы отладки?
Добавлено: 06 июн 2011, 10:31
aizek
Добрый день всем. Имеется
Код: Выделить всё
asterisk*CLI> core show version
Asterisk 1.6.2.18 built by root @ asterisk on a x86_64 running Linux on 2011-06-06 02:17:53 UTC
обновился сегодня, но проблема была и на 1.6.2.17.2, висит на реальном IP, не за натом.
За последнюю неделю несколько раз намертво зависает без причины (а может и с ней?) - телефоны умирают (15 клиентов за натом, 3-4 с реальными IP, 6 номеров от МангоТелеком), входящая/исходящая связь в ауте. При этом в консоль пускает, sip show peers выдает список. На core restart now не реагирует. Приходится kill'ить процесс.
Вопрос: есть ли какие-то методы для отладки *, выявления причины? Кто как отлаживает?
Re: Зависает * , методы отладки?
Добавлено: 06 июн 2011, 10:49
gofer_k
А логи что говорят?
Re: Зависает * , методы отладки?
Добавлено: 06 июн 2011, 11:06
aizek
Тишина в логах, т.е. до какого-то момента всё ок, всё пишется, а потом молчание.
Re: Зависает * , методы отладки?
Добавлено: 06 июн 2011, 11:20
ded
Согласно информации из телепатического канала - это проблема 53.
http://asterisk.ru/news/53
Проверять - во время такого зависания сделать команду
dig
http://www.ru например. Если ответ будет задерживаться - оно и есть.
Нормальное исполнение команды
;; ANSWER SECTION:
http://www.ru. 30035 IN A 194.87.0.50
;; Query time:
22 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Jun 6 09:19:53 2011
;; MSG SIZE rcvd: 40
Re: Зависает * , методы отладки?
Добавлено: 06 июн 2011, 16:24
aizek
Ded, возможно ваш телепатический канал сбоит
Код: Выделить всё
root@asterisk:/# dig www.ru
; <<>> DiG 9.7.3 <<>> www.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17638
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.ru. IN A
;; ANSWER SECTION:
www.ru. 86400 IN A 194.87.0.50
;; Query time: 5 msec
;; SERVER: 89.108.124.3#53(89.108.124.3)
;; WHEN: Mon Jun 6 16:04:31 2011
;; MSG SIZE rcvd: 40
Во время очередного зависания выполнил core set debug 10, валилось вот что:
Код: Выделить всё
[2011-06-06 16:04:00] DEBUG[21479] channel.c: ====:::: Trying to lock AST channel SIP/74956460321-00000257
[2011-06-06 16:04:00] DEBUG[21479] channel.c: :::=== Now have 1 locks (recursive)
[2011-06-06 16:04:00] DEBUG[21479] channel.c: ::::==== Channel SIP/74956460321-00000257 failed to lock. Not waiting around...
[2011-06-06 16:04:00] DEBUG[21479] channel.c: ====:::: Trying to lock AST channel SIP/74956460321-00000257
[2011-06-06 16:04:00] DEBUG[21479] channel.c: :::=== Now have 1 locks (recursive)
Re: Зависает * , методы отладки?
Добавлено: 06 июн 2011, 16:51
ded
Ну ясно, я ж не дежурный телепат! Дежурный то в армию ушёл..
А вот это
;; ANSWER SECTION:
http://www.ru. 86400 IN A 194.87.0.50
получено и менно в момент зависания?
А сборка x86_64 самодельная? А машина часом не виртуальная?
А что htop говорит при этом? А dmesg?
А если в Астериск не в CLI смотреть а в /varlog/asterisk/full при этом?
Re: Зависает * , методы отладки?
Добавлено: 06 июн 2011, 16:52
aizek
Да именно в этот момент.
Re: Зависает * , методы отладки?
Добавлено: 06 июн 2011, 17:01
ded
Есть подозрение ещё: вы используете очереди, причём агенты снаружи (на городском номере?) и внутри. Могли ли сделать петлю нечаянно, раз cha_sip ппытается лочить входяший и не может?
Похожая симптоматика,
https://issues.asterisk.org/view.php?id=18823&nbn=8
и вот ещё, но древняя:
https://issues.asterisk.org/view.php?id=11080
Попытаться сделать
core show locks
Re: Зависает * , методы отладки?
Добавлено: 06 июн 2011, 18:29
aizek
А сборка x86_64 самодельная? А машина часом не виртуальная?
Debian Squeezy 5.0.0
Код: Выделить всё
# uname -a
Linux asterisk 2.6.32-5-amd64 #1 SMP Wed Jan 12 05:14:59 UTC 2011 x86_64 GNU/Linux
# cat /proc/cpuinfo | grep model
model : 15
model name : Intel(R) Xeon(R) CPU 5160 @ 3.00GHz
model : 15
model name : Intel(R) Xeon(R) CPU 5160 @ 3.00GHz
model : 15
model name : Intel(R) Xeon(R) CPU 5160 @ 3.00GHz
model : 15
model name : Intel(R) Xeon(R) CPU 5160 @ 3.00GHz
# cat /proc/meminfo | grep MemTotal
MemTotal: 4055384 kB
А что htop говорит при этом?
Нагрузка на процессор минимальная.
dmesg не глядел, в след. раз посмотрю.
full ничего необычного не дает, идет обработка вызова по диалплану.
Есть очереди, 2 шт, вызов с города (Манго) прилетает сначала в одну, затем по таймауту уходит во 2ую, агенты - 2-3 шт с реальных IP, 10 шт за натом. Петель нет, т.к. всё работало до недавнего времени и изменения в диалплан не вносил.
Остальные рекомендации выполню при следующем зависании.
Re: Зависает * , методы отладки?
Добавлено: 06 июн 2011, 18:36
ded
Хм, а как объяснить
Linux asterisk 2.6.32-5-amd64
и
# cat /proc/cpuinfo | grep model
model : 15
model name : Intel(R) Xeon(R) CPU