Hello,
I do have the following in ser.cfg:
------------------------ failure_route[1] { log(1, "Entering failure_route(1)"); revert_uri(); log(1, "reverted"); rewritehostport("xxx.xxx.xxx.xxx:5060"); log(1, "rewritten"); append_branch(); log(1, "appended"); t_relay_to_udp("xxx.xxx.xxx.xxx", "5060"); log(1, "relayed"); log(1, "Exiting failure_route(1)"); break; } ------------------------
It is called from there: ----------------------- route[1] { if (method=="INVITE") { t_on_failure("1"); } if (!t_relay()) { sl_reply_error(); } else { log (1, "t_relay() done in route(1)"); } break; } ------------------------
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?
Any help appreciated! Best regards