Bugs item #2797928, was opened at 2009-05-28 15:54
Message generated for change (Tracker Item Submitted) made by axlh
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2797928&group_…
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: modules
Group: ver 1.5.x
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Alex Hermann (axlh)
Assigned to: Nobody/Anonymous (nobody)
Summary: Segfaults in dialog_update_db
Initial Comment:
dialog_update_db() is very crashy. It doesn't do any sanity checks on pointers and as a consequence crashes a lot.
I've seen at least 2 occasions at which is crashes:
1) Calling dlg_manage() on a non-invite message
2) Worse, on an invalid message. When a 200 OK is missing a contact header, I get error messages from populate_leg_info():
ERROR:dialog:populate_leg_info: bad sip message or missing Contact hdr
ERROR:dialog:dlg_onreply: could not add further info to the dialog
But afterwards dialog_update_db segfaults on an invalid bind_addr, from the backtrace:
(gdb) bt
#0 0xb783c41a in dialog_update_db (ticks=771000, param=0x0) at dlg_db_handler.c:629
#1 0x080a9726 in start_timer_processes () at timer.c:282
#2 0x08069b38 in main (argc=10, argv=0xbfc6f2d4) at main.c:816
Line 629 is for my version: SET_STR_VALUE(values+8, cell->bind_addr[DLG_CALLEE_LEG]->sock_str);
(gdb) bt full
<snip>
{type = DB_STR, nul = 0, free = -1282894544, val = {int_val = 178, ll_val = -5201380350948802382, double_val = -7.7990737395388139e-40, time_val = 178, string_val = 0xb2 "", str_val = {s = 0xb2 "", len = -1211040735}, blob_val = {s = 0xb2 "", len = -1211040735}, bitmap_val = 178}}
<snip>
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2797928&group_…
while compiling modules that i use, i got the 3rd last, before
compilation failed.
-- juha
make[2]: Entering directory `/usr/src/trunk-src/openxg-sip-router/modules_k/uac_redirect'
...
gcc -fPIC -DPIC -g -O9 -funroll-loops -Wcast-align -minline-all-stringops -falign-loops -ftree-vectorize -mtune=athlon64 -Wall -DNAME='"ser"' -DVERSION='"2.1.0-dev23-make"' -DARCH='"i386"' -DOS='linux_' -DOS_QUOTED='"linux"' -DCOMPILER='"gcc 4.3.2"' -D__CPU_i386 -D__OS_linux -DSER_VER=2001000 -DCFG_DIR='"/usr/local/etc/ser/"' -DPKG_MALLOC -DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLACKLIST -DUSE_NAPTR -DF_MALLOC -DUSE_TLS -DTLS_HOOKS -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_SCHED_SETSCHEDULER -DHAVE_EPOLL -DHAVE_SIGIO_RT -DSIGINFO64_WORKARROUND -DUSE_FUTEX -DHAVE_SELECT -DUSE_SCTP -DOPENSER_MOD_INTERFACE -DMOD_NAME='"uac_redirect"' -c rd_funcs.c -o rd_funcs.o
rd_funcs.c: In function ??get_redirect??:
rd_funcs.c:65: error: ??struct cell?? has no member named ??first_branch??
rd_funcs.c:65: error: ??struct cell?? has no member named ??first_branch??
rd_funcs.c:65: error: ??struct cell?? has no member named ??first_branch??
rd_funcs.c:65: error: ??struct cell?? has no member named ??first_branch??
rd_funcs.c:65: error: ??struct cell?? has no member named ??first_branch??
rd_funcs.c:71: error: ??struct cell?? has no member named ??first_branch??
rd_funcs.c: In function ??shmcontact2dset??:
rd_funcs.c:267: warning: passing argument 2 of ??append_branch?? from incompatible pointer type
rd_funcs.c:275: error: too many arguments to function ??rd_acc_fct??
make[2]: *** [rd_funcs.o] Error 1
INSTALL document does not mention TLS and SCTP at all. is it so that
TLS and SCTP support is automatically included by the make process?
there is no comment in Makefile.defs on CORE_TLS variable. it that what
is used to control if TLS support is included?
in Makefile.defs there is also SCTP variable without any comment. is
that what is used to control if SCTP support is included?
-- juha
Revision: 5860
http://openser.svn.sourceforge.net/openser/?rev=5860&view=rev
Author: juhe
Date: 2009-05-27 16:11:07 +0000 (Wed, 27 May 2009)
Log Message:
-----------
* Ported xmlrpc server blocking fix from OpenSIPs.
Modified Paths:
--------------
branches/1.5/modules/mi_xmlrpc/abyss_server.c
branches/1.5/modules/mi_xmlrpc/abyss_socket.c
branches/1.5/modules/mi_xmlrpc/abyss_socket.h
branches/1.5/modules/mi_xmlrpc/abyss_socket_unix.c
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Hello,
the irc fans that want to do "a more real-time chat" about
using/developing sip router project, can join the #sip-router channel on
irc.freenode.net.
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://www.asipto.com/