Summary:ASTERISK-05521: Segfault in clone_variables that's dependant on console debug setting.
Reporter:Ted Cabeen (secabeen)Labels:
Date Opened:2005-11-09 01:00:57.000-0600Date Closed:2008-01-15 15:55:33.000-0600
Versions:Frequency of
Environment:Attachments:( 0) btfull.out
( 1) extensions.conf
( 2) queues.conf
( 3) sip.conf
Description:Asterisk segfaults when trying to bridge two calls in our agent system.  Our agent system works by dynamically adding Local channels as queue members.  When asterisk is running in set debug 0 mode, I get a segfault when it tries to bridge the inbound caller with the agent who has answered their phone.  However, if you login to the console and do a set debug 1 or higher, the system doesn't crash at all.

****** STEPS TO REPRODUCE ******

Using the extensions.conf file I've included, set the global variable OPEN to TRUE, login as an agent using the 401 extension, and then answer the next call to come in on the inbound queue.  
Comments:By: Mathieu Rene (math) 2005-11-09 01:27:01.000-0600

[02:09] <Math`> print *(&original->varshead)
[02:10] <TedCHome> $5 = {first = 0x81bb498, last = 0x0}

By: BJ Weschke (bweschke) 2005-11-09 08:56:11.000-0600

trying to lab this one up here with rc1 to reproduce now...

By: BJ Weschke (bweschke) 2005-11-09 11:25:14.000-0600

can you attach your queues.conf too? I cannot reproduce this crash with rc1 here using your examples from extensions.conf and setting debug to 0.

By: Ted Cabeen (secabeen) 2005-11-09 11:40:07.000-0600

There's queues.conf.  Let me know if there's anything else you need.

By: Kevin P. Fleming (kpfleming) 2005-11-10 20:40:21.000-0600

Thanks for the gdb snippet; that allowed me to find the problem (a macro was failing to initialize the 'last' pointer). Fixed in CVS HEAD.

By: Digium Subversion (svnbot) 2008-01-15 15:55:33.000-0600

Repository: asterisk
Revision: 7067

U   trunk/ChangeLog
U   trunk/include/asterisk/linkedlists.h

r7067 | kpfleming | 2008-01-15 15:55:32 -0600 (Tue, 15 Jan 2008) | 2 lines

issue ASTERISK-5521