<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<p>Unfortunately, the commit did not resolve the issue.</p>
<p><br>
</p>
<p>This looks related to a l<span>ock inversion between channel hang up and the bridging code. There is an issue open for this <span><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26445">ASTERISK-26445</a></span></span></p>
<br>
While writing I have also had the following segfault:
<div><br>
</div>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
<div>
<div><span style="font-size: 10pt;">[Current thread is 1 (Thread 0x7efeed3d4700 (LWP 27169))]</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#0  0x00007effa2cefa28 in raise () at /lib64/libc.so.6</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#1  0x00007effa2cf162a in abort () at /lib64/libc.so.6</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#2  0x00007effa2d32dea in  () at /lib64/libc.so.6</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#3  0x00007effa2d3b22a in _int_free () at /lib64/libc.so.6</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#4  0x00007effa2d3e78c in free () at /lib64/libc.so.6</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#5  0x00007effa5c73aa4 in default_block_free (factory=0x7eff13bee000 <caching_pool>, mem=0x7eff64c600d0, size=4096) at ../src/pj/pool_policy_malloc.c:78</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#6  0x00007effa5c7b9ce in pj_pool_destroy_int (pool=0x7eff64c600d0) at ../src/pj/pool.c:296</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        initial_size = 4096</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#7  0x00007effa5c7c1aa in cpool_release_pool (pf=0x7eff13bee000 <caching_pool>, pool=0x7eff64c600d0) at ../src/pj/pool_caching.c:238</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        cp = 0x7eff13bee000 <caching_pool></span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        pool_capacity = 12096</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        i = 32511</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#8  0x00007effa5c7b1ef in pj_pool_release (pool=0x7eff64c600d0) at ../include/pj/pool_i.h:92</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#9  0x00007effa5be5f11 in pjsip_rx_data_free_cloned (rdata=0x7eff54259678) at ../src/pjsip/sip_transport.c:730</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#10 0x00007eff139c8968 in distribute (data=0x7eff54259678) at res_pjsip/pjsip_distributor.c:779</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        param = {start_prio = 0, start_mod = 0x7eff13becc40 <distributor_mod>, idx_after_start = 1, silent = 0}</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        handled = 1</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        rdata = 0x7eff54259678</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        is_request = <optimized out></span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        endpoint = <optimized out></span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#11 0x00000000005ee88f in ast_taskprocessor_execute (tps=0x3f14250) at taskprocessor.c:965</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        local = {local_data = 0x7efeed3d4700, data = 0x5f6012 <ast_threadstorage_set_ptr+60>}</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        t = 0x7eff55977e50</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        size = 66142800</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        __PRETTY_FUNCTION__ = "ast_taskprocessor_execute"</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#12 0x00000000005f8444 in execute_tasks (data=0x3f14250) at threadpool.c:1322</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        tps = 0x3f14250</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#13 0x00000000005ee88f in ast_taskprocessor_execute (tps=0x27180a0) at taskprocessor.c:965</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        local = {local_data = 0x7efeed3d3c80, data = 0x2691c60}</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        t = 0x7eff5484bc60</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        size = 40443032</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        __PRETTY_FUNCTION__ = "ast_taskprocessor_execute"</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#14 0x00000000005f66f9 in threadpool_execute (pool=0x2691cb0) at threadpool.c:351</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        __PRETTY_FUNCTION__ = "threadpool_execute"</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#15 0x00000000005f7db0 in worker_active (worker=0x7eff940097c0) at threadpool.c:1105</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        alive = 0</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#16 0x00000000005f7b68 in worker_start (arg=0x7eff940097c0) at threadpool.c:1024</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        worker = 0x7eff940097c0</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        saved_state = (DEAD | unknown: 32508)</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        __PRETTY_FUNCTION__ = "worker_start"</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#17 0x000000000060402e in dummy_start (data=0x7eff94009260) at utils.c:1235</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, -3586398186740987612, 139633997204095, 139633367009024, 507904, 507904, -3586398186715821788, 3731046902439921956}, __mask_was_saved = 0}}, __pad = {0x7efeed3d3df0,
 0x0, 0x1, 0x7effa3c936e8 <__pthread_keys+1032>}}</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        __cancel_routine = 0x452814 <ast_unregister_thread></span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        __cancel_arg = 0x7efeed3d4700</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        __not_first_call = 0</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        ret = 0x7effa30728d8</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">        a = {start_routine = 0x5f7ae1 <worker_start>, data = 0x7eff940097c0, name = 0x7eff9410c6e0 "worker_start         started at [ 1079] threadpool.c worker_thread_start()"}</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#18 0x00007effa3a8161a in start_thread () at /lib64/libpthread.so.0</span></div>
</div>
<div>
<div><span style="font-size: 10pt;">#19 0x00007effa2dbd5fd in clone () at /lib64/libc.so.6</span></div>
</div>
</blockquote>
<div><br>
</div>
<div>Should an issue be raised for this?</div>
<div><br>
</div>
<div>Regards,</div>
<div><br>
</div>
<div>Ross</div>
<div>
<div></div>
<br>
<div style="color: rgb(0, 0, 0);">
<hr style="display:inline-block; width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> asterisk-dev-bounces@lists.digium.com <asterisk-dev-bounces@lists.digium.com> on behalf of Ross Beer <ross.beer@outlook.com><br>
<b>Sent:</b> 08 February 2017 18:17<br>
<b>To:</b> Asterisk Developers Mailing List<br>
<b>Subject:</b> Re: [asterisk-dev] Deadlock GIT 13</font>
<div> </div>
</div>
<div>
<div id="divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif">
<p>Hi Mark,</p>
<p><br>
</p>
<p>It does indeed, the patch has just been committed so I will check out the latest from git.</p>
<p><br>
</p>
<p>Thank you for your swift reply.</p>
<p><br>
</p>
<p>Kind regards,</p>
<p><br>
</p>
<p>Ross</p>
<br>
<br>
<div style="color:rgb(0,0,0)">
<hr style="display:inline-block; width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> asterisk-dev-bounces@lists.digium.com <asterisk-dev-bounces@lists.digium.com> on behalf of Mark Michelson <mmichelson@digium.com><br>
<b>Sent:</b> 08 February 2017 17:55<br>
<b>To:</b> Asterisk Developers Mailing List<br>
<b>Subject:</b> Re: [asterisk-dev] Deadlock GIT 13</font>
<div> </div>
</div>
<div>
<div class="moz-cite-prefix">On 02/08/2017 11:26 AM, Ross Beer wrote:<br>
</div>
<blockquote type="cite">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Arial,Helvetica,sans-serif">
<p>Hi,</p>
<p><br>
</p>
<p>I'm getting a deadlock every so often with asterisk 13 GIT. There are a lot of low level locks:</p>
<p><br>
</p>
<blockquote style="margin:0 0 0 40px; border:none; padding:0px">
<div>#0  0x00007f64ca6f052d in nanosleep () from /lib64/libc.so.6</div>
<div>[Current thread is 1 (Thread 0x7f64cdcc9700 (LWP 20745))]</div>
<div>#0  0x00007f64ca6f052d in nanosleep () at /lib64/libc.so.6</div>
<div>#1  0x00007f64ca6f03c4 in sleep () at /lib64/libc.so.6</div>
<div>#2  0x00000000004fc844 in db_sync_thread (data=0x0) at db.c:980</div>
<div>        __PRETTY_FUNCTION__ = "db_sync_thread"</div>
<div>#3  0x000000000060401e in dummy_start (data=0x1e04440) at utils.c:1235</div>
<div>        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, -361566044794415684, 140733401961727, 140070926194432, 507904, 0, -361566044802804292, 302566635355346364}, __mask_was_saved = 0}}, __pad = {0x7f64cdcc8df0, 0x0, 0x0, 0x0}}</div>
<div>        __cancel_routine = 0x452814 <ast_unregister_thread></div>
<div>        __cancel_arg = 0x7f64cdcc9700</div>
<div>        __not_first_call = 0</div>
<div>        ret = 0x7f64cdcc8df0</div>
<div>        a = {start_routine = 0x4fc765 <db_sync_thread>, data = 0x0, name = 0x1e055b0 "db_sync_thread       started at [ 1022] db.c astdb_init()"}</div>
<div>#4  0x00007f64cb3ee61a in start_thread (arg=0x7f64cdcc9700) at pthread_create.c:334</div>
<div>        __res = <optimized out></div>
<div>        pd = 0x7f64cdcc9700</div>
<div>        now = <optimized out></div>
<div>        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140070926194432, 302565808931837372, 140733401961727, 140070926194432, 507904, 0, -361566044792318532, -361562863565433412}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
 cleanup = 0x0, canceltype = 0}}}</div>
<div>        not_first_call = <optimized out></div>
<div>        pagesize_m1 = <optimized out></div>
<div>        sp = <optimized out></div>
<div>        freesize = <optimized out></div>
<div>#5  0x00007f64ca72a5fd in clone () at /lib64/libc.so.6</div>
</blockquote>
<br>
<p>Should an issue be created on Jira?</p>
<p><br>
</p>
<p>Regards,</p>
<p><br>
</p>
<p>Ross</p>
</div>
</blockquote>
<br>
Hi Ross,<br>
<br>
This may be the same issue that George discovered earlier today while doing some testing. If you apply the code change on this review
<a class="moz-txt-link-freetext" href="https://gerrit.asterisk.org/#/c/4902/" id="LPlnk336298" previewremoved="true">
https://gerrit.asterisk.org/#/c/4902/</a> , do you still see the issue?
<div id="LPBorder_GT_14865778075930.5749156908222404" style="margin-bottom:20px; overflow:auto; width:100%; text-indent:0px">
<table id="LPContainer_14865778075910.11077758612147437" cellspacing="0" style="width:90%; background-color:rgb(255,255,255); overflow:auto; padding-top:20px; padding-bottom:20px; margin-top:20px; border-top:1px dotted rgb(200,200,200); border-bottom:1px dotted rgb(200,200,200)">
<tbody>
<tr valign="top" style="border-spacing:0px">
<td id="TextCell_14865778075920.3568152902871893" colspan="2" style="vertical-align: top; padding: 0px; display: table-cell; position: relative;">
<div id="LPRemovePreviewContainer_14865778075920.3544533368405858"></div>
<div id="LPTitle_14865778075920.8558372079330518" style="top:0px; color:rgb(47,144,196); font-weight:normal; font-size:21px; font-family:wf_segoe-ui_light,"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; line-height:21px">
<a id="LPUrlAnchor_14865778075920.2957097054970361" href="https://gerrit.asterisk.org/#/c/4902/" target="_blank" style="text-decoration:none">Gerrit Code Review</a></div>
<div id="LPMetadata_14865778075930.4160950907717367" style="margin:10px 0px 16px; color:rgb(102,102,102); font-weight:normal; font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size:14px; line-height:14px">
gerrit.asterisk.org</div>
<div id="LPDescription_14865778075930.11648321156310604" style="display:block; color:rgb(102,102,102); font-weight:normal; font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size:14px; line-height:20px; max-height:100px; overflow:hidden">
gerrit.asterisk.org runs on a server provided by Digium, Inc. and uses bandwidth donated to the open source Asterisk community by API Digital Communications in ...</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<br>
<br>
Mark Michelson<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>