[Home]

Summary:ASTERISK-10938: Asterisk crashes when using ODBC connected to Sybase
Reporter:Leif Madsen (lmadsen)Labels:
Date Opened:2007-11-30 10:38:36.000-0600Date Closed:2011-06-07 14:01:07
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Resources/res_odbc
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) backtrace.txt
( 1) backtrace-1203.txt
Description:Asterisk appears to crash at various times throughout the day when using ODBC connected to a Sybase database. It seems to be when it tries to reconnect to the database, but fails, then causes a crash(?)

I've attached a backtrace from the machine in question.

Here is a copy of the configuration files:

res_odbc.conf:
;; odbc setup file
[asterisk]
enabled => yes
dsn => Sybase-cl
username => xxxxxxx
password => xxxxxxx
pre-connect => yes

odbc.ini
[Sybase-cl]
Description     = Sybase ODBC Data Source
UserID          = xxxxxx
Password        = xxxxxx
Driver          = Adaptive Server Enterprise
Server          = 10.1.1.1
Port            = 4300
Database        = xxxxxx
UseCursor       = 1

odbcinst.ini
[Adaptive Server Enterprise]
Description             = Sybase ODBC Driver
Driver                  = /usr/local/sybase/DataAccess/ODBC/lib/libsybdrvodb.so
FileUsage               = 1

****** ADDITIONAL INFORMATION ******

[Nov 28 13:28:03] WARNING[15658] res_monitor.c: Execute of /config/asterisk/monitor-transfer/callTRANSFER "//var/spool/asterisk/monitor/2007/11/28/embratel_bc/10731--embratel_bc--2007-11-28-13_30_34-in.gsm" "
[Nov 28 13:28:41] WARNING[16817] res_monitor.c: Execute of /config/asterisk/monitor-transfer/callTRANSFER "//var/spool/asterisk/monitor/2007/11/28/embratel_bc/10890--embratel_bc--2007-11-28-13_32_20-in.gsm" "
[Nov 28 13:31:06] WARNING[27536] res_odbc.c: SQL Execute returned an error -1: 08S01: [Sybase][ODBC Driver]Connection to Sybase server has been lost. All active transactions have been rolled back (109)
[Nov 28 13:31:06] WARNING[27536] res_odbc.c: SQL Execute error -1! Attempting a reconnect...
[Nov 28 13:31:06] WARNING[27536] res_odbc.c: res_odbc: disconnected 0 from asterisk [Sybase-cl]
[Nov 28 13:31:06] WARNING[18917] res_config_odbc.c: SQL Alloc Handle failed!
[Nov 28 13:31:06] WARNING[18917] res_odbc.c: SQL Prepare failed.  Attempting a reconnect...
[Nov 28 13:31:06] WARNING[18917] res_odbc.c: res_odbc: disconnected 0 from asterisk [Sybase-cl]
[Nov 28 13:31:45] WARNING[27536] res_odbc.c: SQL Execute returned an error -1: 08S01: [Sybase][ODBC Driver]Connection to Sybase server has been lost. All active transactions have been rolled back (109)
[Nov 28 13:31:45] WARNING[27536] res_odbc.c: SQL Execute error -1! Attempting a reconnect...
[Nov 28 13:31:45] WARNING[27536] res_odbc.c: res_odbc: disconnected 0 from asterisk [Sybase-cl]
[Nov 28 13:31:45] WARNING[19439] res_config_odbc.c: SQL Alloc Handle failed!
[Nov 28 13:31:45] WARNING[19439] res_odbc.c: SQL Prepare failed.  Attempting a reconnect...
[Nov 28 13:31:45] WARNING[19439] res_odbc.c: res_odbc: disconnected 0 from asterisk [Sybase-cl]
[Nov 28 13:31:49] WARNING[19495] res_musiconhold.c: The old musiconhold.conf syntax has been deprecated!  Please refer to the sample configuration for information on the new syntax.
[Nov 28 13:31:49] WARNING[19495] res_smdi.c: No SMDI interfaces are available to listen on, not starting SMDI listener.
[Nov 28 13:31:49] WARNING[19495] chan_skinny.c: Option 'port' at line 5 of skinny.conf has been deprecated.  Please use 'bindport' instead.
[Nov 28 13:31:49] WARNING[19495] app_followme.c: No follow me config file (followme.conf), so no follow me
[Nov 28 13:31:49] WARNING[19529] chan_sip.c: insecure=yes at line 0 is deprecated; use insecure=port instead
[Nov 28 13:31:50] WARNING[19495] acl.c: TOS value lowdelay is deprecated. Please see doc/ip-tos.txt for more information.
[Nov 28 13:31:50] WARNING[19495] acl.c: TOS value lowdelay is deprecated. Please see doc/ip-tos.txt for more information.
[Nov 28 13:31:50] WARNING[19495] acl.c: TOS value lowdelay is deprecated. Please see doc/ip-tos.txt for more information.
[Nov 28 13:31:50] ERROR[19495] app_amd.c: Configuration file amd.conf missing.
[Nov 28 13:32:06] WARNING[19529] res_odbc.c: SQL Execute returned an error -1: 08S01: [Sybase][ODBC Driver]Connection to Sybase server has been lost. All active transactions have been rolled back (109)
[Nov 28 13:32:06] WARNING[19529] res_odbc.c: SQL Execute error -1! Attempting a reconnect...
[Nov 28 13:32:06] WARNING[19529] res_odbc.c: res_odbc: disconnected 0 from asterisk [Sybase-cl]
[Nov 28 13:32:11] WARNING[19804] res_musiconhold.c: The old musiconhold.conf syntax has been deprecated!  Please refer to the sample configuration for information on the new syntax.
[Nov 28 13:32:11] WARNING[19804] res_smdi.c: No SMDI interfaces are available to listen on, not starting SMDI listener.
[Nov 28 13:32:11] WARNING[19838] chan_sip.c: insecure=yes at line 0 is deprecated; use insecure=port instead
[Nov 28 13:32:11] WARNING[19804] chan_skinny.c: Option 'port' at line 5 of skinny.conf has been deprecated.  Please use 'bindport' instead.
[Nov 28 13:32:11] WARNING[19804] app_followme.c: No follow me config file (followme.conf), so no follow me
[Nov 28 13:32:11] WARNING[19804] acl.c: TOS value lowdelay is deprecated. Please see doc/ip-tos.txt for more information.
[Nov 28 13:32:11] WARNING[19804] acl.c: TOS value lowdelay is deprecated. Please see doc/ip-tos.txt for more information.
[Nov 28 13:32:11] WARNING[19804] acl.c: TOS value lowdelay is deprecated. Please see doc/ip-tos.txt for more information.
[Nov 28 13:32:11] ERROR[19804] app_amd.c: Configuration file amd.conf missing.
[Nov 28 13:32:41] WARNING[19909] res_monitor.c: Execute of /config/asterisk/monitor-transfer/callTRANSFER "//var/spool/asterisk/monitor/2007/11/28/embratel_bc/10822--embratel_bc--2007-11-28-13_36_02-in.gsm" "
[Nov 28 13:33:07] WARNING[19838] chan_sip.c: Maximum retries exceeded on transmission 143426633051200084855@10.33.2.153 for seqno 1 (Critical Response)
[Nov 28 13:34:59] WARNING[21846] app_dial.c: Unable to forward voice frame
[Nov 28 13:35:32] WARNING[22095] res_monitor.c: Execute of /config/asterisk/monitor-transfer/callTRANSFER "//var/spool/asterisk/monitor/2007/11/28/embratel_bc/10824--embratel_bc--2007-11-28-13_39_01-in.gsm" "
[Nov 28 13:35:41] WARNING[21807] app_dial.c: Unable to forward voice frame
[Nov 28 13:37:07] WARNING[19838] res_odbc.c: SQL Execute returned an error -1: 08S01: [Sybase][ODBC Driver]Connection to Sybase server has been lost. All active transactions have been rolled back (109)
[Nov 28 13:37:07] WARNING[19838] res_odbc.c: SQL Execute error -1! Attempting a reconnect...
[Nov 28 13:37:07] WARNING[19838] res_odbc.c: res_odbc: disconnected 0 from asterisk [Sybase-cl]
[Nov 28 13:37:08] WARNING[23541] res_config_odbc.c: SQL Alloc Handle failed!
[Nov 28 13:37:08] WARNING[23541] res_odbc.c: SQL Prepare failed.  Attempting a reconnect...
[Nov 28 13:37:08] WARNING[23541] res_odbc.c: res_odbc: disconnected 0 from asterisk [Sybase-cl]
Comments:By: Tilghman Lesher (tilghman) 2007-11-30 11:19:21.000-0600

Config error.  "pooling => yes" needs to be turned on.  Sybase is just like MS SQL Server (same codebase).

By: Leif Madsen (lmadsen) 2007-12-03 12:45:10.000-0600

Have another backtrace. Seems to be better (not crashing as often), but still had another crash today. Might be a different issue, but gonna reopen here since I already made the bug report.

By: Leif Madsen (lmadsen) 2007-12-03 12:45:57.000-0600

See backtrace-1203.txt

By: Tilghman Lesher (tilghman) 2007-12-03 14:19:43.000-0600

Yes, but that crash is completely unrelated.  Please open a new bug with that one, as it's happening in RTP, not in res_odbc.