Summary: | ASTERISK-09606: Infinite loop on SIP registration | ||
Reporter: | Dmytro Mishchenko (arkadia) | Labels: | |
Date Opened: | 2007-06-06 11:06:37 | Date Closed: | 2007-07-11 19:59:18 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | 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. |