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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions