call_event = core_lock_retry event..

bt full output below... I'll go ahead and file a GitHub issue. Thanks.


#5  0x00002b8a417d3c35 in _ink_assert (
    expression=expression@entry=0x7f13e0 "call_event ==
core_lock_retry_event",
    file=file@entry=0x7f1413 "PluginVC.cc", line=line@entry=216) at
ink_assert.cc:37


(gdb) bt full
#0  0x00002b8a43807428 in __GI_raise (sig=sig@entry=6)
    at ../sysdeps/unix/sysv/linux/raise.c:54
        resultvar = 0
        pid = 72
        selftid = 136
#1  0x00002b8a43809187 in __GI_abort () at abort.c:118
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0},
          sa_mask = {__val = {18446744073709551615 <repeats 16 times>}},
          sa_flags = 0, sa_restorer = 0x0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00002b8a417d5adf in ink_die_die_die () at ink_error.cc:43
No locals.
#3  ink_fatal_va (fmt=0x2b8a417e29ff "%s:%d: failed assert `%s`",
    ap=ap@entry=0x2b8a4d311cf0) at ink_error.cc:65
        msg = "FATAL: PluginVC.cc:216: failed assert `call_event ==
core_lock_retry_event`", '\000' <repeats 948 times>
#4  0x00002b8a417d5b79 in ink_fatal (
    message_format=message_format@entry=0x2b8a417e29ff "%s:%d: failed
assert `%s`") at ink_error.cc:73
        ap = <error reading variable ap (Attempt to dereference a generic
pointer.)>
#5  0x00002b8a417d3c35 in _ink_assert (
    expression=expression@entry=0x7f13e0 "call_event ==
core_lock_retry_event", ---Type <return> to continue, or q <return> to
quit---
file=file@entry=0x7f1413 "PluginVC.cc", line=line@entry=216)
    at ink_assert.cc:37
No locals.
#6  0x00000000004fc68c in PluginVC::main_handler (this=0x2b8ad8807048,
    event=<optimized out>, data=0x2c31fa0) at PluginVC.cc:216
        __FUNCTION__ = "main_handler"
        call_event = 0x2c31fa0
        read_mutex_held = <optimized out>
        write_mutex_held = false
        read_side_mutex = {m_ptr = 0x2b8ad40071c0}
        write_side_mutex = {m_ptr = 0x0}
#7  0x00000000007e0752 in Continuation::handleEvent (data=0x2c31fa0,
event=1,
    this=<optimized out>) at I_Continuation.h:153
No locals.
#8  EThread::process_event (this=this@entry=0x2b8a4c707010,
    e=e@entry=0x2c31fa0, calling_code=1) at UnixEThread.cc:148
        c_temp = <optimized out>
        lock = {m = {m_ptr = 0x2b8ad9002d20}, lock_acquired = true}
#9  0x00000000007e15d8 in EThread::execute (this=0x2b8a4c707010)
    at UnixEThread.cc:202
        done_one = <optimized out>
        e = 0x2c31fa0
        NegativeQueue = {<DLL<Event, Event::Link_link>> = {head =
0x2816700},
---Type <return> to continue, or q <return> to quit---
          tail = 0x2816700}
        next_time = 1501263000357130435
#10 0x00000000007e01d5 in spawn_thread_internal (a=0x27a24d0) at
Thread.cc:86
        p = 0x27a24d0
#11 0x00002b8a42b176ba in start_thread (arg=0x2b8a4d312700)
    at pthread_create.c:333
        __res = <optimized out>
        pd = 0x2b8a4d312700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {47873000548096,
                126801912536511865, 0, 140735034297183, 47873000548800, 0,
                6257443582078367097, 6257462270246139257},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0},
            data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#12 0x00002b8a438d93dd in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.
(gdb)


On Wed, Aug 2, 2017 at 3:18 PM, Phil Sorber <[email protected]> wrote:

> It seems pretty straightforward that the code expects call_event to be
> sm_lock_retry_event or core_lock_retry_event if it enters that code block.
> Can you print out the value of call_event from that stack frame (#5)? Maybe
> also do a `bt full` and see if anything interesting falls out of that.
>
> Thanks.
>
> On Wed, Aug 2, 2017 at 1:38 PM Dk Jack <[email protected]> wrote:
>
> > Will do.
> >
> > Even though this happened twice in our environment, I don't know the
> exact
> > process to reproduce it. Not sure if it makes sense to open an issue
> > without proper steps to reproduce it. I was hoping to get some guidance
> on
> > how to reproduce it from someone who is more familiar with this area of
> the
> > code.
> >
> > Bhasker.
> >
> > > On Aug 2, 2017, at 6:26 AM, Phil Sorber <[email protected]> wrote:
> > >
> > > Dk,
> > >
> > > Can you open a github issue on this and then also test with the new
> 6.2.2
> > > RC0 I just put up for a vote?
> > >
> > > If you can't mark the issue for the 6.2.3 milestone, I can do that for
> > you.
> > > If this is still broken in the 6.2.2 RC0 we can stop the vote and
> figure
> > > out a fix depending on the severity.
> > >
> > > Thanks.
> > >
> > >> On Wed, Aug 2, 2017 at 12:11 AM Dk Jack <[email protected]> wrote:
> > >>
> > >> Btw, this crash happened on 6.2.1.
> > >>
> > >> Please let me know if this is not the correct forum for these sort of
> > >> questions. Thanks.
> > >>
> > >>
> > >>
> > >>> On Jul 31, 2017, at 11:15 AM, Dk Jack <[email protected]> wrote:
> > >>>
> > >>> Hi,
> > >>> I am seeing an ATS crash. The stack trace and the crash log info for
> > the
> > >> crash are pasted below. Seems to be happening in
> PluginVC::main_handler
> > >> line 216. I would appreciate it if someone can comment on possible
> > reasons
> > >> for this crash? Thanks.
> > >>>
> > >>> D.
> > >>>
> > >>>
> > >>> [Thread debugging using libthread_db enabled]
> > >>> Using host libthread_db library
> > >> "/lib/x86_64-linux-gnu/libthread_db.so.1".
> > >>> Core was generated by `/opt/trafficserver/bin/traffic_server -M
> > >> --bind_stdout /opt/trafficserver/var/l'.
> > >>> Program terminated with signal SIGABRT, Aborted.
> > >>> #0  0x00002b8a43807428 in __GI_raise (sig=sig@entry=6) at
> > >> ../sysdeps/unix/sysv/linux/raise.c:54
> > >>> 54    ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
> > >>> [Current thread is 1 (Thread 0x2b8a4d312700 (LWP 136))]
> > >>> (gdb) bt
> > >>> #0  0x00002b8a43807428 in __GI_raise (sig=sig@entry=6) at
> > >> ../sysdeps/unix/sysv/linux/raise.c:54
> > >>> #1  0x00002b8a43809187 in __GI_abort () at abort.c:118
> > >>> #2  0x00002b8a417d5adf in ink_die_die_die () at ink_error.cc:43
> > >>> #3  ink_fatal_va (fmt=0x2b8a417e29ff "%s:%d: failed assert `%s`",
> > >> ap=ap@entry=0x2b8a4d311cf0)
> > >>>    at ink_error.cc:65
> > >>> #4  0x00002b8a417d5b79 in ink_fatal (
> > >>>    message_format=message_format@entry=0x2b8a417e29ff "%s:%d: failed
> > >> assert `%s`")
> > >>>    at ink_error.cc:73
> > >>> #5  0x00002b8a417d3c35 in _ink_assert (
> > >>>    expression=expression@entry=0x7f13e0 "call_event ==
> > >> core_lock_retry_event",
> > >>>    file=file@entry=0x7f1413 "PluginVC.cc", line=line@entry=216) at
> > >> ink_assert.cc:37
> > >>> #6  0x00000000004fc68c in PluginVC::main_handler
> (this=0x2b8ad8807048,
> > >> event=<optimized out>,
> > >>>    data=0x2c31fa0) at PluginVC.cc:216
> > >>> #7  0x00000000007e0752 in Continuation::handleEvent (data=0x2c31fa0,
> > >> event=1, this=<optimized out>)
> > >>>    at I_Continuation.h:153
> > >>> #8  EThread::process_event (this=this@entry=0x2b8a4c707010,
> e=e@entry
> > =0x2c31fa0,
> > >> calling_code=1)
> > >>>    at UnixEThread.cc:148
> > >>> #9  0x00000000007e15d8 in EThread::execute (this=0x2b8a4c707010) at
> > >> UnixEThread.cc:202
> > >>> #10 0x00000000007e01d5 in spawn_thread_internal (a=0x27a24d0) at
> > >> Thread.cc:86
> > >>> #11 0x00002b8a42b176ba in start_thread (arg=0x2b8a4d312700) at
> > >> pthread_create.c:333
> > >>> #12 0x00002b8a438d93dd in clone () at
> > >> ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
> > >>> (gdb)
> > >>>
> > >>> 212   } else {
> > >>> 213     if (call_event == sm_lock_retry_event) {
> > >>> 214       sm_lock_retry_event = NULL;
> > >>> 215     } else {
> > >>> 216       ink_release_assert(call_event == core_lock_retry_event);
> > >>> 217       core_lock_retry_event = NULL;
> > >>> 218     }
> > >>> 219
> > >>>
> > >>> Process:            [ET_NET 0] [72]
> > >>> File:               /opt/trafficserver/bin/traffic_server
> > >>> Version:            Traffic Server 6.2.1
> > >>> System Version:     Linux x86_64 #1 SMP Wed Apr 12 15:04:24 UTC 2017
> > >> 3.10.0-514.16.1.el7.x86_64
> > >>> Date:               Sat, 29 Jul 2017 08:15:01 +0000
> > >>>
> > >>> No target signal information
> > >>>
> > >>> No target CPU registers
> > >>>
> > >>> Thread 136, [ET_NET 9]:
> > >>> 0    0x00000000004afb02 crash_logger_invoke(int, siginfo_t*, void*) +
> > >> 0x82
> > >>> 1    0x00002b8a42b21390 __restore_rt + (nil)
> > >>> 2    0x00002b8a43807428 gsignal + 0x38
> > >>> 3    0x00002b8a4380902a abort + 0x16a
> > >>> 4    0x00002b8a417d5adf ink_fatal_va(char const*, __va_list_tag*) +
> > 0x9f
> > >>> 5    0x00002b8a417d5b79 ink_fatal(char const*, ...) + 0x99
> > >>> 6    0x00002b8a417d3c35 _ink_assert + 0x15
> > >>> 7    0x00000000004fc68c PluginVC::main_handler(int, void*) + 0x5ac
> > >>> 8    0x00000000007e0752 EThread::process_event(Event*, int) + 0x92
> > >>> 9    0x00000000007e15d8 EThread::execute() + 0x808
> > >>> 10   0x00000000007e01d5 spawn_thread_internal(void*) + 0x55
> > >>> 11   0x00002b8a42b176ba start_thread + 0xca
> > >>> 12   0x00002b8a438d93dd clone + 0x6d
> > >>> 13   0x0000000000000000 0x0 + 0x6d
> > >>>
> > >>
> >
>

Reply via email to