<div dir="ltr">Hi All,<div><br></div><div>I have been experiencing a deadlock when a timeout occurs on a t_relayed() INVITE. Going through the code I have noticed a possible chance of deadlock (without re-entrant enabled). Here is my thinking:</div>
<div><br></div><div>t_should_relay_response() is called with REPLY_LOCK when the timer process fires on the fr_inv_timer (no response from the INVITE that was relayed, other than 100 provisional) and a 408 is generated. However, from within that function there are calls to run_failure_handlers() which in turn *could* try and lock the reply (viz. somebody having a t_reply() call in the cfg file - in failure route block). This would result in another lock on the same transaction's REPLY_LOCK....<br>
</div><div><br></div><div>Has anybody else experienced something like this?</div><div><br></div><div>this is on master btw.</div><div><br></div><div>Cheers</div><div>Jason</div></div>