[Home]

Summary:ASTERISK-12966: segfault in res_odbc.c when rtupdate=yes in sip.conf with MS-SQL ODBC
Reporter:joel jotham (jjotham)Labels:
Date Opened:2008-10-25 23:25:53Date Closed:2011-06-07 14:01:07
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/Registration
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) __backtrace.txt
Description:system registers and updates users inot MS-SQL table sippeers, sipusers using unixODBC and FreeTDS 0.64
whenever rtupdate is set to yes asterisk crashes after updating several SIP peers registrations. Crash occurs on call to function SQLFreeHandle in res_odbc.c
Tested Crash in versions 1.6.01, 1.4.21 and 1.2.30.2
Comments:By: Leif Madsen (lmadsen) 2008-10-27 12:56:07

Interesting... I'm now monitoring this issue because it might be related to the same crash issue I'm seeing. Sorry, I have no MSSQL DB here so I can't try and reproduce this.

By: Tilghman Lesher (tilghman) 2008-10-27 16:16:14

If you're reporting a crash, I need to see a backtrace, with DONT_OPTIMIZE turned on.

By: Leif Madsen (lmadsen) 2008-10-27 17:17:49

btw: I think I just reproduced this issue

By: Tilghman Lesher (tilghman) 2008-10-27 18:27:16

The only thing that I can think of that would even be tangentially our issue would be some memory error that could be tracked down with valgrind.  Otherwise, we're looking at a bug in FreeTDS.

Can you repeat the steps necessary to cause this bug while Valgrind is running, then upload the resulting valgrind output?

By: Tilghman Lesher (tilghman) 2008-10-30 19:36:31

jjotham:  I'd also like to see the contents of your res_odbc.conf.

By: joel jotham (jjotham) 2008-10-30 19:51:45

here it is:
Here it is:
;;; odbc setup file

; ENV is a global set of environmental variables that will get set.
; Note that all environmental variables can be seen by all connections, ; so you can't have different values for different connections.
[ENV]
INFORMIXSERVER => my_special_database
INFORMIXDIR => /opt/informix

[sql1]
enabled => yes
dsn => sql1_IPH
pooling => yes
limit => 50
username =>
password =>
pre-connect => yes
; Many databases have a default of '\' to escape special characters.  MS SQL ; Server does not.
backslash_is_escape => no

[sql1_ast]
enabled => yes
dsn => sql1_ast
pooling => yes
limit => 50
username =>
password =>
pre-connect => yes
; Many databases have a default of '\' to escape special characters.  MS SQL ; Server does not.
backslash_is_escape => no

[PeletelMobile]
enabled => yes
dsn => sql1_ast_test
pooling => yes
limit => 50
username =>
password =>
pre-connect => yes
; Many databases have a default of '\' to escape special characters.  MS SQL ; Server does not.
backslash_is_escape => no

[sql1_ast_test]
enabled => yes
dsn => sql1_ast_test
;pooling => no
pooling => yes
limit => 50
username =>
password =>
pre-connect => yes
; Many databases have a default of '\' to escape special characters.  MS SQL ; Server does not.
backslash_is_escape => no

By: Tilghman Lesher (tilghman) 2008-11-02 22:50:58.000-0600

jjotham:  Okay, that output looks sane.  Could you provide the requested valgrind output?  I want to ensure that we do everything on our end to ensure this is not an Asterisk issue before pointing the finger at FreeTDS.

By: Tilghman Lesher (tilghman) 2008-11-19 01:04:26.000-0600

jjotham: any chance you found time to run Asterisk under Valgrind yet?

By: Tilghman Lesher (tilghman) 2008-12-13 18:28:47.000-0600

No response from reporter.