Hello,
Andrei Pelinescu-Onciul <andrei(a)iptel.org> écrit/wrote:
On Jun 30, 2005 at 16:49, Lol Zimmerli
<lolzim(a)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)