I guess following is steps of the condition for the crash:

1/Current "numOpeners" of one well known stream = 2. This mean that just one
client open this stream. LOGD get close that stream request from client. The
closing stream is successful on active node. But checkpoiting to standby
have problem and cannot closing stream on standby. 

2/Now the "numOpeners" on active node is (1), on standby node is (2). And
still have one client own that well known stream on standby although the
client already closed the stream on active node. 

3/One other client open again that stream again. "numOpeners" on both active
node and standby is (2). Only one client own the stream, but 2 client own
that stream on standby.

4/Reboot active node and assume that 2 clients that is on active node, so 2
client will be downed. Standby node up to active will close that well known
stream 2 times with  numOpeners = 2. Then numOpeners will be zero for the
well known stream. And the crash happens.




---

** [tickets:#3018] log: logd crash due to well known stream has numOpeners = 0**

**Status:** accepted
**Milestone:** 5.19.06
**Created:** Thu Mar 14, 2019 09:37 AM UTC by Canh Truong
**Last Updated:** Tue Mar 26, 2019 01:56 AM UTC
**Owner:** Canh Truong


osaflogd[14677]: src/log/logd/lgs_stream.cc:852: log_stream_close: Assertion 
'stream->streamType >= STREAM_TYPE_APPLICATION_RT' failed.

osafamfnd[14733]: Rebooting OpenSAF NodeId = 131599 EE Name = , Reason: 
Component faulted: recovery is node failfast, OwnNodeId = 131599, 
SupervisionTime = 60
opensaf_reboot: Rebooting local node; timeout=60
opensaf_reboot: daemonize_job opensaf_kill returned=0
opensaf_reboot: opensaf_kill  child process SUBPID=17690


(gdb) bt full
#0  0x00007f8938eeef67 in raise () from /lib64/libc.so.6
No symbol table info available.
#1  0x00007f8938ef033a in abort () from /lib64/libc.so.6
No symbol table info available.
#2  0x00007f8939c6646e in __osafassert_fail (__file=<optimized out>, 
__line=<optimized out>, __func=<optimized out>, __assertion=<optimized out>) at 
src/base/sysf_def.c:296
No locals.
#3  0x0000558ff611c304 in log_stream_close (s=s@entry=0x7ffdf2741a78, 
close_time_ptr=close_time_ptr@entry=0x7ffdf2741a48) at 
src/log/logd/lgs_stream.cc:852
        file_to_rename = {
          static npos = <optimized out>, 
          _M_dataplus = {
            <std::allocator<char>> = {
              <__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data 
fields>}, 
            members of std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::_Alloc_hider: 
            _M_p = 0x7f8939a1dd58 <std::string::_Rep::_S_empty_rep_storage+24> 
""
          }
        }
        trace_num_openers = 0
        closetime_tspec = {
          tv_sec = 140728671148672, 
          tv_nsec = 140728671148560
        }
        root_path = {
          static npos = <optimized out>, 
          _M_dataplus = {
            <std::allocator<char>> = {
              <__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data 
fields>}, 
            members of std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::_Alloc_hider: 
            _M_p = 0x558ff7867c28 "/storage/no-backup/coremw/var/log/saflog"
          }
        }
        t_ = {
          trace_leave_called = false, 
          file_ = 0x558ff61337ad "src/log/logd/lgs_stream.cc", 
          function_ = 0x558ff6134240 <log_stream_close(log_stream**, 
long*)::__FUNCTION__> "log_stream_close"
        }
        errno_ret = 0
        stream = 0x558ff78689d0
        __FUNCTION__ = "log_stream_close"
        rc = 0
        timeString = 0x0
        emptyStr = {
          static npos = <optimized out>, 
          _M_dataplus = {
            <std::allocator<char>> = {
              <__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data 
fields>}, 
            members of std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::_Alloc_hider: 
            _M_p = 0x7f8939a1dd58 <std::string::_Rep::_S_empty_rep_storage+24> 
""
          }
        }
#4  0x0000558ff60f2628 in lgs_client_delete (client_id=16, 
closetime_ptr=closetime_ptr@entry=0x7ffdf2741b88) at src/log/logd/lgs_evt.cc:213
        tmp_rec = <optimized out>
        stream = 0x558ff78689d0
        status = 0
        cur_rec = 0x558ff786ab20
        closetime = 1552070466
        closetime_tspec = {
          tv_sec = 2048, 
          tv_nsec = 140227354156352
        }
        client_rec = <optimized out>
        __FUNCTION__ = "lgs_client_delete"
        clientMap = 0x558ff7854490
        client = 0x558ff786aa20
        t_ = {
          trace_leave_called = false, 
          file_ = 0x558ff612c49f "src/log/logd/lgs_evt.cc", 
          function_ = 0x558ff612d030 <lgs_client_delete(unsigned int, 
long*)::__FUNCTION__> "lgs_client_delete"
        }
#5  0x0000558ff60f2874 in lgs_client_delete_by_mds_dest 
(mds_dest=586104137566712, closetime_ptr=closetime_ptr@entry=0x7ffdf2741b88) at 
src/log/logd/lgs_evt.cc:343
        it = {
          _M_node = 0x558ff786aae0
        }
        rp = 0x558ff786aa20
        __FUNCTION__ = "lgs_client_delete_by_mds_dest"
        clientMap = 0x558ff7854490
        rc = 0
        t_ = {
          trace_leave_called = false, 
          file_ = 0x558ff612c49f "src/log/logd/lgs_evt.cc", 
          function_ = 0x558ff612cfd0 <lgs_client_delete_by_mds_dest(unsigned 
long, long*)::__FUNCTION__> "lgs_client_delete_by_mds_dest"
        }
#6  0x0000558ff60f3020 in lgs_process_lga_down_list () at 
src/log/logd/lgs_evt.cc:534
        temp_lga_down_rec = 0x558ff786b0e0
        closetime = 1552070466
        lga_down_rec = 0x558ff786b0e0
        closetime_tspec = {
          tv_sec = 1552070466, 
          tv_nsec = 152364897
        }
#7  proc_rda_cb_msg (evt=0x7f892c0008c0) at src/log/logd/lgs_evt.cc:577
        count = <optimized out>
        stream = <optimized out>
        endloop = (unknown: 1552070466)
        jstart = <optimized out>
        rc = <optimized out>
        t_ = {
          trace_leave_called = false, 
          file_ = 0x558ff612c49f "src/log/logd/lgs_evt.cc", 
          function_ = 0x558ff612ce60 
<proc_rda_cb_msg(lgsv_lgs_evt*)::__FUNCTION__> "proc_rda_cb_msg"
        }
#8  lgs_process_mbx (mbx=<optimized out>) at src/log/logd/lgs_evt.cc:1568
        msg = 0x7f892c0008c0
#9  0x0000558ff60e72ec in main (argc=<optimized out>, argv=<optimized out>) at 
src/log/logd/lgs_main.cc:620
        oi_handle = 0
        oi_selection_object = <optimized out>
        ret = <optimized out>
        mbx_fd = <optimized out>
        term_fd = 19
        __FUNCTION__ = "main"
        ais_rc = <optimized out>
        rc = <optimized out>
        cltimer_fd = -1
        t_ = {
          trace_leave_called = false, 
          file_ = 0x558ff6130a67 "src/log/logd/lgs_main.cc", 
          function_ = 0x558ff6130ebf <main::__FUNCTION__> "main"
        }


---

Sent from sourceforge.net because [email protected] 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.
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to