---

** [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

Reply via email to