Summary:ASTERISK-17126: [patch] Random Deadlocks in <chan_sip.c> or <channel.c> !?!
Reporter:Tan Tuerel (thsgmbh)Labels:
Date Opened:2010-12-17 05:15:57.000-0600Date Closed:2013-04-08 15:46:47
Versions:Frequency of
duplicatesASTERISK-17387 [patch] Deadlock In chan_sip (conlock / cb_extensionstate
Environment:Attachments:( 0) 20110127__issue18494.diff.txt
( 1) asterisk_backtrace_03.02.2011.txt
( 2) Asterisk_backtrace_22.12.2010.txt
( 3) backtrace_06.01.2011.txt
( 4) backtrace_12.01.2011.txt
( 5) Backtrace_channel.c_deadlock_13.12.2010.txt
( 6) Backtrace_deadlock_20.12.2010.txt
Description:I get random deadlocks (3-4 times in a week).

See attached Backtrace!

- Asterisk SVN-branch-1.6.2-r296466 (from 27.11.2010)
- Compiled with "Debug Threads/Locks" and "Don't optimize"
Comments:By: Tilghman Lesher (tilghman) 2010-12-18 13:54:35.000-0600

Please also enable BETTER_BACKTRACES (found when using ./configure --enable-dev-mode) and get a new 'core show locks'.

By: Tan Tuerel (thsgmbh) 2010-12-19 06:03:38.000-0600

Can't set BETTER_BACKTRACES because of missing dependencies!?

I have installed latest "binutils-devel and zlib-devel"...
(Linux 2.6.18-194.26.1.el5 #1 SMP x86_64 x86_64 x86_64 GNU/Linux)


In "configure.log" I get many "undefined references" errors:

configure:15664: gcc -o conftest -g -O2    conftest.c -lbfd   -lm  >&5
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libbfd.a(opncls.o): In function `bfd_fill_in_gnu_debuglink_section':
(.text+0x194): undefined reference to `lbasename'
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libbfd.a(opncls.o): In function `bfd_create_gnu_debuglink_section':
(.text+0x289): undefined reference to `lbasename'


find / -name libbfd*.*

Any idea???

By: Tan Tuerel (thsgmbh) 2010-12-20 09:22:58.000-0600

Next deadlock (with latest SVN Version).
Asterisk SVN Version from 19.12.2010 (r298962) !!!

Backtrace attached... (still without "BETTER_BACKTRACE" option)

By: Tan Tuerel (thsgmbh) 2010-12-22 10:12:46.000-0600

Another deadlock... :-( very annoying !!!

Backtrace attached...

By: Tan Tuerel (thsgmbh) 2011-01-12 09:29:27.000-0600

Still permanent deadlocks in SVN 1.6.2 Revision 300165:

See attached backtraces:

06.01.11 ---> Locked Here: channel.c line 2163 (ast_waitfor_nandfds)
12.01.11 ---> Locked Here: channel.c line 2163 (ast_waitfor_nandfds)

By: Jeffrey C. Ollie (jcollie) 2011-01-27 14:13:09.000-0600

Regarding the 'lbasename' undefined reference, I believe that you need to add "-liberty" to the list of libraries.

By: Tilghman Lesher (tilghman) 2011-01-27 14:54:59.000-0600

jcollie: patch uploaded to fix that error (only set when necessary).

By: Tan Tuerel (thsgmbh) 2011-01-27 15:21:15.000-0600

Thank you for the patch but I just compiled asterisk with:

./configure --enable-dev-mode LIBS=" -liberty"
make BFD_LIB=" -lbfd -liberty"

without compiler errors... I will give it a try...

By: Tan Tuerel (thsgmbh) 2011-02-03 02:44:33.000-0600

Another deadlock/freeze... (see attached file)

Now with "BETTER_BACKTRACES" enabled !!!

In nearly EVERY backtrace you can find the function "find_call" (notifycid?) and "handle_statechange" (BLF?) !??!

By: Matt Jordan (mjordan) 2013-04-08 15:46:39.608-0500

This appears to duplicate ASTERISK-17387. If you are still experiencing this problem on a recent version of Asterisk 1.8, please contact a bug marshal in #asterisk-bugs and we'll reopen this issue. Thanks!