[Serusers] problem with failure_route

Lol Zimmerli lolzim at worldcom.ch
Thu Jun 30 18:49:21 CEST 2005


Hello,

Andrei Pelinescu-Onciul <andrei at iptel.org> écrit/wrote:
> On Jun 30, 2005 at 16:49, Lol Zimmerli <lolzim at worldcom.ch> wrote:
> [...]
> > 
> > Which is called from the end of route{} and also from end of some
> > route(x).
> > 
> > In the log, I can see SER crashing, after tm's "fr_inv_timer"
> > seconds: Jun 30 16:40:00 ser /usr/local/sbin/ser[3548]: Entering
> > failure_route (1) Jun 30 16:40:00 ser /usr/local/sbin/ser[3548]:
> > reverted Jun 30 16:40:00 ser /usr/local/sbin/ser[3548]: rewritten
> > Jun 30 16:40:00 ser /usr/local/sbin/ser[3548]: appended
> > Jun 30 16:40:00 ser /usr/local/sbin/ser[3548]: BUG: qm_free: bad
> > pointer 0x2a97d717e8 (out of memory block!) - aborting Jun 30
> > 16:40:00 ser /usr/local/sbin/ser[3558]: ERROR: receive_fd: EOF on
> > 14 Jun 30 16:40:00 ser /usr/local/sbin/ser[3525]: child process
> > 3548 exited by a signal 6 Jun 30 16:40:00 ser /usr/local/sbin/ser
> > [3525]: core was generated Jun 30 16:40:00 ser /usr/local/sbin/ser
> > [3525]: INFO: terminating due to SIGCHLD
> > 
> > 
> > It also do the same if I replace t_relay_to_udp(...) with t_relay
> > (). And also if I move the t_on_failure() in main route() or the
> > calling route(x).
> > 
> > Is it a known bug or am I doing something wrong?
> 
> No, it's not a known bug.
> What ser version are you using? Could you send ser -V output?

The current CVS version, on X86_64, SuSE 9.2 pro

ser:~ # /usr/local/sbin/ser -V
version: ser 0.10.99-dev9-new_tcp (x86_64/linux)
flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST,
DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, DBG_QM_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. @(#) $Id: main.c,v 1.198
2005/06/16 14:05:24 andrei Exp $ main.c compiled on 11:20:24 Jun 27
2005 with gcc 3.3


> Could you send me a backtrace (gdb ser core   and then type bt)?

(gdb) bt
#0  0x0000002a958b36cd in raise () from /lib64/tls/libc.so.6
#1  0x0000002a958b4c7e in abort () from /lib64/tls/libc.so.6
#2  0x0000000000441311 in qm_free (qm=0x5dcec0, p=0x2a97d717e8,
#file=0x468b3d "data_lump.c", func=0x468b33 "free_lump", line=376) at
#q_malloc.c:446 3  0x000000000040b687 in free_lump (lmp=Variable
#"lmp" is not available.
) at data_lump.c:378
#4  0x0000002a964d3790 in print_uac_request (t=Variable "t" is not
#available.
) at fix_lumps.h:73
#5  0x0000002a964d40fd in add_uac (t=0x2a97d6f308,
#request=0x2a96607d80, uri=0x7fbfffdfa0, next_hop=Variable "next_hop"
#is not available.
) at t_fwd.c:228
#6  0x0000002a964d486f in t_forward_nonack (t=0x2a97d6f308,
#p_msg=0x2a96607d80, proxy=0x6279e0, proto=0) at t_fwd.c:453 7
#0x0000002a964e5a6b in _w_t_relay_to (p_msg=0x2a96607d80,
#proxy=0x6279e0) at tm.c:794 8  0x0000000000408d46 in do_action
#(a=0x624f10, msg=0x2a96607d80) at action.c:611 9  0x000000000040a2db
#in run_actions (a=Variable "a" is not available.
) at action.c:719
#10 0x0000002a964ddc80 in t_should_relay_response
#(Trans=0x2a97d6f308, new_code=Variable "new_code" is not available.
) at t_reply.c:635
#11 0x0000002a964e0478 in relay_reply (t=0x2a97d6f308,
#p_msg=0xffffffffffffffff, branch=0, msg_status=408,
#cancel_bitmap=0x7fbfffe484) at t_reply.c:1004 12 0x0000002a964e4907
#in timer_routine (ticks=28, attr=Variable "attr" is not available.
) at timer.c:254
#13 0x0000000000439518 in timer_ticker () at timer.c:146
#14 0x0000000000417781 in main_loop () at main.c:1114
#15 0x0000000000418d1d in main (argc=Variable "argc" is not available.
) at main.c:1600
(gdb)

Best regards

-- 
# Lol Zimmerli  //  S y s C o ®  //  http://www.sysco.ch/
Parenthesise to avoid ambiguity.
            - The Elements of Programming Style (Kernighan & Plaugher)




More information about the sr-users mailing list