THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
A user has added themself to the list of users assigned to this task.
FS#11 - Core dump on CentOS5
User who did this - Greger Viken Teigre (greger)
http://sip-router.org/tracker/index.php?do=details&task_id=11
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.
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
A new Flyspray task has been opened. Details are below.
User who did this - Greger Viken Teigre (greger)
Attached to Project - sip-router
Summary - Core dump on CentOS5
Task Type - Bug Report
Category - Core
Status - Assigned
Assigned To - Andrei Pelinescu-Onciul
Operating System - Linux
Severity - Critical
Priority - Normal
Reported Version - 2.99
Due in Version - Undecided
Due Date - Undecided
Details - I have pulled the latest git repos from /sip-router and compiled for CentOS5 without any Makefile changes. My SER 2.1 config has been adapted and sip-router starts ok, but core dumps on first SIP message coming in on the socket.
gdb trace below.
<code>[root@cleo sip-router]# gdb /opt/sip-router/sbin/ser /core.2896
GNU gdb Red Hat Linux (6.5-37.el5_2.2rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".
warning: Can't read pathname for load map: Input/output error.
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /opt/sip-router/lib/ser/modules/db_mysql.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules/db_mysql.so
Reading symbols from /usr/lib/mysql/libmysqlclient.so.15...done.
Loaded symbols for /usr/lib/mysql/libmysqlclient.so.15
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /opt/sip-router/lib/ser/libsrdb2.so.1...done.
Loaded symbols for /opt/sip-router/lib/ser/libsrdb2.so.1
Reading symbols from /opt/sip-router/lib/ser/libsrdb1.so.1...done.
Loaded symbols for /opt/sip-router/lib/ser/libsrdb1.so.1
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libssl.so.6...done.
Loaded symbols for /lib/libssl.so.6
Reading symbols from /lib/libcrypto.so.6...done.
Loaded symbols for /lib/libcrypto.so.6
Reading symbols from /usr/lib/libgssapi_krb5.so.2...done.
Loaded symbols for /usr/lib/libgssapi_krb5.so.2
Reading symbols from /usr/lib/libkrb5.so.3...done.
Loaded symbols for /usr/lib/libkrb5.so.3
Reading symbols from /lib/libcom_err.so.2...done.
Loaded symbols for /lib/libcom_err.so.2
Reading symbols from /usr/lib/libk5crypto.so.3...done.
Loaded symbols for /usr/lib/libk5crypto.so.3
Reading symbols from /usr/lib/libkrb5support.so.0...done.
Loaded symbols for /usr/lib/libkrb5support.so.0
Reading symbols from /lib/libkeyutils.so.1...done.
Loaded symbols for /lib/libkeyutils.so.1
Reading symbols from /lib/libselinux.so.1...done.
Loaded symbols for /lib/libselinux.so.1
Reading symbols from /lib/libsepol.so.1...done.
Loaded symbols for /lib/libsepol.so.1
Reading symbols from /opt/sip-router/lib/ser/modules_s/sl.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/sl.so
Reading symbols from /opt/sip-router/lib/ser/modules/tm.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules/tm.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/rr.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/rr.so
Reading symbols from /opt/sip-router/lib/ser/libser_cds.so.0...done.
Loaded symbols for /opt/sip-router/lib/ser/libser_cds.so.0
Reading symbols from /opt/sip-router/lib/ser/modules_s/maxfwd.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/maxfwd.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/usrloc.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/usrloc.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/registrar.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/registrar.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/xlog.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/xlog.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/textops.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/textops.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/ctl.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/ctl.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/auth.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/auth.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/auth_db.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/auth_db.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/gflags.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/gflags.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/domain.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/domain.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/uri_db.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/uri_db.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/avp.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/avp.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/avp_db.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/avp_db.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/acc_db.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/acc_db.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/options.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/options.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/sanity.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/sanity.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/nathelper.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/nathelper.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/uri.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/uri.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/speeddial.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/speeddial.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/timer.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/timer.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/db_ops.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/db_ops.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/exec.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/exec.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/cfg_rpc.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/cfg_rpc.so
Reading symbols from /opt/sip-router/lib/ser/modules_s/eval.so...done.
Loaded symbols for /opt/sip-router/lib/ser/modules_s/eval.so
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Core was generated by `./ser -f /opt/sip-router/etc/ser/ser.cfg'.
Program terminated with signal 11, Segmentation fault.
#0 0x0814efed in search_avp (ident=
{flags = 7, name = {n = 35, s = {s = 0x23 <Address 0x23 out of bounds>, len = 137352780}, re = 0x23}, index = 0}, val=0x0, state=0xbfd5788c)
at usr_avp.c:145
145 id ^= *p;
(gdb) bt
#0 0x0814efed in search_avp (ident=
{flags = 7, name = {n = 35, s = {s = 0x23 <Address 0x23 out of bounds>, len = 137352780}, re = 0x23}, index = 0}, val=0x0, state=0xbfd5788c)
at usr_avp.c:145
#1 0x0814f299 in search_first_avp (flags=7, name=
{n = 127, s = {s = 0x7f <Address 0x7f out of bounds>, len = 137352780}, re = 0x7f}, val=0x0, s=0xbfd5788c) at usr_avp.c:412
#2 0x08056a7c in do_action (h=0xbfd581b8, a=0x82bc6f4, msg=0x832cbf4)
at action.c:418
#3 0x0805aa5d in run_actions (h=0xbfd581b8, a=0x82bbf04, msg=0x832cbf4)
at action.c:1260
#4 0x0805630e in do_action (h=0xbfd581b8, a=0x82bd324, msg=0x832cbf4)
at action.c:845
#5 0x0805aa5d in run_actions (h=0xbfd581b8, a=0x82b9380, msg=0x832cbf4)
at action.c:1260
#6 0x080576c6 in do_action (h=0xbfd581b8, a=0x82b3c40, msg=0x832cbf4)
at action.c:475
#7 0x0805aa5d in run_actions (h=0xbfd581b8, a=0x82b2b2c, msg=0x832cbf4)
at action.c:1260
#8 0x080576c6 in do_action (h=0xbfd581b8, a=0x82ab084, msg=0x832cbf4)
at action.c:475
#9 0x0805aa5d in run_actions (h=0xbfd581b8, a=0x82ab084, msg=0x832cbf4)
at action.c:1260
---Type <return> to continue, or q <return> to quit---
#10 0x0805adc4 in run_top_route (a=0x82ab084, msg=0x832cbf4, c=0x0)
at action.c:1308
#11 0x080c36f8 in receive_msg (
buf=0x8257a80 "REGISTER sip:teigre.com SIP/2.0\r\nVia: SIP/2.0/UDP 10.0.0.3;branch=z9hG4bK0a000003000000204a70b14900006b4b00000000;rport\r\nFrom: \"Greger\" <sip:greger@teigre.com>;tag=23c66a5689f8\r\nTo: <sip:greger@teigre"...,
len=390, rcv_info=0xbfd58318) at receive.c:182
#12 0x081499f7 in udp_rcv_loop () at udp_server.c:520
#13 0x08099925 in main_loop () at main.c:1357
#14 0x0809ab43 in main (argc=3, argv=0xbfd585a4) at main.c:2148
</code>
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=11
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.
hi,
i am developing a module. i am generating some string value.
how can i get those value in my cfg file.
i saw source code of avpops module but it work with database and lots of thing.
is there any short module what can help me to this thing implement thing.
any link or suggestion is appreciated.
TOWHID
Hi guys,
I was wondering what happened to this line from t_reply.h:
enum route_mode { MODE_REQUEST=1, MODE_ONREPLY, MODE_ONFAILURE };
It was there in ser 2.1.0, but not it's gone from sr, altough the tm_binds
still defines a enum route_mode* as a parameter. Maybe it was just
forgotten?
I found the solution in a k module - the route_type extern variable, just
want to make sure that this is the new right way to tell on which route a
function was called.
--
Best Regards,
Dragos Vingarzan
Hello,
some time ago I created a new branch in GIT named 'daniel/xavp' that
includes code for a new pseudo-variable class 'xavp' - name being a
shortcut to 'extended attribute value pair'. I collected some design
details in wiki:
http://sip-router.org/wiki/devel/xavp
It is not a replacement for current AVP api implementation, although in
the future can replace it. In the past we had couple of discussions
about the limitations of avps which I tried to overcome. Here are some
highlights of xavp design:
- string names only - various tests showed that having the complex
addressing scheme with integer id and string name does not pay off
performance gains. XAVP computes and integer id for each name that is
used to speed up comparison
- possibility to store more data types - AVP allow string and integer
data types. More can be handled by XAVP, including a generic data type
where you can build your own structure and store it in the list. This is
good for example to store custom structures for transaction lifetine --
right now dialog module needs to store reference to dialog structure.
Optimizations can be done for any case of serial forking -- uri, dst
uri, q, etc can be stored in a structure without a need to parse and
build it from an encoded value stored in one or many avps
- possibility to group XAVPs inside another XAVP - practically is
building lists of XAVPs. This should overcome issues with naming
conflicts between modules - e.g., dispatacher module can group its avps
in a list named "dispatacher", lcr module in a list named 'lcrl, then
there can be XAVP with name 'uri' in both lists, without the risk of
misusage. Another benefit would be reducing the number of parameters,
right now each module exports a parameter to set the name for each AVP,
with xavp there is need for one parameter to set the name of the list,
then inside that list the module is free to use predefined names without
the risk of overlapping.
- xavp having value integer or string can be used directly in config,
whether they are in a sublist or not
Check the wiki (link above) for more. Looking forward for comments,
suggestions and improvements.
Cheers,
Daniel
--
Daniel-Constantin Mierla
* SIP Router Bootcamp
* Kamailio (OpenSER) and Asterisk Training
* Berlin, Germany, Sep 1-4, 2009
* http://www.asipto.com/index.php/sip-router-bootcamp/
Hello,
the new sip router core and librarization of kamailio management (MI)
and statistics interfaces affected the module interface. At this time,
although all the fields are still in the module interface, some are passive:
- mi commands exports
- statistics exports
- extra processes
The modules in the public GIT repository use the either mod_init or
mod_register to export them, so everything should work as expected.
fyi: if you didn't know so far - mod_register is a function
automatically called when a module is loaded, giving the possibility to
export components from module in very early stage, e.g., transfomations
must be exported via mod_register since they are lookep up while parsing
the routing blocks -- mod_register is available in kamailio since 1.5,
back ported from sip router core, you just need to implement it in the
module, it is not part of module interface.
Back to module interface, the three fields mislead private module
implementations as everything compiles ok, but at startup the fields are
not actually exported. I propose to remove them and document the
transition process to new interface, which is practically couple of code
lines. It this way people migrating private stuff will notice the change
and update.
Since we are here and we have to go through each K module and remove the
fields from the module interface, maybe we can create a single interface
for k and s modules. Doing a short analysis and considering the above
three fields removed from k interface, then:
- K interface has extra
- dlopen flags - needed to specify how the .so is open, required so
far by perl module, iirc
- PV exports - the list of pseudo-variables exported by module
- the cmd (function) exports structure has a field to specify a free
fixup function (not implemented for all exported commands). The goal is
to allow calling functions exported by modules for higher application
languages, like perl so far, where it is needed to free the memory
allocated by fixup function
- S interface has extra
- rpc exports - exported rpc commands
- onbreak function - is this used?!? couldn't find docs about or a
use case, so I consider it obsolete
Then common interface would be:
- name
- dlopen flags
- mod parameters
- mod commands with free fixup
- rpc commands
- PV exports
- mod init
- child init
- mod destroy
- onreply callback
Probably we can normalize it a bit more, comments and suggestions are
welcome!
Thanks,
Daniel
--
Daniel-Constantin Mierla
* SIP Router Bootcamp
* Kamailio (OpenSER) and Asterisk Training
* Berlin, Germany, Sep 1-4, 2009
* http://www.asipto.com/index.php/sip-router-bootcamp/