Summary: | ASTERISK-06242: res_config_mysql.so crashes when using IAX. | ||
Reporter: | Chris Hozian (chozian) | Labels: | |
Date Opened: | 2006-02-02 14:22:59.000-0600 | Date Closed: | 2006-02-02 14:44:22.000-0600 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | CDR/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) gdb_with_bt_and_bt_full_output.txt | |
Description: | I could not find a specific place for this bug report. There does not appear to be an addons category with various products available. I recently reprovisioned my IAXy to use port 45690, rather than 4569. I started Asterisk after making the required configuration changes. When I pressed a DTMF digit from my IAXy it caused Asterisk to crash. I tried ringinng that IAXy from a SIP phone. Asterisk would crash after the first ring. I thought this was related to using a non-standard IAX port at first. I noticed some output in gdb from bt referencing mysql from the asterisk-addons package. I removed each asterisk-addon module one at a time. I've narrowed the problem down to res_config_mysql. Asterisk crashes when I ring my IAXy or pass DTMF with my IAXy when res_config_mysql.so is loaded. It didn't make any difference about my IAX port configuration. Asterisk works fine in either configuration if res_config_mysql.so is not loaded. I am running SVN revision 193 of asterisk-addons. I did this test using the IAX account called "testiaxy". I have attached the gdb output with bt and bt full after using a "make valgrind". ****** ADDITIONAL INFORMATION ****** Asterisk CLI Output: ^M == Parsing '/etc/asterisk/asterisk.conf': Found ^M == Parsing '/etc/asterisk/extconfig.conf': Found ^M == Binding extensions to odbc/mysql1/extensions_table ^MAsterisk SVN-trunk-r9072M, Copyright (C) 1999 - 2006 Digium, Inc. and others. ^MCreated by Mark Spencer <markster@digium.com> ^MAsterisk comes with ABSOLUTELY NO WARRANTY; type 'show warranty' for details. ^MThis is free software, with components licensed under the GNU General Public ^MLicense version 2 and other licenses; you are welcome to redistribute it under ^Mcertain conditions. Type 'show license' for details. ^M========================================================================= ^MConnected to Asterisk SVN-trunk-r9072M currently running on trance (pid = 8429) trance*CLI> ^MVerbosity was 3 and is now 4 ^M^[[Ktrance*CLI> iax2 debug ^H^H^[[K^H^[[K^H^[[K^H^[[K^H^[[Kde^H^[[K^H^[[K^Hdebug ^M trance*CLI> ^MIAX2 Debugging Enabled ^M^[[Ktrance*CLI> iax2^MTx-Frame Retry[000] -- OSeqno: 002 ISeqno: 000 Type: IAX Subclass: PING ^@ Timestamp: 20011ms SCall: 00001 DCall: 00000 [172.20.0.2:4569] ^@Tx-Frame Retry[000] -- OSeqno: 003 ISeqno: 000 Type: IAX Subclass: LAGRQ ^@ Timestamp: 20014ms SCall: 00001 DCall: 00000 [172.20.0.2:4569] ^@Tx-Frame Retry[000] -- OSeqno: 002 ISeqno: 000 Type: IAX Subclass: PING ^@ Timestamp: 20011ms SCall: 00002 DCall: 00000 [69.73.19.178:4569] ^@Tx-Frame Retry[000] -- OSeqno: 003 ISeqno: 000 Type: IAX Subclass: LAGRQ ^@ Timestamp: 20014ms SCall: 00002 DCall: 00000 [69.73.19.178:4569] ^@^M^[[Ktrance*CLI> iax2 show peers^MTx-Frame Retry[001] -- OSeqno: 002 ISeqno: 000 Type: IAX Subclass: PING ^@ Timestamp: 20011ms SCall: 00001 DCall: 00000 [172.20.0.2:4569] ^@Tx-Frame Retry[001] -- OSeqno: 003 ISeqno: 000 Type: IAX Subclass: LAGRQ ^@ Timestamp: 20014ms SCall: 00001 DCall: 00000 [172.20.0.2:4569] ^@Tx-Frame Retry[001] -- OSeqno: 002 ISeqno: 000 Type: IAX Subclass: PING ^@ Timestamp: 20011ms SCall: 00002 DCall: 00000 [69.73.19.178:4569] ^@Tx-Frame Retry[001] -- OSeqno: 003 ISeqno: 000 Type: IAX Subclass: LAGRQ ^@ Timestamp: 20014ms SCall: 00002 DCall: 00000 [69.73.19.178:4569] ^@Tx-Frame Retry[002] -- OSeqno: 001 ISeqno: 000 Type: IAX Subclass: LAGRQ ^@ Timestamp: 10011ms SCall: 00001 DCall: 00000 [172.20.0.2:4569] ^@Tx-Frame Retry[002] -- OSeqno: 001 ISeqno: 000 Type: IAX Subclass: LAGRQ ^@ Timestamp: 10011ms SCall: 00002 DCall: 00000 [69.73.19.178:4569] ^@^M^[[Ktrance*CLI> iax2 show peers^M trance*CLI> ^MName/Username Host Mask Port Status ^M^[[Ktrance*CLI> ^Mlincoln/techno (Unspecified) (D) 255.255.255.255 0 UNKNOWN ^M^[[Ktrance*CLI> ^Mtestiaxy2 (Unspecified) (D) 255.255.255.255 0 UNKNOWN ^M^[[Ktrance*CLI> ^Mtestiaxy 192.168.254.4 (D) 255.255.255.255 45690 OK (4 ms) ^M^[[Ktrance*CLI> ^Mto-qemuabe/tran 172.20.0.2 (S) 255.255.0.0 4569 UNREACHABLE ^M^[[Ktrance*CLI> ^Miaxtel-out/choz 69.73.19.178 (S) 255.255.255.255 4569 UNREACHABLE ^M^[[Ktrance*CLI> ^Miax-fwd-out/629 192.246.69.186 (S) 255.255.255.255 4569 OK (52 ms) ^M^[[Ktrance*CLI> ^M6 iax2 peers [2 online, 4 offline, 0 unmonitored] ^M^[[Ktrance*CLI> ^MTx-Frame Retry[003] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ ^@ Timestamp: 00011ms SCall: 00001 DCall: 00000 [172.20.0.2:4569] ^@ USERNAME : techno ^@ REFRESH : 60 ^@ ^@Tx-Frame Retry[003] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ ^@ Timestamp: 00011ms SCall: 00002 DCall: 00000 [69.73.19.178:4569] ^@ USERNAME : chozian ^@ REFRESH : 60 ^@ ^@^M^[[Ktrance*CLI> iax2 show pep^H^[[Kr^H^[[Ker test testiaxy2 testiaxy ^M^[[Ktrance*CLI> iax2 show peer testiaxy^M trance*CLI> ^M * Name : testiaxy Secret : <Set> Context : from-internal Mailbox : Dynamic : Yes Callerid : "My IAXy" <1000> Expire : 1 ACL : No Addr->IP : 192.168.254.4 Port 45690 Defaddr->IP : 0.0.0.0 Port 45690 Username : Codecs : 0xf804 (ulaw) Codec Order : (ulaw) Status : OK (4 ms) Qualify : every 60000 when OK, every 10000 when UNREACHABLE (sample smoothing Off) ^M^[[Ktrance*CLI> ^MTx-Frame Retry[000] -- OSeqno: 004 ISeqno: 000 Type: IAX Subclass: LAGRQ ^@ Timestamp: 30011ms SCall: 00001 DCall: 00000 [172.20.0.2:4569] ^@Tx-Frame Retry[000] -- OSeqno: 004 ISeqno: 000 Type: IAX Subclass: LAGRQ ^@ Timestamp: 30011ms SCall: 00002 DCall: 00000 [69.73.19.178:4569] ^@^M^[[Ktrance*CLI> ^MTx-Frame Retry[002] -- OSeqno: 002 ISeqno: 000 Type: IAX Subclass: PING ^@ Timestamp: 20011ms SCall: 00001 DCall: 00000 [172.20.0.2:4569] ^@Tx-Frame Retry[002] -- OSeqno: 003 ISeqno: 000 Type: IAX Subclass: LAGRQ ^@ Timestamp: 20014ms SCall: 00001 DCall: 00000 [172.20.0.2:4569] ^@Tx-Frame Retry[002] -- OSeqno: 002 ISeqno: 000 Type: IAX Subclass: PING ^@ Timestamp: 20011ms SCall: 00002 DCall: 00000 [69.73.19.178:4569] ^@Tx-Frame Retry[002] -- OSeqno: 003 ISeqno: 000 Type: IAX Subclass: LAGRQ ^@ Timestamp: 20014ms SCall: 00002 DCall: 00000 [69.73.19.178:4569] ^@Tx-Frame Retry[003] -- OSeqno: 001 ISeqno: 000 Type: IAX Subclass: LAGRQ ^@ Timestamp: 10011ms SCall: 00001 DCall: 00000 [172.20.0.2:4569] ^@Tx-Frame Retry[003] -- OSeqno: 001 ISeqno: 000 Type: IAX Subclass: LAGRQ ^@ Timestamp: 10011ms SCall: 00002 DCall: 00000 [69.73.19.178:4569] ^@^M^[[Ktrance*CLI> ^MTx-Frame Retry[001] -- OSeqno: 004 ISeqno: 000 Type: IAX Subclass: LAGRQ ^@ Timestamp: 30011ms SCall: 00001 DCall: 00000 [172.20.0.2:4569] ^@Tx-Frame Retry[001] -- OSeqno: 004 ISeqno: 000 Type: IAX Subclass: LAGRQ ^@ Timestamp: 30011ms SCall: 00002 DCall: 00000 [69.73.19.178:4569] ^@^M^[[Ktrance*CLI> ^MRx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW ^@ Timestamp: 00002ms SCall: 01554 DCall: 00000 [192.168.254.4:45690] ^@ VERSION : 2 ^@ CALLED NUMBER : TBD ^@ SERVICE IDENT : 000364000815 ^@ PROVISIONG VER : 2625206899 ^@ CALLING NAME : testiaxy ^@ USERNAME : testiaxy ^@ FORMAT : 4 ^@ CAPABILITY : 36 ^@ ^@Feb 2 14:08:37 DEBUG[8460]: db.c:201 ast_db_get: ^@Unable to find key 'si-000364000815' in family 'iax/provisioning/cache' ^@^M^[[Ktrance*CLI> ^MFeb 2 14:08:37 DEBUG[8460]: iax2-provision.c:250 iax_provision_version: ^@Unable to create provisioning packet for 'si-000364000815' ^@^M^[[Ktrance*CLI> ^MTx-Frame Retry[000] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: AUTHREQ ^@^M^[[Ktrance*CLI> ^M Timestamp: 00002ms SCall: 00010 DCall: 01554 [192.168.254.4:45690] ^@^M^[[Ktrance*CLI> ^M AUTHMETHODS : 3 ^@^M^[[Ktrance*CLI> ^M CHALLENGE : 815818992 ^@^M^[[Ktrance*CLI> ^M USERNAME : testiaxy ^@^M^[[Ktrance*CLI> ^M ^@^M^[[Ktrance*CLI> ^MRx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: AUTHREP ^@ Timestamp: 00005ms SCall: 01554 DCall: 00010 [192.168.254.4:45690] ^@ MD5 RESULT : f8fd1cec89dd74ad481db02d2be99955 ^@ SERVICE IDENT : 000364000815 ^@ PROVISIONG VER : 2625206899 ^@ ^@ -- Accepted AUTHENTICATED TBD call from 192.168.254.4 ^@Tx-Frame Retry[000] -- OSeqno: 001 ISeqno: 002 Type: IAX Subclass: ACCEPT ^@ Timestamp: 00009ms SCall: 00010 DCall: 01554 [192.168.254.4:45690] ^@ FORMAT : 4 ^@ ^@^M^[[Ktrance*CLI> ^MRx-Frame Retry[ No] -- OSeqno: 002 ISeqno: 002 Type: IAX Subclass: ACK ^@ Timestamp: 00009ms SCall: 01554 DCall: 00010 [192.168.254.4:45690] ^@^M^[[Ktrance*CLI> ^MRx-Frame Retry[ No] -- OSeqno: 002 ISeqno: 002 Type: IAX Subclass: DPREQ ^@ Timestamp: 01726ms SCall: 01554 DCall: 00010 [192.168.254.4:45690] ^@ CALLED NUMBER : 5 ^@ ^@^M^[[Ktrance*CLI> ^MExecuting last minute cleanups ------------ iax.conf: [general] bindaddr=0.0.0.0:4569 bindaddr=0.0.0.0:45690 disallow=all allow=g729 allow=gsm allow=ulaw jitterbuffer=no register => xxxxxx:xxxxxxxxxx@iax2.fwdnet.net register => xxxxxxx:xxxxxxxxx@iaxtel.com register => xxxxxx:xxxx@172.20.0.2 tos=lowdelay autokill=yes [guest] type=user context=DISABLED callerid="Guest IAX User" [iaxfwd] type=user context=from-iax-fwd auth=rsa inkeys=freeworlddialup [iax-fwd-out] type=peer username=xxxxxx secret=xxxxxxxxxx host=iax2.fwdnet.net qualify=yes [iaxtel-out] type=peer username=xxxxxxx secret=xxxxxxxxx host=iaxtel.com qualify=yes [qemuabe] type=user context=from-internal secret=xxxxxxxxxxxxxxxxxxx callerid="QEMUabe" <(000) 000-0000> deny=0.0.0.0/0.0.0.0 permit=172.20.0.2/16 [to-qemuabe] type=peer username=xxxxxx secret=xxxxxxxxxxxxx host=172.20.0.2 mask=255.255.0.0 qualify=yes [priv] type=user dbsecret=dundi/secret context=dundi-priv-local [testiaxy] port=45690 type=friend host=dynamic secret=xxxxxxxxxxxxxx context=from-internal disallow=all allow=ulaw callerid="My IAXy" <1000> trunk=no qualify=yes [testiaxy2] type=friend host=dynamic secret=xxxxxxxxxxxxxx context=from-internal disallow=all allow=ulaw callerid="Soft Client" <3026> trunk=no qualify=yes [lincoln] type=friend host=dynamic context=from-lincoln-test username=xxxxxx secret=xxxx callerid="Lincoln" <(000) 000-0000> deny=0.0.0.0/0.0.0.0 permit=172.20.0.2/16 disallow=all allow=g729 qualify=yes ------------ iaxprov.conf: [default] codec=ulaw flags=register,heartbeat tos=lowdelay [testtemplate] server=192.168.254.1 language=en tos=lowdelay codec=ulaw flags += register,heartbeat,debug flags -= secure [testiaxy] template=testtemplate user=testiaxy pass=xxxxxxxxxxxxxx port=45690 serverport=45690 | ||
Comments: | By: Chris Hozian (chozian) 2006-02-02 14:36:33.000-0600 Ah, this appears to only be a problem when res_config_odbc.so and res_config_mysql.so are loaded at the same time. It does not cause a problem if I use one or the other. I have added a "noload => res_config_mysql.so" to my /etc/asterisk/modules.conf to temporarily resolve this problem. By: Matt O'Gorman (mogorman) 2006-02-02 14:44:12.000-0600 you can not use myodbc and native mysql from the same process |