OS CentOS Asterisk 1.6.2.24
иногда падает астериск. астериск запущен с параметрами asterisk -f -vvvg -c
при падении создается core dump
анализ с помощью gdb -se "asterisk" -ex "bt full" -ex "thread apply all bt" --batch -c /tmp/core.asterisk1 > /tmp/backtrace.txt
выдает
Program terminated with signal 11, Segmentation fault. 0 0x00000031a4821797 in SQLSetConnectAttr () from /usr/lib64/libodbc.so.1
...
Thread 1 (Thread 0x4b7de940 (LWP 32668)):
0 0x00000031a4821797 in SQLSetConnectAttr () from /usr/lib64/libodbc.so.1
1 0x00007f6e0727e668 in astodbcrequestobj2 (name=0x4b7db3a0 "asterisk", flags=<value optimized="" out="">) at resodbc.c:1289
2 0x00007f6e07072fe1 in storeodbc (database=0x4b7db3a0 "asterisk", table=0x4b7db2a0 "astqueuelog", ap=0x4b7db4a0) at resconfig_odbc.c:727
3 0x000000000045ff05 in aststorerealtime (family=<value optimized="" out="">) at config.c:2257
4 0x000000000049d3e8 in astqueuelog (queuename=0x7f6dea41f37a "NONE", callid=0x7f6dea41f37a "NONE", agent=0x13bbf55 "SIP/39479", event=0x7f6dea41f563 "UNPAUSEALL", fmt=0x7f6dea41fdaa "%s") at logger.c:484
5 0x00007f6dea40c781 in setmemberpaused (queuename=0x0, interface=0x13bbf55 "SIP/39479", reason=0x0, paused=0) at app_queue.c:4542
6 0x00007f6dea40f3b4 in handlequeuepausemember (e=<value optimized="" out="">, cmd=<value optimized="" out="">, a=0x4b7ddb10) at appqueue.c:6925
7 0x000000000045b7e6 in astclicommand_full (uid=0, gid=0, fd=1120, s=0x4b7ddb90 "queue unpause member SIP/39479") at cli.c:2357
8 0x000000000045ba69 in astclicommandmultiplefull (uid=0, gid=0, fd=1120, size=31, s=0x4b7ddddf "queue unpause member SIP/39479") at cli.c:2380
9 0x0000000000430fc5 in netconsole (vconsole=<value optimized="" out="">) at asterisk.c:1254
10 0x000000000050246c in dummy_start (data=<value optimized="" out="">) at utils.c:970
11 0x00000031a400673d in start_thread () from /lib64/libpthread.so.0
12 0x00000031a38d44bd in clone () from /lib64/libc.so.6
а вопрос с чем это может быть связано?
включаете режим дебага. пишите в лог. когда падает, читаете дебаг.
Задан: 2013-08-19 18:34:44 +0400
Просмотрен: 906 раз
Обновлен: Aug 21 '13
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
отключите odbc если не используете.
zzuz ( 2013-08-19 20:54:58 +0400 )редактироватьodbc использую
prq ( 2013-08-20 14:10:04 +0400 )редактироватьЧто-то модулю не нравится . Видимо запрос какой-то хитрый.
zzuz ( 2013-08-20 14:26:26 +0400 )редактироватьа как можно узнать при каком запросе падает астериск?
prq ( 2013-08-20 14:37:20 +0400 )редактироватьможет переделать и юзать через AGI? как все..
Zavr2008 ( 2013-08-21 09:02:56 +0400 )редактироватьZavr2008, а через AGI это как?
prq ( 2013-08-26 17:30:50 +0400 )редактироватьпро AGI спросите у гугла, а идея вынести функционал вне модуля res_odbc.c вполне оправдан.
zzuz ( 2013-08-26 17:38:12 +0400 )редактировать