Hey,
On 09.08.2011 18:25, Timo Reimann wrote:
On 09.08.2011 17:54, Brandon Armstead wrote:
Looks like I spoke too soon! It is still
happening.
Any additional thoughts? All and any help is greatly appreciated.
My original theory with Anton's issue was (and still is) that the dialog
module is trying to touch a dialog which has already terminated. When
provoking things like that through modifications in the dialog module,
we encountered crashes at similar locations in the code.
Git commit 7afb2cf8e fixes the issue. The cause was a race condition
(most likely only manifesting when storing dialogs in the database in
real-time) in conjunction with some awkward call flow behavior that
would lead to the dialog timer list being messed up in rare situations.
In consequence, this let to incorrect reference counting and, in turn,
premature dialog termination.
Along the way, we found another related bug that would cause the
"dlg_list" fifo command to crash Kamailio in certain situations when
dialogs were restored from database. Commit ab21b2565 fixes this.
Major credits go to Brendon Armstead for giving out constant
information, feedback, and overall assistance!
Cheers,
--Timo