Summary:ASTERISK-16161: [patch] Deadlock in chan_local.c causes crash.
Reporter:Barry GATEFAIT (bwg)Labels:
Date Opened:2010-05-27 18:10:28Date Closed:2011-06-07 14:00:32
Versions:Frequency of
Environment:Attachments:( 0) gdb_BWG_28mai10.txt
( 1) localchan_deadlock.diff.txt
( 2) locks_BWG_28mai10.txt
( 3) Pb_locks_29mai10.txt

A mutual exclusion occured in chan_local.c causing a system crash.

Have attached a asterisk CLI trace, gdb trace and lock trace resulting.

Best regards,
Comments:By: Barry GATEFAIT (bwg) 2010-05-27 21:18:49

After further research, the locks occured in (chan_local.c).

By: Leif Madsen (lmadsen) 2010-06-02 10:01:14

Thanks for the debug information. Acknowledging this issue.

By: Leif Madsen (lmadsen) 2010-06-03 11:09:01

There have been deadlock fixes since the revision you state (in chan_local), so please test a newer revision -- ideally the latest revision.

Also, which branch are you testing this against? You haven't stated that in your bug report.


By: Barry GATEFAIT (bwg) 2010-06-06 17:05:22

I'm working on SVN-TRUNK.

following your advise, now testing latest revision (267714) with local patches ...

Will give news on the outcome.


By: Alec Davis (alecdavis) 2010-06-12 03:29:51

uploaded localchan_deadlock.diff.txt against Asterisk SVN-trunk-r270042M
The deadlock avoidance method is simlar to chan_dahdi.

This should hopefully avoid the deadlock pairs you reported in 'locks_BWG_28mai..'

Please provide details how to force this deadlock. Dialplan etc.

By: Tilghman Lesher (tilghman) 2010-07-22 11:22:37

This shouldn't be necessary, since the ordained channel locking order is used:  channel first, then pvt.  It should only be necessary to do deadlock avoidance when the reverse locking order is used.

By: Tilghman Lesher (tilghman) 2010-07-29 16:16:02

bwg: have the problems gone away since you updated to a later copy of trunk?

By: Barry GATEFAIT (bwg) 2010-07-29 17:46:00

We, indeed, updated to SVN-trunk-r273055 and since no deadlock occured.

Thank you for your advise ! Cheers.