[Home]

Summary:ASTERISK-09606: Infinite loop on SIP registration
Reporter:Dmytro Mishchenko (arkadia)Labels:
Date Opened:2007-06-06 11:06:37Date Closed:2007-07-11 19:59:18
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/Registration
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:This problem is a result of fixing 9658 bug.
In this patch in reg_source_db() was added a ast_device_state_changed() call.

Following calls chain I found:
ast_device_state_changed() triggers sip_devicestat()

Then sip_devicestat() calls find_peer() which calls realtime_peer() -> build_peer().

build_peer() in my setup reach section at the end:
if (!found...) { reg_source_db() }

Now we have reg_source_db() -> ast_device_state_changed() etc...
There is an infinite loop.

This can be reproduced on v.1.2 when SIP users accessed via realtime engine (I was using mysql db). I send registration from sip device to asterisk.
Comments:By: Joshua C. Colp (jcolp) 2007-06-06 19:12:13

Fixed in 1.2 as of revision 67938, 1.4 as of revision 67941, and trunk as of revision 67944.