<div dir="ltr">Hi,<div><br></div><div>We currently have OpenSIPS crashes that look to be caused by synchronization issues between the TM and DIALOG modules.</div><div><br></div><div>We started to get these crashes after setting the following modparam:</div><div><br></div><div>modparam(&quot;tm&quot;, &quot;own_timer_proc&quot;, 2)</div><div><br></div><div>Note that we don&#39;t set the own_timer_proc parameter for the DIALOG module, therefore it uses the global timer process.</div><div><br></div><div>Do you have an idea what may cause the issue?</div><div><br></div><div>The backtrace extracted from the core file:</div><div><br></div><div><div>#0  0x00002b69aa157a28 in next_state_dlg (dlg=0x2b69b1271408, event=1, dir=2, old_state=0x7fff7e830358, new_state=0x7fff7e83035c, unref=0x7fff7e830354, is_replicated=0 &#39;\0&#39;) at dlg_hash.c:777</div><div>#1  0x00002b69aa14aafc in dlg_onreply (t=0x0, type=&lt;value optimized out&gt;, param=&lt;value optimized out&gt;) at dlg_handlers.c:457</div><div>#2  0x00002b69aa14bc67 in unreference_dialog_create (dialog=0x2b69b1271408) at dlg_handlers.c:744</div><div>#3  0x00002b69a7fe2b59 in empty_tmcb_list (head=0x2b69b837c948) at t_hooks.c:56</div><div>#4  0x00002b69a7fd057e in free_cell (dead_cell=0x2b69b837c8d8) at h_table.c:140</div><div>#5  0x00002b69a7fe5e78 in delete_cell (p_cell=0x2b69b837c8d8, unlock=1) at timer.c:240</div><div>#6  0x00002b69a7fe69ac in timer_routine (ticks=&lt;value optimized out&gt;, set=&lt;value optimized out&gt;) at timer.c:416</div><div>#7  0x00000000004babe2 in start_timer_processes () at timer.c:384</div><div>#8  0x0000000000434711 in main_loop () at main.c:1016</div><div>#9  0x00000000004386f5 in main (argc=&lt;value optimized out&gt;, argv=0x7fff7e830838) at main.c:1634</div></div><div><br></div><div>The seg fault happens in the next_state_dlg function (line 777 - when trying to lock the dialog entry):</div><div><br></div><div><div>(gdb) list</div><div>772             struct dlg_entry * d_entry;</div><div>773</div><div>774             d_entry = &amp;(d_table-&gt;entries[dlg-&gt;h_entry]);</div><div>775             *unref = 0;</div><div>776</div><div>777             dlg_lock(d_table, d_entry);</div><div>778</div><div>779             *old_state = dlg-&gt;state;</div><div>780</div><div>781             switch (event) {</div></div><div><br></div><div>Thanks,</div><div>Mickael</div></div>