You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@trafficserver.apache.org by GitBox <gi...@apache.org> on 2021/03/09 02:38:14 UTC

[GitHub] [trafficserver] shinrich opened a new pull request #7585: Fix double test crash

shinrich opened a new pull request #7585:
URL: https://github.com/apache/trafficserver/pull/7585


   I was getting the double test to crash for me fairly consistently with the following stack.  This was running with debug enabled.  It appears that the captive_action (the action object returned for the open_read and open_write actions) had been canceled from a previous open attempt.  Adding logic to the open_write that cleared the cancel bit up from as it does for open_read fixed the issue.
   
   @SolidWallOfCode thinks the issue was introduced by possibility of open write retries in PR #6053
   
   ```
   #0  0x00002aac8856e3d7 in raise () from /lib64/libc.so.6
   #1  0x00002aac8856fac8 in abort () from /lib64/libc.so.6
   #2  0x00002aac85ae40c8 in ink_abort (message_format=0x2aac85b51e78 "%s:%d: failed assertion `%s`") at ink_error.cc:99
   #3  0x00002aac85adfd11 in _ink_assert (expression=0xa1507e "captive_action.cancelled == 0", file=0xa14ff8 "HttpCacheSM.cc", line=161) at ink_assert.cc:37
   #4  0x0000000000788aaf in HttpCacheSM::state_cache_open_write (this=0x2aacb3086638, event=1109, data=0xffffffffffffb04f) at HttpCacheSM.cc:161
   #5  0x000000000066b737 in Continuation::handleEvent (this=0x2aacb3086638, event=1109, data=0xffffffffffffb04f) at /home/shinrich/vtrafficserver9/iocore/eventsystem/I_Continuation.h:167
   #6  0x00000000008e5c95 in Cache::open_write (this=0x2aac96cf3990, cont=0x2aacb3086638, key=0x2aac9260a790, info=0x0, apin_in_cache=0, type=CACHE_FRAG_TYPE_HTTP, 
       hostname=0x2aac8d5a8831 "127.0.0.12009http127.0.0.1:2009http://127.0.0.1:2009/", host_len=9) at CacheWrite.cc:1829
   #7  0x00000000008b26e6 in CacheProcessor::open_write (this=0xf10d80 <cacheProcessor>, cont=0x2aacb3086638, expected_size=0, key=0x2aac9260a780, request=0x2aacb3085018, old_info=0x0, pin_in_cache=0, 
       type=CACHE_FRAG_TYPE_HTTP) at Cache.cc:3254
   #8  0x000000000078995d in HttpCacheSM::open_write (this=0x2aacb3086638, key=0x2aac9260a780, url=0x2aacb3085030, request=0x2aacb3085018, old_info=0x0, pin_in_cache=0, retry=true, allow_multiple=false)
       at HttpCacheSM.cc:363
   #9  0x00000000007185aa in HttpSM::do_cache_prepare_action (this=0x2aacb3084860, c_sm=0x2aacb3086638, object_read_info=0x0, retry=true, allow_multiple=false) at HttpSM.cc:4723
   #10 0x000000000072df04 in HttpSM::do_cache_prepare_write (this=0x2aacb3084860) at HttpSM.cc:4650
   #11 0x0000000000725c15 in HttpSM::set_next_state (this=0x2aacb3084860) at HttpSM.cc:7576
   #12 0x000000000072465d in HttpSM::call_transact_and_set_next_state (this=0x2aacb3084860, f=0x0) at HttpSM.cc:7301
   #13 0x00000000007083d5 in HttpSM::handle_api_return (this=0x2aacb3084860) at HttpSM.cc:1614
   #14 0x00000000007080cb in HttpSM::state_api_callout (this=0x2aacb3084860, event=0, data=0x0) at HttpSM.cc:1546
   #15 0x000000000071b18f in HttpSM::do_api_callout_internal (this=0x2aacb3084860) at HttpSM.cc:5239
   #16 0x000000000072dceb in HttpSM::do_api_callout (this=0x2aacb3084860) at HttpSM.cc:353
   #17 0x00000000007246e6 in HttpSM::set_next_state (this=0x2aacb3084860) at HttpSM.cc:7335
   #18 0x000000000072465d in HttpSM::call_transact_and_set_next_state (this=0x2aacb3084860, f=0x0) at HttpSM.cc:7301
   #19 0x0000000000724c67 in HttpSM::set_next_state (this=0x2aacb3084860) at HttpSM.cc:7380
   #20 0x000000000072465d in HttpSM::call_transact_and_set_next_state (this=0x2aacb3084860, f=0x0) at HttpSM.cc:7301
   #21 0x00000000007083d5 in HttpSM::handle_api_return (this=0x2aacb3084860) at HttpSM.cc:1614
   #22 0x00000000007080cb in HttpSM::state_api_callout (this=0x2aacb3084860, event=0, data=0x0) at HttpSM.cc:1546
   #23 0x000000000071b18f in HttpSM::do_api_callout_internal (this=0x2aacb3084860) at HttpSM.cc:5239
   #24 0x000000000072dceb in HttpSM::do_api_callout (this=0x2aacb3084860) at HttpSM.cc:353
   #25 0x000000000072de74 in HttpSM::setup_cache_lookup_complete_api (this=0x2aacb3084860) at HttpSM.cc:2508
   #26 0x000000000070dd0a in HttpSM::state_cache_open_read (this=0x2aacb3084860, event=1103, data=0xffffffffffffb050) at HttpSM.cc:2570
   #27 0x000000000070e177 in HttpSM::main_handler (this=0x2aacb3084860, event=1103, data=0xffffffffffffb050) at HttpSM.cc:2612
   #28 0x000000000066b737 in Continuation::handleEvent (this=0x2aacb3084860, event=1103, data=0xffffffffffffb050) at /home/shinrich/vtrafficserver9/iocore/eventsystem/I_Continuation.h:167
   #29 0x000000000078874e in HttpCacheSM::state_cache_open_read (this=0x2aacb3086638, event=1103, data=0xffffffffffffb050) at HttpCacheSM.cc:133
   #30 0x000000000066b737 in Continuation::handleEvent (this=0x2aacb3086638, event=1103, data=0xffffffffffffb050) at /home/shinrich/vtrafficserver9/iocore/eventsystem/I_Continuation.h:167
   #31 0x00000000008ce55d in CacheVC::openReadFromWriterFailure (this=0x2aac991a1bd0, event=1103, e=0xffffffffffffb050) at CacheRead.cc:189
   #32 0x00000000008cf1f1 in CacheVC::openReadFromWriter (this=0x2aac991a1bd0, event=2, e=0x2aac8a96d4e0) at CacheRead.cc:338
   #33 0x000000000066b737 in Continuation::handleEvent (this=0x2aac991a1bd0, event=2, data=0x2aac8a96d4e0) at /home/shinrich/vtrafficserver9/iocore/eventsystem/I_Continuation.h:167
   #34 0x00000000009d41a1 in EThread::process_event (this=0x2aac8d1320c0, e=0x2aac8a96d4e0, calling_code=2) at UnixEThread.cc:132
   #35 0x00000000009d4765 in EThread::execute_regular (this=0x2aac8d1320c0) at UnixEThread.cc:241
   #36 0x00000000009d4aa5 in EThread::execute (this=0x2aac8d1320c0) at UnixEThread.cc:332
   #37 0x00000000009d32d3 in spawn_thread_internal (a=0x2aac893d9fc0) at Thread.cc:92
   #38 0x00002aac878ffea5 in start_thread () from /lib64/libpthread.so.0
   #39 0x00002aac886369fd in clone () from /lib64/libc.so.6
   ```


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

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] bryancall commented on pull request #7585: Fix double test crash

Posted by GitBox <gi...@apache.org>.
bryancall commented on pull request #7585:
URL: https://github.com/apache/trafficserver/pull/7585#issuecomment-797082812


   @sudheerv Can you please take a look at this?


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

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] shinrich closed pull request #7585: Fix double test crash

Posted by GitBox <gi...@apache.org>.
shinrich closed pull request #7585:
URL: https://github.com/apache/trafficserver/pull/7585


   


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

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] shinrich commented on pull request #7585: Fix double test crash

Posted by GitBox <gi...@apache.org>.
shinrich commented on pull request #7585:
URL: https://github.com/apache/trafficserver/pull/7585#issuecomment-849127215


   I'm going to close this one. In #7807 @maskit and I reworked this captive_action logic.  If there is still a problem, it is probably different by now.


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

For queries about this service, please contact Infrastructure at:
users@infra.apache.org