Bogdan, can you please assign this one to me? Thanks!
On Dec 21, 2011, at 11:44 PM, SourceForge.net wrote: > Patches item #3463527, was opened at 2011-12-21 14:44 > Message generated for change (Tracker Item Submitted) made by aerringer > You can respond by visiting: > https://sourceforge.net/tracker/?func=detail&atid=1086412&aid=3463527&group_id=232389 > > Please note that this message will contain a full copy of the comment thread, > including the initial issue submission, for this request, > not just the latest update. > Category: modules > Group: 1.7.x > Status: Open > Resolution: None > Priority: 5 > Private: No > Submitted By: Alan Erringer (aerringer) > Assigned to: Nobody/Anonymous (nobody) > Summary: nat_traversal TM callback registration > > Initial Comment: > We noticed that with 1.7.0 and still with 1.7.1 that we saw increased CPU > utilization over time. > > We also encountered a seg fault which led us to look closely at the TM REQIN > callback list: > > Core was generated by `/usr/local/sbin/opensips -P /var/run/opensips.pid'. > Program terminated with signal 11, Segmentation fault. > #0 0x00002b67e330a640 in ?? () > (gdb) bt > #0 0x00002b67e330a640 in ?? () > #1 0x00002b67d7f0820f in run_reqin_callbacks (trans=0x2b67e7759520, > req=0x8c3248, > code=<value optimized out>) at t_hooks.c:248 > #2 0x00002b67d7ef6265 in build_cell (p_msg=0x8c3248) at h_table.c:289 > #3 0x00002b67d7f0fe91 in new_t (p_msg=0x8c3248) at t_lookup.c:973 > #4 t_newtran (p_msg=0x8c3248) at t_lookup.c:1081 > #5 0x00002b67d7f02e4b in t_relay_to (p_msg=0x2b67e7759520, proxy=0x2, > flags=-1059770624) at t_funcs.c:199 > #6 0x00002b67d7f14261 in w_t_relay (p_msg=0x8c3248, proxy=0x0, flags=0x0) at > tm.c:1129 > #7 0x0000000000410970 in do_action (a=0x7f77d8, msg=0x8c3248) at > action.c:1280 > #8 0x0000000000414906 in run_action_list (a=<value optimized out>, > msg=0x8c3248) > ... > > We didn't conclusively find the seg fault, but we did find the source of the > CPU increase. > > It appears that the nat_traversal module registers for TM reqin callbacks > once per message rather than once during mod_init(). > > This results in the callback list becoming huge (1.7M elements!) over time. > > We moved the registration into mod_init(), and it seems to perform as it > should. > > I'm including the modified module/nat_traversal.c file from 1.7.1. > > Let me know if you have further questions, or if our fix doesn't seem correct. > > Thanks much, > > Alan Erringer, [email protected] > > > ---------------------------------------------------------------------- > > You can respond by visiting: > https://sourceforge.net/tracker/?func=detail&atid=1086412&aid=3463527&group_id=232389 > > _______________________________________________ > Devel mailing list > [email protected] > http://lists.opensips.org/cgi-bin/mailman/listinfo/devel -- Saúl Ibarra Corretgé AG Projects _______________________________________________ Devel mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/devel
