bneradt opened a new issue, #10657: URL: https://github.com/apache/trafficserver/issues/10657
See: https://ci.trafficserver.apache.org/view/Github/job/Github_Builds/job/ubuntu/3018/consoleFull test_CacheDir crashes with a fair level of frequency in CI. I ssh'd into our CI and ran the test in gdb about a dozen or two times until it crashed. Here's the bt: ```gdb Thread 1 "CacheDir" received signal SIGSEGV, Segmentation fault. 0x0000555e7535065c in Continuation::handleEvent (this=0x555e774356e0, event=2, data=0x555e77414ac0) at /home/jenkins/trafficserver/include/iocore/eventsystem/Continuation.h:228 228 return (this->*handler)(event, data); (gdb) bt #0 0x0000555e7535065c in Continuation::handleEvent (this=0x555e774356e0, event=2, data=0x555e77414ac0) at /home/jenkins/trafficserver/include/iocore/eventsystem/Continuation.h:228 #1 0x0000555e757676f0 in EThread::process_event (this=0x7f629232e010, e=0x555e77414ac0, calling_code=2) at /home/jenkins/trafficserver/src/iocore/eventsystem/UnixEThread.cc:150 #2 0x0000555e75767d76 in EThread::execute_regular (this=0x7f629232e010) at /home/jenkins/trafficserver/src/iocore/eventsystem/UnixEThread.cc:255 #3 0x0000555e75768045 in EThread::execute (this=0x7f629232e010) at /home/jenkins/trafficserver/src/iocore/eventsystem/UnixEThread.cc:334 #4 0x0000555e7534fb86 in C_A_T_C_H_T_E_S_T_0 () at /home/jenkins/trafficserver/src/iocore/cache/unit_tests/test_CacheDir.cc:263 #5 0x0000555e75294bb3 in Catch::TestInvokerAsFunction::invoke (this=0x555e7739bc90) at /home/jenkins/trafficserver/lib/catch2/catch.hpp:14328 #6 0x0000555e7528f184 in Catch::TestCase::invoke (this=0x555e774275f0) at /home/jenkins/trafficserver/lib/catch2/catch.hpp:14167 #7 0x0000555e7528f0d1 in Catch::RunContext::invokeActiveTestCase (this=0x7fff76f997e0) at /home/jenkins/trafficserver/lib/catch2/catch.hpp:13027 #8 0x0000555e7528dd6b in Catch::RunContext::runCurrentTest (this=0x7fff76f997e0, redirectedCout="", redirectedCerr="") at /home/jenkins/trafficserver/lib/catch2/catch.hpp:13000 #9 0x0000555e7528d1e4 in Catch::RunContext::runTest (this=0x7fff76f997e0, testCase=...) at /home/jenkins/trafficserver/lib/catch2/catch.hpp:12761 #10 0x0000555e752918c5 in Catch::(anonymous namespace)::TestGroup::execute (this=0x7fff76f997d0) at /home/jenkins/trafficserver/lib/catch2/catch.hpp:13354 #11 0x0000555e75290efb in Catch::Session::runInternal (this=0x7fff76f99af0) at /home/jenkins/trafficserver/lib/catch2/catch.hpp:13560 #12 0x0000555e75290ce7 in Catch::Session::run (this=0x7fff76f99af0) at /home/jenkins/trafficserver/lib/catch2/catch.hpp:13516 #13 0x0000555e752c540a in Catch::Session::run<char> (this=0x7fff76f99af0, argc=1, argv=0x7fff76f99da8) at /home/jenkins/trafficserver/lib/catch2/catch.hpp:13238 #14 0x0000555e752a6d1f in main (argc=1, argv=0x7fff76f99da8) at /home/jenkins/trafficserver/lib/catch2/catch.hpp:17533 ``` Poking around a bit: ```gdb (gdb) set print pretty (gdb) f 0 #0 0x0000555e7535065c in Continuation::handleEvent (this=0x555e774356e0, event=2, data=0x555e77414ac0) at /home/jenkins/trafficserver/include/iocore/eventsystem/Continuation.h:228 228 return (this->*handler)(event, data); (gdb) p *this $2 = { <force_VFPT_to_top> = { _vptr$force_VFPT_to_top = 0x555b22a42265 }, members of Continuation: handler = (int (Continuation::*)(Continuation * const, int, void *)) 0x96ba49dcfabc67ae, handler_name = 0x555e75787b74 "&CacheInit::start_event", mutex = { m_ptr = 0x555e7740dcd0 }, link = { <SLink<Continuation>> = { next = 0x0 }, members of Link<Continuation>: prev = 0x0 }, control_flags = { raw_flags = 0 }, thread_affinity = 0x0 } (gdb) p event $3 = 2 (gdb) x/a data 0x555e77414ac0: 0x555e7597a3e0 <_ZTV5Event+16> (gdb) p *(Event*)data $5 = { <Action> = { _vptr$Action = 0x555e7597a3e0 <vtable for Event+16>, continuation = 0x555e774356e0, mutex = { m_ptr = 0x555e7740dcd0 }, cancelled = false }, members of Event: ethread = 0x7f629232e010, in_the_prot_queue = 0, in_the_priority_queue = 0, immediate = 0, globally_allocated = 0, in_heap = 0, callback_event = 2, timeout_at = 1697940456444999986, period = 0, cookie = 0x0, link = { <SLink<Event>> = { next = 0x0 }, members of Link<Event>: prev = 0x0 } } ``` The issue seems to be that somehow the handler is pointing to a garbage address: ```gdb (gdb) p this->handler $9 = (int (Continuation::*)(Continuation * const, int, void *)) 0x96ba49dcfabc67ae (gdb) x/a 0x96ba49dcfabc67ae 0x96ba49dcfabc67ae: Cannot access memory at address 0x96ba49dcfabc67ae ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
