---
** [tickets:#2669] dtm: segv in osafdtmd**
**Status:** accepted
**Milestone:** 5.18.01
**Created:** Mon Nov 06, 2017 03:13 PM UTC by Hans Nordebäck
**Last Updated:** Mon Nov 06, 2017 03:13 PM UTC
**Owner:** Hans Nordebäck
In dtm_main.cc, function "main" the function "dtm_node_discovery_task_create()"
is called before "dtm_service_discovery_init(dtms_cb)"
and it is the latter that initialize dtm_intranode_cb, so
"dtm_node_discovery_task_create()", (which also is a real time thread), may be
running with dtm_intranode_cb still not initialized leading to this segv. The
init of dtm_intranode_cb has to be done before calling
"dtm_node_discovery_task_create()".
Program terminated with signal SIGSEGV, Segmentation fault.
00:58:34 #0 ncs_ipc_send (mbx=0xd0, msg=msg@entry=0x7f1c8c010be0,
prio=prio@entry=NCS_IPC_PRIORITY_HIGH) at src/base/sysf_ipc.c:535
00:58:34 [Current thread is 1 (Thread 0x7f1c9523db00 (LWP 154))]
00:58:34
00:58:34 Thread 4 (Thread 0x7f1c9525db00 (LWP 153)):
00:58:34 #0 0x00007f1c9433cb5d in poll () at
../sysdeps/unix/syscall-template.S:84
00:58:34 No locals.
00:58:34 #1 0x00007f1c94dee120 in poll (__timeout=-1, __nfds=1,
__fds=0x7f1c9525d260) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
00:58:34 No locals.
00:58:34 #2 osaf_poll_no_timeout (io_fds=0x7f1c9525d260, i_nfds=1) at
src/base/osaf_poll.c:31
00:58:34 No locals.
00:58:34 #3 0x00007f1c94dee365 in osaf_ppoll
(io_fds=io_fds@entry=0x7f1c9525d260, i_nfds=i_nfds@entry=1, i_timeout_ts=0x0,
i_sigmask=i_sigmask@entry=0x0) at src/base/osaf_poll.c:82
00:58:34 start_time = {tv_sec = 139760738095744, tv_nsec = 0}
00:58:34 time_left_ts = <optimized out>
00:58:34 result = -1792683424
00:58:34 #4 0x00007f1c94df551f in ncs_tmr_wait () at src/base/sysf_tmr.c:463
00:58:34 rc = <optimized out>
00:58:34 inds_rmvd = <optimized out>
00:58:34 next_delay = <optimized out>
00:58:34 tv = <optimized out>
00:58:34 ts_current = {tv_sec = 410674, tv_nsec = 637832336}
00:58:34 ts = {tv_sec = 16777215, tv_nsec = 0}
00:58:34 set = {fd = 6, events = 1, revents = 0}
00:58:34 #5 0x00007f1c946126ba in start_thread (arg=0x7f1c9525db00) at
pthread_create.c:333
00:58:34 __res = <optimized out>
00:58:34 pd = 0x7f1c9525db00
00:58:34 now = <optimized out>
00:58:34 unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139760738097920,
3941995848775809230, 1, 140734297406815, 139760738098624, 140734297408496,
-3995288678512936754, -3995290365788505906}, mask_was_saved = 0}}, priv = {pad
= {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
00:58:34 not_first_call = <optimized out>
00:58:34 pagesize_m1 = <optimized out>
00:58:34 sp = <optimized out>
00:58:34 freesize = <optimized out>
00:58:34 __PRETTY_FUNCTION__ = "start_thread"
00:58:34 #6 0x00007f1c9434882d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
00:58:34 No locals.
00:58:34
00:58:34 Thread 3 (Thread 0x7f1c95260740 (LWP 150)):
00:58:34 #0 __clock_nanosleep (clock_id=clock_id@entry=1, flags=flags@entry=1,
req=req@entry=0x7fff41ce0390, rem=rem@entry=0x0) at
../sysdeps/unix/sysv/linux/clock_nanosleep.c:48
00:58:34 oldstate = 0
00:58:34 r = <optimized out>
00:58:34 rem = 0x0
00:58:34 req = 0x7fff41ce0390
00:58:34 flags = 1
00:58:34 clock_id = <optimized out>
00:58:34 #1 0x00007f1c94def3b4 in osaf_nanosleep
(sleep_duration=0x7fff41ce0430) at src/base/osaf_time.c:44
00:58:34 wakeup_time = {tv_sec = 410675, tv_nsec = 402517787}
00:58:34 retval = <optimized out>
00:58:34 #2 0x0000555a767ecb85 in base::Sleep (duration=...) at
./src/base/time.h:135
00:58:34 No locals.
00:58:34 #3 main (argc=<optimized out>, argv=<optimized out>) at
src/dtm/dtmnd/dtm_main.cc:312
00:58:34 rc = <optimized out>
00:58:34 dis_time_out_usec = 5000000
00:58:34 dis_elapsed_time_usec = 500000
00:58:34 t_ = {trace_leave_called = false, file_ = 0x0, function_ = 0x0}
00:58:34 __FUNCTION__ = "main"
00:58:34 dtms_cb = 0x555a76f16f60
00:58:34
00:58:34 Thread 2 (Thread 0x7f1c9521db00 (LWP 157)):
00:58:34 #0 0x00007f1c9433cb5d in poll () at
../sysdeps/unix/syscall-template.S:84
00:58:34 No locals.
00:58:34 #1 0x0000555a767f5c32 in poll (__timeout=20000, __nfds=<optimized
out>, __fds=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
00:58:34 No locals.
00:58:34 #2 dtm_intranode_processing () at src/dtm/dtmnd/dtm_intra.cc:670
00:58:34 poll_ret_val = 0
00:58:34 j = <optimized out>
00:58:34 t_ = {trace_leave_called = false, file_ = 0x0, function_ = 0x0}
00:58:34 __FUNCTION__ = "dtm_intranode_processing"
00:58:34 #3 0x00007f1c946126ba in start_thread (arg=0x7f1c9521db00) at
pthread_create.c:333
00:58:34 __res = <optimized out>
00:58:34 pd = 0x7f1c9521db00
00:58:34 now = <optimized out>
00:58:34 unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139760737835776,
3941995848775809230, 1, 140734297407007, 139760737836480, 140734297408000,
-3995288712872675122, -3995290365788505906}, mask_was_saved = 0}}, priv = {pad
= {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
00:58:34 not_first_call = <optimized out>
00:58:34 pagesize_m1 = <optimized out>
00:58:34 sp = <optimized out>
00:58:34 freesize = <optimized out>
00:58:34 __PRETTY_FUNCTION__ = "start_thread"
00:58:34 #4 0x00007f1c9434882d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
00:58:34 No locals.
00:58:34
00:58:34 Thread 1 (Thread 0x7f1c9523db00 (LWP 154)):
00:58:34 #0 ncs_ipc_send (mbx=0xd0, msg=msg@entry=0x7f1c8c010be0,
prio=prio@entry=NCS_IPC_PRIORITY_HIGH) at src/base/sysf_ipc.c:535
00:58:34 ncs_ipc = <optimized out>
00:58:34 queue_number = <optimized out>
00:58:34 #1 0x0000555a767f223f in dtm_node_up (node_id=132367,
node_name=node_name@entry=0x7f1c8c0008c8 "SC-5",
node_ip=node_ip@entry=0x7f1c8c0009c8 "10.0.3.205", i_addr_family=<optimized
out>, mbx=mbx@entry=0) at src/dtm/dtmnd/dtm_inter_svc.cc:146
00:58:34 dtm_msg_elem = 0x7f1c8c010be0
00:58:34 status = 2
00:58:34 t_ = {trace_leave_called = false, file_ = 0x0, function_ = 0x0}
00:58:34 __FUNCTION__ = "dtm_node_up"
00:58:34 #2 0x0000555a767fc6c7 in dtm_process_node_up_down (node_id=<optimized
out>, node_name=node_name@entry=0x7f1c8c0008c8 "SC-5",
node_ip=node_ip@entry=0x7f1c8c0009c8 "10.0.3.205", i_addr_family=<optimized
out>, comm_status=true) at src/dtm/dtmnd/dtm_node.cc:192
00:58:34 No locals.
00:58:34 #3 0x0000555a767fc9e9 in dtm_process_node_up_down
(comm_status=<optimized out>, i_addr_family=<optimized out>,
node_ip=0x7f1c8c0009c8 "10.0.3.205", node_name=0x7f1c8c0008c8 "SC-5",
node_id=<optimized out>) at src/dtm/dtmnd/dtm_node.cc:188
00:58:34 No locals.
00:58:34 #4 dtm_process_node_info (dtms_cb=dtms_cb@entry=0x555a76f16f60,
node=node@entry=0x7f1c8c0008c0, buffer=buffer@entry=0x7f1c8c000aa4 "",
buffer_size=buffer_size@entry=12,
node_info_hrd=node_info_hrd@entry=0x7f1c9523cdc0 "", buffer_len=20) at
src/dtm/dtmnd/dtm_node.cc:160
00:58:34 node_id = <optimized out>
00:58:34 nodename_len = <optimized out>
00:58:34 rc = <optimized out>
00:58:34 data = 0x7f1c8c000aac "SC-5"
00:58:34 t_ = {trace_leave_called = false, file_ = 0x0, function_ = 0x0}
00:58:34 __FUNCTION__ = "dtm_process_node_info"
00:58:34 #5 0x0000555a767fcd9e in dtm_internode_process_poll_rcv_msg_common
(node=node@entry=0x7f1c8c0008c0, buffer=buffer@entry=0x7f1c8c000a9e
"V\022\064V\001\001", local_len_buf=<optimized out>,
node_info_hrd=node_info_hrd@entry=0x7f1c9523cdc0 "",
node_info_buffer_len=node_info_buffer_len@entry=20,
close_conn=close_conn@entry=0x7f1c9523c797) at src/dtm/dtmnd/dtm_node.cc:242
00:58:34 data = 0x7f1c8c000aa4 ""
00:58:34 identifier = <optimized out>
00:58:34 version = <optimized out>
00:58:34 pkt_type = <optimized out>
00:58:34 #6 0x0000555a767fcffb in dtm_internode_process_poll_rcv_msg
(node=node@entry=0x7f1c8c0008c0, close_conn=close_conn@entry=0x7f1c9523c797,
node_info_hrd=node_info_hrd@entry=0x7f1c9523cdc0 "",
node_info_buffer_len=node_info_buffer_len@entry=20) at
src/dtm/dtmnd/dtm_node.cc:330
00:58:34 message_size = <optimized out>
00:58:34 total_size = 20
00:58:34 recd_bytes = <optimized out>
00:58:34 t_ = {trace_leave_called = false, file_ = 0x0, function_ = 0x0}
00:58:34 __FUNCTION__ = "dtm_internode_process_poll_rcv_msg"
00:58:34 #7 0x0000555a767fd420 in node_discovery_process (arg=<optimized out>)
at src/dtm/dtmnd/dtm_node.cc:441
00:58:34 node = 0x7f1c8c0008c0
00:58:34 i = <optimized out>
00:58:34 events = {{events = 1, data = {ptr = 0x7f1c8c0008c0, fd =
-1946154816, u32 = 2348812480, u64 = 139760584624320}}, {events = 0, data =
{ptr = 0x0, fd = 0, u32 = 0, u64 = 0}} <repeats 127 times>}
00:58:34 poll_ret = <optimized out>
00:58:34 t_ = {trace_leave_called = false, file_ = 0x0, function_ = 0x0}
00:58:34 __FUNCTION__ = "node_discovery_process"
00:58:34 close_conn = false
00:58:34 dtms_cb = 0x555a76f16f60
00:58:34 node_info_buffer_len = 20
00:58:34 node_info_hrd =
"\000\022V\022\064V\001\001\000\002\004\017\000\000\000\004SC-4", '\000'
<repeats 250 times>
00:58:34 #8 0x00007f1c946126ba in start_thread (arg=0x7f1c9523db00) at
pthread_create.c:333
00:58:34 __res = <optimized out>
00:58:34 pd = 0x7f1c9523db00
00:58:34 now = <optimized out>
00:58:34 unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139760737966848,
3941995848775809230, 1, 140734297407487, 139760737967552, 93847031025008,
-3995288730052544306, -3995290365788505906}, mask_was_saved = 0}}, priv = {pad
= {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
00:58:34 not_first_call = <optimized out>
00:58:34 pagesize_m1 = <optimized out>
00:58:34 sp = <optimized out>
00:58:34 freesize = <optimized out>
00:58:34 __PRETTY_FUNCTION__ = "start_thread"
00:58:34 #9 0x00007f1c9434882d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
---
Sent from sourceforge.net because opensaf-tickets@lists.sourceforge.net is
subscribed to https://sourceforge.net/p/opensaf/tickets/
To unsubscribe from further messages, a project admin can change settings at
https://sourceforge.net/p/opensaf/admin/tickets/options. Or, if this is a
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-tickets mailing list
Opensaf-tickets@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets