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