[Kamailio-Devel] [ openser-Bugs-2102541 ] DNS_name to IP coredumps

SourceForge.net noreply at sourceforge.net
Thu Sep 11 09:25:31 CEST 2008


Bugs item #2102541, was opened at 2008-09-09 21:42
Message generated for change (Comment added) made by broddesson
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2102541&group_id=139143

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: core
Group: ver 1.3.x
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Stefan Broddesson (broddesson)
Assigned to: Nobody/Anonymous (nobody)
Summary: DNS_name to IP coredumps

Initial Comment:
Calee initiated <bye> and destination address is a hostname not IP address.
Executing forward() or t_relay() in script triggers the coredump.
dns & rev_dns On/Off with the same result.
---
DBG:core:comp_scriptvar: str 20 : siphost.domain.com
DBG:tm:t_newtran: transaction on entrance=0xffffffffffffffff
DBG:core:parse_headers: flags=ffffffffffffffff
DBG:core:parse_headers: flags=78
DBG:tm:t_lookup_request: start searching: hash=7994, isACK=0
DBG:tm:matching_3261: RFC3261 transaction matching failed
DBG:tm:t_lookup_request: no transaction found
DBG:tm:run_reqin_callbacks: trans=0x2b4e6b2e0f48, callback type 1, id 0 entered
DBG:siptrace:trace_onreq_in: trace off...
DBG:core:mk_proxy: doing DNS lookup...
DBG:core:sip_resolvehost: no port, no proto -> do NAPTR lookup!
DBG:core:filter_and_sort_naptr: found valid SIP+D2U -> _sip._udp.siphost.domain.com
DBG:core:filter_and_sort_naptr: skipping SIPS+D2T -> _sips._tcp.siphost.domain.com
DBG:core:filter_and_sort_naptr: skipping SIP+D2T -> _sip._tcp.siphost.domain.com

//s

----------------------------------------------------------------------

>Comment By: Stefan Broddesson (broddesson)
Date: 2008-09-11 09:25

Message:
Haven't tried the 1.4 release yet.
No proprietary modules, script profile is for LB/Dispatching, and Dialog
module is not used.

Initially sip headers was search/replace'd for the occurances of theese
host names, this also works, and 
openser does not dump core. Of what you mention the restart of openser in
between <invite> and <bye> haven't been tested. 

Tried both forward() and t_relay() and they both cause a core dump if any
host name is found for the returning <bye>.

I do subscribe to the dev & users mailing list.
Backtraces attached.
//s
File Added: OpenSER-1_3_3-svn_4779-bug_2102541_Backtraces.txt

----------------------------------------------------------------------

Comment By: Stefan Broddesson (broddesson)
Date: 2008-09-10 17:45

Message:
Made it dump core with the additional startup params.

In all 21 files created. Will prepare a file, with backtraces, to upload.
Expect it by tomorrow morning.

//s

----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2008-09-10 16:25

Message:
not sure if I understand? you were calling route(1) (with t_relay())
twice?

Yes, it shouldn't coredump anyway

----------------------------------------------------------------------

Comment By: Stefan Broddesson (broddesson)
Date: 2008-09-10 16:00

Message:
Klaus,

Had a serial of 2 route(1)'s that caused this, first one now does exit;.
Still would expect it would be absorbed without a coredump, right?

 do we still want to proceed with the coredump?

//s

----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2008-09-10 13:23

Message:
hmmm - maybe multiple process crash and the cordeump gets overwritten by
another coredump. I use the following config (in the init script) to have
the PID in the core dump file name:

    # directory for the core dump files
    COREDIR=/tmp
    [ -d $COREDIR ] || mkdir $COREDIR
    chmod 777 $COREDIR
    echo "$COREDIR/openser.core.%e.sig%s.%p" >
/proc/sys/kernel/core_pattern

Then start openser with debug=4.

In the logfile you should see which process segfaults first (if multiple
segfault) to analyze the proper core.

Have you tried using 1.4 release?

Are you using any proprietary modules? How ar you handling the BYE (just
loose_route() and t_relay()? Are you using the dialog module? What if you
put the same domain as in the BYE into an INVITE - does it crash too? Does
it also crash if you restart openser inbetween INV-200-ACK and BYE ?

Are you subscribed to an mailinglist? So we could move the discussion to
the mailinglist.

klaus

----------------------------------------------------------------------

Comment By: Stefan Broddesson (broddesson)
Date: 2008-09-10 13:13

Message:
Yes, it is easy to reproduce.
If no replacement of hostname to IP is done, then it coredumps.

No other core files exist.
-is there anything I could prep. the script with, flags to use a.s.o.?

//s

----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2008-09-10 12:43

Message:
That does not show anything interesting. MAybe there is another core file
from another openser process which acutally crashed?

Can you reproduce the crash?

----------------------------------------------------------------------

Comment By: Stefan Broddesson (broddesson)
Date: 2008-09-10 10:39

Message:
...on autopilot  ;-)  should have realised that.

here goes:

(gdb) bt
#0  0x00002b11a1505145 in _dl_rtld_di_serinfo () from
/lib64/ld-linux-x86-64.so.2
#1  0x00002b11a185bb8d in exit () from /lib/libc.so.6
#2  0x0000000000420e20 in handle_sigs () at main.c:522
#3  0x0000000000424ec0 in main (argc=10274, argv=0x20) at main.c:919
(gdb)

//s

----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2008-09-10 08:47

Message:
my fault. please enter 'bt' without #
(the # was meant to reflect the prompt of the gdb shell, but the gdb
prompt is (gdb))

----------------------------------------------------------------------

Comment By: Stefan Broddesson (broddesson)
Date: 2008-09-10 00:36

Message:
Hi Klaus!

Didn't include "# bt" output, since it was just a blank line...

Regards,
Stefan 

----------------------------------------------------------------------

Comment By: Stefan Broddesson (broddesson)
Date: 2008-09-10 00:30

Message:
OpenSER 1.3.3-notls (x86_64) openser_receiver_version_9460
backtrace is:

GNU gdb 6.4.90-debian
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 "x86_64-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-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /usr/local/lib64/openser/modules/sl.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/sl.so
Reading symbols from /usr/local/lib64/openser/modules/uri.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/uri.so
Reading symbols from /usr/local/lib64/openser/modules/mi_fifo.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/mi_fifo.so
Reading symbols from /usr/local/lib64/openser/modules/maxfwd.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/maxfwd.so
Reading symbols from /usr/local/lib64/openser/modules/xlog.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/xlog.so
Reading symbols from /usr/local/lib64/openser/modules/unixodbc.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/unixodbc.so
Reading symbols from /usr/lib/libodbc.so.1...done.
Loaded symbols for /usr/lib/libodbc.so.1
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/lib/libltdl.so.3...done.
Loaded symbols for /usr/lib/libltdl.so.3
Reading symbols from /lib/libpthread.so.0...done.
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /usr/local/lib64/openser/modules/auth.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/auth.so
Reading symbols from /usr/local/lib64/openser/modules/auth_db.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/auth_db.so
Reading symbols from /usr/local/lib64/openser/modules/uri_db.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/uri_db.so
Reading symbols from /usr/local/lib64/openser/modules/usrloc.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/usrloc.so
Reading symbols from
/usr/local/lib64/openser/modules/registrar.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/registrar.so
Reading symbols from /usr/local/lib64/openser/modules/path.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/path.so
Reading symbols from /usr/local/lib64/openser/modules/options.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/options.so
Reading symbols from /usr/local/lib64/openser/modules/mangler.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/mangler.so
Reading symbols from
/usr/local/lib64/openser/modules/uac_redirect.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/uac_redirect.so
Reading symbols from
/usr/local/lib64/openser/modules/permissions.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/permissions.so
Reading symbols from /usr/local/lib64/openser/modules/rr.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/rr.so
Reading symbols from /usr/local/lib64/openser/modules/tm.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/tm.so
Reading symbols from /usr/local/lib64/openser/modules/pike.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/pike.so
Reading symbols from /usr/local/lib64/openser/modules/textops.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/textops.so
Reading symbols from /usr/local/lib64/openser/modules/siptrace.so...done.
Loaded symbols for /usr/local/lib64/openser/modules/siptrace.so
Reading symbols from /lib/libnss_compat.so.2...done.
Loaded symbols for /lib/libnss_compat.so.2
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libnss_nis.so.2...done.
Loaded symbols for /lib/libnss_nis.so.2
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /usr/lib/gconv/ISO8859-1.so...done.
Loaded symbols for /usr/lib/gconv/ISO8859-1.so
Reading symbols from /usr/lib/odbc/libtdsodbc.so...done.
Loaded symbols for /usr/lib64/odbc/libtdsodbc.so
Reading symbols from /usr/lib/libodbcinst.so.1...done.
Loaded symbols for /usr/lib/libodbcinst.so.1

warning: Can't read pathname for load map: Input/output error.
Core was generated by `./openser -P /var/run/openser.pid -f
/usr/local/etc/openser/dispatcher_x98.cfg'.
Program terminated with signal 11, Segmentation fault.
#0  0x00002b9860124145 in _dl_rtld_di_serinfo () from
/lib64/ld-linux-x86-64.so.2



----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2008-09-09 23:24

Message:
Hi Stefan!

Which version? Can you also please post a backtrack of the coredump?
 1. gdb /usr/sbin/kamailio /path/to/core.file
 2. # bt

thanks
klaus

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2102541&group_id=139143



More information about the Devel mailing list