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