Skip to content

Assertion in HttpCacheSM captive_action.cancelled == 0 #7705

Description

@maskit

I realized that an assertion below fails on my laptop while I was running h2spec. Reverting #7667 solves the issue, but I'm not sure how it is related.

Fatal: HttpCacheSM.cc:161: failed assertion `captive_action.cancelled == 0`
2021-04-13 11:33:40.743573+0900 traffic_server[76017:10095094] Fatal: HttpCacheSM.cc:161: failed assertion `captive_action.cancelled == 0`
Process 76017 stopped
* thread #3, name = '[ET_NET 1]', stop reason = signal SIGABRT
    frame #0: 0x00007fff2037a462 libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill:
->  0x7fff2037a462 <+10>: jae    0x7fff2037a46c            ; <+20>
    0x7fff2037a464 <+12>: movq   %rax, %rdi
    0x7fff2037a467 <+15>: jmp    0x7fff203746a1            ; cerror_nocancel
    0x7fff2037a46c <+20>: retq   
Target 0: (traffic_server) stopped.
(lldb) bt
* thread #3, name = '[ET_NET 1]', stop reason = signal SIGABRT
  * frame #0: 0x00007fff2037a462 libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff203a8610 libsystem_pthread.dylib`pthread_kill + 263
    frame #2: 0x00007fff202fb720 libsystem_c.dylib`abort + 120
    frame #3: 0x0000000103a2ac8a libtscore.10.dylib`ink_abort(message_format="%s:%d: failed assertion `%s`") at ink_error.cc:99:3
    frame #4: 0x0000000103a20727 libtscore.10.dylib`::_ink_assert(expression="captive_action.cancelled == 0", file="HttpCacheSM.cc", line=161) at ink_assert.cc:37:3
    frame #5: 0x00000001001f58e9 traffic_server`HttpCacheSM::state_cache_open_write(this=0x0000000110ea2c30, event=1109, data=0xffffffffffffb04f) at HttpCacheSM.cc:161:3
    frame #6: 0x000000010000aab5 traffic_server`Continuation::handleEvent(this=0x0000000110ea2c30, event=1109, data=0xffffffffffffb04f) at I_Continuation.h:219:12
    frame #7: 0x0000000100b1b78c traffic_server`Cache::open_write(this=0x00006040001cbf10, cont=0x0000000110ea2c30, key=0x000000010a3ccd90, info=0x0000000000000000, apin_in_cache=0, (null)=0x0000000000000000, type=CACHE_FRAG_TYPE_HTTP, hostname="127.0.0.112345http127.0.0.1:12345http://127.0.0.1:12345/", host_len=9) at CacheWrite.cc:1859:9
    frame #8: 0x0000000100a07f34 traffic_server`CacheProcessor::open_write(this=0x0000000101b138a0, cont=0x0000000110ea2c30, expected_size=0, key=0x000000010a3ccd80, request=0x0000000110ea1630, old_info=0x0000000000000000, pin_in_cache=0, type=CACHE_FRAG_TYPE_HTTP) at Cache.cc:3254:24
    frame #9: 0x00000001001f8373 traffic_server`HttpCacheSM::open_write(this=0x0000000110ea2c30, key=0x000000010a3ccd80, url=0x0000000110ea1648, request=0x0000000110ea1630, old_info=0x0000000000000000, pin_in_cache=0, retry=true, allow_multiple=false) at HttpCacheSM.cc:363:20
    frame #10: 0x000000010034edd6 traffic_server`HttpSM::do_cache_prepare_action(this=0x0000000110ea0e80, c_sm=0x0000000110ea2c30, object_read_info=0x0000000000000000, retry=true, allow_multiple=false) at HttpSM.cc:4783:11
    frame #11: 0x000000010036202c traffic_server`HttpSM::do_cache_prepare_write(this=0x0000000110ea0e80) at HttpSM.cc:4712:3
    frame #12: 0x0000000100360b9e traffic_server`HttpSM::set_next_state(this=0x0000000110ea0e80) at HttpSM.cc:7625:5
    frame #13: 0x00000001002e7ff3 traffic_server`HttpSM::call_transact_and_set_next_state(this=0x0000000110ea0e80, f=0x0000000000000000)(HttpTransact::State*)) at HttpSM.cc:7350:3
    frame #14: 0x00000001003017c6 traffic_server`HttpSM::handle_api_return(this=0x0000000110ea0e80) at HttpSM.cc:1686:5
    frame #15: 0x00000001002ff0da traffic_server`HttpSM::state_api_callout(this=0x0000000110ea0e80, event=0, data=0x0000000000000000) at HttpSM.cc:1618:5
    frame #16: 0x0000000100352683 traffic_server`HttpSM::do_api_callout_internal(this=0x0000000110ea0e80) at HttpSM.cc:5292:10
    frame #17: 0x00000001002dbc3d traffic_server`HttpSM::do_api_callout(this=0x0000000110ea0e80) at HttpSM.cc:434:12
    frame #18: 0x000000010035d0bc traffic_server`HttpSM::set_next_state(this=0x0000000110ea0e80) at HttpSM.cc:7384:5
    frame #19: 0x00000001002e7ff3 traffic_server`HttpSM::call_transact_and_set_next_state(this=0x0000000110ea0e80, f=0x0000000000000000)(HttpTransact::State*)) at HttpSM.cc:7350:3
    frame #20: 0x000000010035dda1 traffic_server`HttpSM::set_next_state(this=0x0000000110ea0e80) at HttpSM.cc:7429:7
    frame #21: 0x00000001002e7ff3 traffic_server`HttpSM::call_transact_and_set_next_state(this=0x0000000110ea0e80, f=0x0000000000000000)(HttpTransact::State*)) at HttpSM.cc:7350:3
    frame #22: 0x00000001003017c6 traffic_server`HttpSM::handle_api_return(this=0x0000000110ea0e80) at HttpSM.cc:1686:5
    frame #23: 0x00000001002ff0da traffic_server`HttpSM::state_api_callout(this=0x0000000110ea0e80, event=0, data=0x0000000000000000) at HttpSM.cc:1618:5
    frame #24: 0x0000000100352683 traffic_server`HttpSM::do_api_callout_internal(this=0x0000000110ea0e80) at HttpSM.cc:5292:10
    frame #25: 0x00000001002dbc3d traffic_server`HttpSM::do_api_callout(this=0x0000000110ea0e80) at HttpSM.cc:434:12
    frame #26: 0x000000010032b887 traffic_server`HttpSM::setup_cache_lookup_complete_api(this=0x0000000110ea0e80) at HttpSM.cc:2585:3
    frame #27: 0x000000010032b6d5 traffic_server`HttpSM::state_cache_open_read(this=0x0000000110ea0e80, event=1103, data=0xffffffffffffb04f) at HttpSM.cc:2647:5
    frame #28: 0x00000001002da869 traffic_server`HttpSM::main_handler(this=0x0000000110ea0e80, event=1103, data=0xffffffffffffb04f) at HttpSM.cc:2689:5
    frame #29: 0x000000010000aab5 traffic_server`Continuation::handleEvent(this=0x0000000110ea0e80, event=1103, data=0xffffffffffffb04f) at I_Continuation.h:219:12
    frame #30: 0x00000001001f455b traffic_server`HttpCacheSM::state_cache_open_read(this=0x0000000110ea2c30, event=1103, data=0xffffffffffffb04f) at HttpCacheSM.cc:128:20
    frame #31: 0x000000010000aab5 traffic_server`Continuation::handleEvent(this=0x0000000110ea2c30, event=1103, data=0xffffffffffffb04f) at I_Continuation.h:219:12
    frame #32: 0x0000000100abaf4c traffic_server`CacheVC::openReadFromWriterFailure(this=0x0000000110eccb60, event=1103, e=0xffffffffffffb04f) at CacheRead.cc:189:25
    frame #33: 0x0000000100ab395d traffic_server`CacheVC::openReadFromWriter(this=0x0000000110eccb60, event=2, e=0x000062c000005140) at CacheRead.cc:348:16
    frame #34: 0x000000010000aab5 traffic_server`Continuation::handleEvent(this=0x0000000110eccb60, event=2, data=0x000062c000005140) at I_Continuation.h:219:12
    frame #35: 0x0000000101019454 traffic_server`EThread::process_event(this=0x0000000109e14800, e=0x000062c000005140, calling_code=2) at UnixEThread.cc:164:22
    frame #36: 0x000000010101ae4a traffic_server`EThread::execute_regular(this=0x0000000109e14800) at UnixEThread.cc:273:11
    frame #37: 0x000000010101c553 traffic_server`EThread::execute(this=0x0000000109e14800) at UnixEThread.cc:364:11
    frame #38: 0x0000000101016a5b traffic_server`spawn_thread_internal(a=0x0000607000007fe0) at Thread.cc:92:12
    frame #39: 0x00007fff203a8950 libsystem_pthread.dylib`_pthread_start + 224
    frame #40: 0x00007fff203a447b libsystem_pthread.dylib`thread_start + 15

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

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