Bugs item #1947841, was opened at 2008-04-21 16:33 Message generated for change (Comment added) made by juhe You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1947841&group_id=139143
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: None Group: ver 1.2.x >Status: Closed Resolution: None Priority: 5 Private: No Submitted By: Igor (siaigor) Assigned to: Nobody/Anonymous (nobody) Summary: Error in lcr in function next_gw Initial Comment: If the first gateway, got from main route, do not answer at all (we can see retransmissions), calling function next_gw for searching a next gateway in failure route cause error: openser: ERROR: append_branch: max nr of branches exceeded sip openser: next_gw(): ERROR: do_action failed with return value <-1> And it is impossible to get next gateway, although it is. ------------------------------------ (config failure_route[1]) if(!next_gw()){ t_reply("503", "Service not available, no more gateways "); exit; }; But, if openser is restarted, the problem go away and the function next_gw works properly for 20-30 minuties (on production platform), and after that period the problem appears again. Memory leak problem? ---- Linux sip141 2.6.18-gentoo-r3 #1104 SMP Tue Nov 20 19:16:52 MSK 2007 i686 Intel(R) Pentium(R) D CPU 3.40GHz GenuineIntel GNU/Linux version: openser 1.2.1-notls (i386/linux) flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 poll method support: poll, epoll_lt, epoll_et, sigio_rt, select. svnrevision: unknown @(#) $Id: main.c 1827 2007-03-12 15:22:53Z bogdan_iancu $ main.c compiled on 14:59:25 Mar 18 2008 with gcc 4.1.1 ---------------------------------------------------------------------- >Comment By: Juha Heinanen (juhe) Date: 2008-07-01 14:47 Message: Logged In: YES user_id=1332122 Originator: NO I'm closing this because a possible cause for the problem has not been identified and no further information has been provided. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2008-04-24 17:01 Message: Logged In: NO openser: ERROR: append_branch: max nr of branches exceeded sip openser: next_gw(): ERROR: do_action failed with return value <-1> is this error message the first one there is in your log file or is there something before it? i was reading the code and the above error may happen if you don't terminate your script after next_gw() returns -1, but keep on calling next_gw(). i suggest that you insert an xlog statement in your script that is executed each time next_gw() is called on a request-uri and that tells the uri and if the result was success or failure. -- juha ---------------------------------------------------------------------- Comment By: Igor (siaigor) Date: 2008-04-23 10:33 Message: Logged In: YES user_id=2068639 Originator: YES Thanks, >logical explanation to your error message (max nr of branches exceeded) is >that next_gw() was called too many times on the same request. but if i restart openser (I wrote it), there is no problem!! next_gw answers properly --- for 20 -30 minutes!!! and then the problem appears again! ---- failure_route[1] { if (t_check_status("486|487|488|[1-3][0-9][0-9]")) return; if(!next_gw()){ t_reply("503", "Service not available, no more gateways "); !!!!!!!!!!!!!!!!!!!!1here the problem!! exit; }; t_on_failure("1"); route(1); } ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2008-04-21 18:10 Message: Logged In: NO i found and fixed two memory leaks in next_gw() function, but they only appeared in case of internal error, that should never happen. so i doubt that this helps in your problem. logical explanation to your error message (max nr of branches exceeded) is that next_gw() was called too many times on the same request. -- juha ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1947841&group_id=139143 _______________________________________________ Devel mailing list Devel@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/devel