THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
A new Flyspray task has been opened. Details are below.
User who did this - Klaus Darilion (klaus3000)
Attached to Project - sip-router
Summary - crash in 4.1.6 with uac_replace_from
Task Type - Bug Report
Category - Module
Status - New
Assigned To -
Operating System - Linux
Severity - Low
Priority - Normal
Reported Version - 4.1
Due in Version - Undecided
Due Date - Undecided
Details - Hi! Kamailio 4.1.6 (nightly build compiled on 06:07:15 Oct 10 2014)
Crashes on receiving the 200 OK response for the BYE (BYE sent by caller).
It seems the crash only happens when dialog module is used but restore_from_avp is configured:
modparam("uac","restore_mode","auto")
modparam("uac","restore_dlg", 1)
modparam("uac","restore_from_avp","$avp(original_uri_from)")
Backtrace:
Program terminated with signal 11, Segmentation fault.
#0 0xb75f2221 in ?? () from /lib/i686/cmov/libc.so.6
(gdb) bt
#0 0xb75f2221 in ?? () from /lib/i686/cmov/libc.so.6
#1 0xb75bf86f in vfprintf () from /lib/i686/cmov/libc.so.6
#2 0xb7647346 in __vsyslog_chk () from /lib/i686/cmov/libc.so.6
#3 0xb76474c7 in syslog () from /lib/i686/cmov/libc.so.6
#4 0xb65d7a76 in restore_uri_reply (rpl=0xb72bba68, rpl_hdr=0xb724e23c, req_hdr=0xb2749760, stored_value=0xbf93bb20) at replace.c:674
#5 0xb65d85f5 in restore_uris_reply (t=0xb2743318, type=2, p=0xbf93bbec) at replace.c:751
#6 0xb6dcf3a9 in run_trans_callbacks_internal (cb_lst=0xb2743358, type=2, trans=0xb2743318, params=0xbf93bbec) at t_hooks.c:290
#7 0xb6dcf4ba in run_trans_callbacks (type=2, trans=0xb2743318, req=0xb2748d94, rpl=0xb72bba68, code=200) at t_hooks.c:317
#8 0xb6dd4ea6 in t_reply_matching (p_msg=0xb72bba68, p_branch=0xbf93bf7c) at t_lookup.c:1027
#9 0xb6dd5f12 in t_check_msg (p_msg=0xb72bba68, param_branch=0xbf93bf7c) at t_lookup.c:1130
#10 0xb6dd63e4 in t_check (p_msg=0xb72bba68, param_branch=0xbf93bf7c) at t_lookup.c:1172
#11 0xb6df2c95 in reply_received (p_msg=0xb72bba68) at t_reply.c:2188
#12 0x0809ef89 in do_forward_reply (msg=0xb72bba68, mode=0) at forward.c:777
#13 0x0809f7e8 in forward_reply (msg=0xb72bba68) at forward.c:860
#14 0x080e3343 in receive_msg (
buf=0x82e3820 "SIP/2.0 200 Ok\r\nVia: SIP/2.0/UDP 80.86.190.20;branch=z9hG4bK9f1d.491180a5fd9ae00657af986cc90ea171.0\r\nVia: SIP/2.0/UDP 10.10.0.51:25740;received=83.136.33.3;branch=z9hG4bK-d8754z-3d05d174695cef52-1---d"..., len=496, rcv_info=0xbf93c230) at receive.c:273
#15 0x081710c3 in udp_rcv_loop () at udp_server.c:536
#16 0x080adff3 in main_loop () at main.c:1619
#17 0x080b10c1 in main (argc=13, argv=0xbf93c514) at main.c:2547
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=479
You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.
Hello,
after last days of testing at SIPit 31, I think the master branch is in
quite good shape. I hope to get the time for a more detailed report, but
we had only one major issue when running some stress tests, affecting
websocket connections when using a special crafted websocket packet,
fixed already. Otherwise, while the tests here are mainly on SIP
interoperability, so not much on particular use cases of kamailio, with
the help of Olle we have been in pretty much all multi-party tests as
well as plenty of one-to-one interop tests.
I have also been running Kamailio master branch on several other private
or public servers with live traffic and quite complex config (e.g.,
usual suspects as openrcs.com and voipuser.org) and haven't noticed any
issue.
Based on the above, I am considering to branch 4.2 next week on
Wednesday (Oct 8), and release about one week later (October 15 or 16).
Anyone with other opinions or alternative roadmap?
On the other hand, we have to start building migration tutorial and
updating what is new in this release:
* http://www.kamailio.org/wiki/install/upgrade/stable-to-devel
* http://www.kamailio.org/wiki/features/new-in-devel
Everyone is encouraged to contribute.
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Module: sip-router
Branch: master
Commit: ba1967df93fa9bcd39070c325f72081b5adf7748
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=ba1967d…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Mon Oct 13 00:06:18 2014 +0200
kamdbctl: search for greadlink first
- bsd version of readlink is different than gnu version
---
utils/kamctl/kamdbctl | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/utils/kamctl/kamdbctl b/utils/kamctl/kamdbctl
index 1ecb6fa..13f227e 100755
--- a/utils/kamctl/kamdbctl
+++ b/utils/kamctl/kamdbctl
@@ -14,15 +14,27 @@ PATH=$PATH:/usr/local/sbin/
TEST="false"
### include resource files, if any
-which readlink > /dev/null
+
+# check for rc file at same location with kamdbctl
+which greadlink > /dev/null
ret=$?
if [ $ret -eq 0 ] ; then
- KAMCTLFULLPATH=$(readlink -f "$0")
+ KAMCTLFULLPATH=$(greadlink -f "$0")
+else
+ which readlink > /dev/null
+ ret=$?
+ if [ $ret -eq 0 ] ; then
+ KAMCTLFULLPATH=$(readlink -f "$0")
+ fi
+fi
+if [ -n "$KAMCTLFULLPATH" ] ; then
KAMCTLDIRPATH=$(dirname "$KAMCTLFULLPATH")
if [ -f $KAMCTLDIRPATH/kamctlrc ]; then
. $KAMCTLDIRPATH/kamctlrc
fi
fi
+
+# check for rc file at standard locations
if [ -f /etc/kamailio/kamctlrc ]; then
. /etc/kamailio/kamctlrc
fi
Module: sip-router
Branch: master
Commit: f24c03d667429d9622720a85660892d5ec3244e6
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=f24c03d…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Sun Oct 12 23:49:55 2014 +0200
dialplan: documentation for match_dynamic parameter
---
modules/dialplan/README | 32 ++++++++++++++++++++++++++----
modules/dialplan/doc/dialplan_admin.xml | 28 +++++++++++++++++++++++++++
2 files changed, 55 insertions(+), 5 deletions(-)
diff --git a/modules/dialplan/README b/modules/dialplan/README
index 037309d..d1025f5 100644
--- a/modules/dialplan/README
+++ b/modules/dialplan/README
@@ -43,6 +43,7 @@ Juha Heinanen
5.10. attrs_col (string)
5.11. attrs_pvar (string)
5.12. fetch_rows (int)
+ 5.13. match_dynamic (int)
6. Functions
@@ -76,9 +77,10 @@ Juha Heinanen
1.10. Set attrs_col parameter
1.11. Set attrs_pvar parameter
1.12. Set fetch_rows parameter
- 1.13. dp_translate usage
+ 1.13. Set match_dynamic parameter
1.14. dp_translate usage
- 1.15. Example of rules
+ 1.15. dp_translate usage
+ 1.16. Example of rules
Chapter 1. Admin Guide
@@ -106,6 +108,7 @@ Chapter 1. Admin Guide
5.10. attrs_col (string)
5.11. attrs_pvar (string)
5.12. fetch_rows (int)
+ 5.13. match_dynamic (int)
6. Functions
@@ -196,6 +199,7 @@ Chapter 1. Admin Guide
5.10. attrs_col (string)
5.11. attrs_pvar (string)
5.12. fetch_rows (int)
+ 5.13. match_dynamic (int)
5.1. db_url (string)
@@ -334,6 +338,24 @@ modparam("dialplan", "attrs_pvar", "$avp(s:dest)")
modparam("dialplan", "fetch_rows", 4000)
...
+5.13. match_dynamic (int)
+
+ If set to 1, the match and substitution expressions can include script
+ variables and their values are evaluated at runtime.
+
+ During the loading process, the values that contain variables are no
+ longer pre-compiled to PCRE structure in memory, because the values
+ change at runtime, thus expect slightly slower performances. Values
+ without script variables are pre-compiled even if this parameter is
+ enabled.
+
+ Default value is "0" (disabled).
+
+ Example 1.13. Set match_dynamic parameter
+...
+modparam("dialplan", "match_dynamic", 1)
+...
+
6. Functions
6.1. dp_translate(id, [src[/dest]])
@@ -373,13 +395,13 @@ modparam("dialplan", "fetch_rows", 4000)
This function can be used from ANY_ROUTE.
- Example 1.13. dp_translate usage
+ Example 1.14. dp_translate usage
...
dp_translate("240", "$ruri.user/$avp(s:dest)");
xlog("translated to var $avp(s:dest) \n");
...
- Example 1.14. dp_translate usage
+ Example 1.15. dp_translate usage
...
$avp(s:src) = $ruri.user;
dp_translate("$var(x)", "$avp(s:src)/$var(y)");
@@ -462,7 +484,7 @@ xlog("translated to var $var(y) \n");
Some sample records from a dialplan table are presented in the next
figure.
- Example 1.15. Example of rules
+ Example 1.16. Example of rules
...
dpid: 1
pr: 1
diff --git a/modules/dialplan/doc/dialplan_admin.xml b/modules/dialplan/doc/dialplan_admin.xml
index 3f84002..21b31d2 100644
--- a/modules/dialplan/doc/dialplan_admin.xml
+++ b/modules/dialplan/doc/dialplan_admin.xml
@@ -351,6 +351,34 @@ modparam("dialplan", "fetch_rows", 4000)
</example>
</section>
+ <section id="dialplan.p.match_dynamic">
+ <title><varname>match_dynamic</varname> (int)</title>
+ <para>
+ If set to 1, the match and substitution expressions can
+ include script variables and their values are evaluated at
+ runtime.
+ </para>
+ <para>
+ During the loading process, the values that contain
+ variables are no longer pre-compiled to PCRE structure in
+ memory, because the values change at runtime, thus expect slightly
+ slower performances. Values without script variables are pre-compiled
+ even if this parameter is enabled.
+ </para>
+ <para>
+ <emphasis>
+ Default value is <quote>0</quote> (disabled).
+ </emphasis>
+ </para>
+ <example>
+ <title>Set <varname>match_dynamic</varname> parameter</title>
+ <programlisting format="linespecific">
+...
+modparam("dialplan", "match_dynamic", 1)
+...
+ </programlisting>
+ </example>
+ </section>
</section>