Skip to content

Crash in HandleCacheOpenReadHit  #4009

@randall

Description

@randall

With pull #3987, we started seeing this crash. Reverting that patch, the crash has no longer occurred.

 frame #0: 0x00002b9fd1bd786d libc.so.6`__libc_waitpid + 93
 frame #1: 0x00005557795640e4 traffic_server`crash_logger_invoke(signo=11, info=0x00002b9fd710b2f0, ctx=0x00002b9fd710b1c0) at Crash.cc:164
 frame #2: 0x00002b9fd1b5d510 libc.so.6`___lldb_unnamed_symbol1$$libc.so.6 + 1
 frame #3: 0x00005557796701c8 traffic_server`HttpTransact::HandleCacheOpenReadHit(s=0x00002b9fdadc81d0) at HttpTransact.cc:2600
 frame #4: 0x000055577964083b traffic_server`HttpSM::call_transact_and_set_next_state(this=0x00002b9fdadc8160, f=<unavailable>)(HttpTransact::State*)) at HttpSM.cc:7209
 frame #5: 0x0000555779645b32 traffic_server`HttpSM::state_api_callout(this=0x00002b9fdadc8160, event=<unavailable>, data=<unavailable>) at HttpSM.cc:0
 frame #6: 0x00005557796598bf traffic_server`HttpSM::set_next_state() [inlined] HttpSM::do_api_callout_internal(this=<unavailable>) at HttpSM.cc:5164
 frame #7: 0x000055577965989d traffic_server`HttpSM::set_next_state() [inlined] HttpSM::do_api_callout(this=<unavailable>) at HttpSM.cc:436
 frame #8: 0x000055577965989d traffic_server`HttpSM::set_next_state(this=0x00002b9fdadc8160) at HttpSM.cc:7250
 frame #9: 0x0000555779640850 traffic_server`HttpSM::call_transact_and_set_next_state(this=0x00002b9fdadc8160, f=<unavailable>)(HttpTransact::State*)) at HttpSM.cc:7217
 frame #10: 0x000055577964d3c6 traffic_server`HttpSM::state_hostdb_lookup(this=0x00002b9fdadc8160, event=500, data=0x00002b9fda076e00) at HttpSM.cc:0
 frame #11: 0x000055577963dcde traffic_server`HttpSM::main_handler(this=0x00002b9fdadc8160, event=500, data=0x00002b9fda076e00) at HttpSM.cc:0
 frame #12: 0x000055577971a026 traffic_server`HostDBProcessor::getby(Continuation*, char const*, int, sockaddr const*, bool, HostResStyle, int) [inlined] ink_mutex_release(pthread_mutex_t*) at ink_mutex.h:98
 frame #13: 0x000055577971a020 traffic_server`HostDBProcessor::getby(Continuation*, char const*, int, sockaddr const*, bool, HostResStyle, int) [inlined] Mutex_unlock(m=<unavailable>, t=<unavailable>) at I_Lock.h:465
 frame #14: 0x0000555779719ffb traffic_server`HostDBProcessor::getby(Continuation*, char const*, int, sockaddr const*, bool, HostResStyle, int) [inlined] MutexTryLock::~MutexTryLock() at I_Lock.h:592
 frame #15: 0x0000555779719ff7 traffic_server`HostDBProcessor::getby(this=<unavailable>, cont=<unavailable>, hostname="", len=<unavailable>, ip=0x00002b9fda07dff0, aforce_dns=<unavailable>, host_res_style=-637047296, dns_lookup_timeout=0) at HostDB.cc:641
 frame #16: 0x000055577971ffd6 traffic_server`HostDBContinuation::dnsEvent(int, HostEnt*) [inlined] int ink_atomic_increment<int, int>(mem=<unavailable>, count=1) at ink_atomic.h:94
 frame #17: 0x000055577971ffd2 traffic_server`HostDBContinuation::dnsEvent(int, HostEnt*) [inlined] RefCountObj::refcount_inc(this=<unavailable>) at Ptr.h:66
 frame #18: 0x000055577971ffd2 traffic_server`HostDBContinuation::dnsEvent(int, HostEnt*) [inlined] Ptr<ProxyMutex>::operator=(p=<unavailable>) at Ptr.h:225
 frame #19: 0x000055577971ffc1 traffic_server`HostDBContinuation::dnsEvent(int, HostEnt*) [inlined] Ptr<ProxyMutex>::operator=(Ptr<ProxyMutex> const&) at Ptr.h:250
 frame #20: 0x000055577971ffc1 traffic_server`HostDBContinuation::dnsEvent(int, HostEnt*) [inlined] EThread::schedule(this=<unavailable>, fast_signal=false) at P_UnixEThread.h:89
 frame #21: 0x000055577971ffb0 traffic_server`HostDBContinuation::dnsEvent(int, HostEnt*) [inlined] EThread::schedule_in(this=<unavailable>, t=20000000, callback_event=2) at P_UnixEThread.h:71
 frame #22: 0x000055577971ff1c traffic_server`HostDBContinuation::dnsEvent(this=<unavailable>, event=<unavailable>, e=<unavailable>) at HostDB.cc:1439
 frame #23: 0x000055577973b71a traffic_server`DNSEntry::post(DNSHandler*, HostEnt*) [inlined] SourceLocation::SourceLocation(this=<unavailable>, _file=<unavailable>, _line=1254) at SourceLocation.h:46
 frame #24: 0x000055577973b701 traffic_server`DNSEntry::post(this=0x00002b9fd3551050, h=<unavailable>, ent=<unavailable>) at DNS.cc:1254
 frame #25: 0x00005557797ea5a2 traffic_server`EThread::is_event_type(this=<unavailable>, et=<unavailable>) at UnixEThread.cc:117
 frame #26: 0x000055577983e8f3 traffic_server
 frame #27: 0x00005557797ea854 traffic_server`EThread::process_event(Event*, int) [inlined] DLL<Event, Event::Link_link>::push(e=<unavailable>) at List.h:269
 frame #28: 0x00005557797ea851 traffic_server`EThread::process_event(Event*, int) [inlined] Queue<Event, Event::Link_link>::push(Event*) at List.h:357
 frame #29: 0x00005557797ea851 traffic_server`EThread::process_event(Event*, int) [inlined] Queue<Event, Event::Link_link>::enqueue(Event*) at List.h:435
 frame #30: 0x00005557797ea851 traffic_server`EThread::process_event(Event*, int) [inlined] ProtectedQueue::enqueue_local(this=<unavailable>, e=<unavailable>) at P_ProtectedQueue.h:71
 frame #31: 0x00005557797ea851 traffic_server`EThread::process_event(this=0x00002b9fd3551050, e=0x00002b9fda876680, calling_code=-749399984) at UnixEThread.cc:133
 frame #32: 0x00005557797eabcb traffic_server`EThread::process_queue(Queue<Event, Event::Link_link>*) [inlined] DLL<Event, Event::Link_link>::pop(this=<unavailable>) at List.h:293
 frame #33: 0x00005557797eabc6 traffic_server`EThread::process_queue(Queue<Event, Event::Link_link>*) [inlined] Queue<Event, Event::Link_link>::pop(this=<unavailable>) at List.h:366
 frame #34: 0x00005557797eabc6 traffic_server`EThread::process_queue(Queue<Event, Event::Link_link>*) [inlined] Queue<Event, Event::Link_link>::dequeue(this=<unavailable>) at List.h:450
 frame #35: 0x00005557797eabc6 traffic_server`EThread::process_queue(Queue<Event, Event::Link_link>*) [inlined] ProtectedQueue::dequeue_local(this=<unavailable>) at P_ProtectedQueue.h:86
 frame #36: 0x00005557797eabc6 traffic_server`EThread::process_queue(this=0x00005557797ea854, NegativeQueue=0x00002b9fd400dc00) at UnixEThread.cc:170
 frame #37: 0x00005557797e9cc7 traffic_server`Thread::Thread() [inlined] Ptr<ProxyMutex>::~Ptr(this=<unavailable>) at Ptr.h:0
 frame #38: 0x00005557797e9cac traffic_server`Thread::Thread(this=0x0000000000000000) at Thread.cc:48
 frame #39: 0x00002b9fd1ec6aa1 libpthread.so.0`start_thread + 209
 frame #40: 0x00002b9fd1c13bcd libc.so.6`clone + 109

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions