[OpenSER-Devel] [ openser-Bugs-1947841 ] Error in lcr in function next_gw
SourceForge.net
noreply at sourceforge.net
Tue Jul 1 13:47:00 CEST 2008
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
More information about the Devel
mailing list