-
Notifications
You must be signed in to change notification settings - Fork 844
TS-2584 Fix failed assert transforming and caching negative responses #44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I'm not confident that this change is correct. The root cause of the assertion seems to be that I would also like to understand why Finally, it sounds like it should be simple to write a test for this in the |
|
@SolidWallOfCode should review this. |
|
I will get to this this week. |
|
It seems to me there are two effecrive changes for this. The first minor one is that the response can be set earlier in the method. The more concerning one is that whether the response is set at all for negative caching. If the info is valid on entry then it won't be, but if the entry isn't set then it will be. Presumably the difference is that the transform is never valid on entry. The big question is whether setting the response can be a problem. |
|
Can this be closed ? |
…irGet Doc: Translate reference/api/TSInstallDirGet
(gdb) bt #0 0x000000000058e4db in _acquire_session (bucket=0x11c0, ip=0x2ae24f9006d0, hostname_hash=..., sm=0x2ae24f900000) at HttpSessionManager.cc:234 apache#1 0x000000000058e97b in HttpSessionManager::acquire_session (this=0xc77b60 <httpSessionManager>, cont=0x2ae24f900000, ip=0x2ae24f9006d0, hostname=0x2ae24fa80019 "127.0.0.1", ua_session=0x2ae243e60000, sm=0x2ae24f900000) at HttpSessionManager.cc:317 apache#2 0x000000000059d960 in HttpSM::do_http_server_open (this=0x2ae24f900000, raw=false) at HttpSM.cc:4587 apache#3 0x00000000005a5421 in HttpSM::set_next_state (this=0x2ae24f900000) at HttpSM.cc:7091 apache#4 0x00000000005a4941 in HttpSM::call_transact_and_set_next_state (this=0x2ae24f900000, f=0x0) at HttpSM.cc:6925 apache#5 0x00000000005969f3 in HttpSM::state_cache_open_write (this=0x2ae24f900000, event=1108, data=0x2ae243ee0000) at HttpSM.cc:2564 apache#6 0x0000000000597228 in HttpSM::main_handler (this=0x2ae24f900000, event=1108, data=0x2ae243ee0000) at HttpSM.cc:2683 apache#7 0x000000000050a288 in Continuation::handleEvent (this=0x2ae24f900000, event=1108, data=0x2ae243ee0000) at ../iocore/eventsystem/I_Continuation.h:146 apache#8 0x000000000057f7e6 in HttpCacheSM::state_cache_open_write (this=0x2ae24f901808, event=1108, data=0x2ae243ee0000) at HttpCacheSM.cc:180 apache#9 0x000000000050a288 in Continuation::handleEvent (this=0x2ae24f901808, event=1108, data=0x2ae243ee0000) at ../iocore/eventsystem/I_Continuation.h:146 apache#10 0x00000000006fdf28 in CacheVC::callcont (this=0x2ae243ee0000, event=1108) at P_CacheInternal.h:837 apache#11 0x00000000007058b3 in Cache::open_write (this=0x835e160, cont=0x2ae24f901808, key=0x2ae1bf337ea0, info=0x0, apin_in_cache=0, key1=0x0, type=CACHE_FRAG_TYPE_HTTP, hostname=0x2ae24f88000b "127.0.0.1:57890/synthetic.txt HTTP/1.0\r\n\r\n", host_len=9) at CacheWrite.cc:1823 apache#12 0x00000000006df28a in Cache::open_write (this=0x835e160, cont=0x2ae24f901808, url=0x2ae24f900750, request=0x2ae24f900738, old_info=0x0, pin_in_cache=0, type=CACHE_FRAG_TYPE_HTTP) at P_CacheInternal.h:1281 apache#13 0x00000000006db86c in CacheProcessor::open_write (this=0x11b56e0 <cacheProcessor>, cont=0x2ae24f901808, expected_size=0, url=0x2ae24f900750, cluster_cache_local=true, request=0x2ae24f900738, old_info=0x0, pin_in_cache=0, type=CACHE_FRAG_TYPE_HTTP) at Cache.cc:3991 apache#14 0x000000000057fc9b in HttpCacheSM::open_write (this=0x2ae24f901808, url=0x2ae24f900750, request=0x2ae24f900738, old_info=0x0, pin_in_cache=0, retry=true, allow_multiple=false) at HttpCacheSM.cc:335 apache#15 0x000000000059d2d9 in HttpSM::do_cache_prepare_action (this=0x2ae24f900000, c_sm=0x2ae24f901808, object_read_info=0x0, retry=true, allow_multiple=false) at HttpSM.cc:4490 apache#16 0x00000000005ab9da in HttpSM::do_cache_prepare_write (this=0x2ae24f900000) at HttpSM.cc:4404 apache#17 0x00000000005a57d5 in HttpSM::set_next_state (this=0x2ae24f900000) at HttpSM.cc:7179 apache#18 0x00000000005a4941 in HttpSM::call_transact_and_set_next_state (this=0x2ae24f900000, f=0x0) at HttpSM.cc:6925 apache#19 0x0000000000593e8f in HttpSM::handle_api_return (this=0x2ae24f900000) at HttpSM.cc:1611 apache#20 0x000000000059e298 in HttpSM::do_api_callout_internal (this=0x2ae24f900000) at HttpSM.cc:4783 apache#21 0x00000000005ab93c in HttpSM::do_api_callout (this=0x2ae24f900000) at HttpSM.cc:576 apache#22 0x00000000005ab97e in HttpSM::setup_cache_lookup_complete_api (this=0x2ae24f900000) at HttpSM.cc:2573 apache#23 0x0000000000596e95 in HttpSM::state_cache_open_read (this=0x2ae24f900000, event=1103, data=0xffffffffffffb050) at HttpSM.cc:2630 apache#24 0x0000000000597228 in HttpSM::main_handler (this=0x2ae24f900000, event=1103, data=0xffffffffffffb050) at HttpSM.cc:2683 apache#25 0x000000000050a288 in Continuation::handleEvent (this=0x2ae24f900000, event=1103, data=0xffffffffffffb050) at ../iocore/eventsystem/I_Continuation.h:146 apache#26 0x000000000057f61d in HttpCacheSM::state_cache_open_read (this=0x2ae24f901808, event=1103, data=0xffffffffffffb050) at HttpCacheSM.cc:145 apache#27 0x000000000050a288 in Continuation::handleEvent (this=0x2ae24f901808, event=1103, data=0xffffffffffffb050) at ../iocore/eventsystem/I_Continuation.h:146 apache#28 0x00000000006f8415 in Cache::open_read (this=0x835e160, cont=0x2ae24f901808, key=0x2ae1bf3385b0, request=0x2ae24f900738, params=0x2ae24f900108, type=CACHE_FRAG_TYPE_HTTP, hostname=0x2ae24f88000b "127.0.0.1:57890/synthetic.txt HTTP/1.0\r\n\r\n", host_len=9) at CacheRead.cc:162 apache#29 0x00000000006df1f9 in Cache::open_read (this=0x835e160, cont=0x2ae24f901808, url=0x2ae24f900750, request=0x2ae24f900738, params=0x2ae24f900108, type=CACHE_FRAG_TYPE_HTTP) at P_CacheInternal.h:1262 apache#30 0x00000000006db738 in CacheProcessor::open_read (this=0x11b56e0 <cacheProcessor>, cont=0x2ae24f901808, url=0x2ae24f900750, cluster_cache_local=1, request=0x2ae24f900738, params=0x2ae24f900108, pin_in_cache=0, type=CACHE_FRAG_TYPE_HTTP) at Cache.cc:3967 apache#31 0x000000000057f969 in HttpCacheSM::do_cache_open_read (this=0x2ae24f901808) at HttpCacheSM.cc:233 apache#32 0x000000000057fa55 in HttpCacheSM::open_read (this=0x2ae24f901808, url=0x2ae24f900750, hdr=0x2ae24f900738, params=0x2ae24f900108, pin_in_cache=0) at HttpCacheSM.cc:265 apache#33 0x000000000059ccf2 in HttpSM::do_cache_lookup_and_read (this=0x2ae24f900000) at HttpSM.cc:4349 apache#34 0x00000000005a5264 in HttpSM::set_next_state (this=0x2ae24f900000) at HttpSM.cc:7055 apache#35 0x00000000005a4941 in HttpSM::call_transact_and_set_next_state (this=0x2ae24f900000, f=0x0) at HttpSM.cc:6925 apache#36 0x0000000000593e8f in HttpSM::handle_api_return (this=0x2ae24f900000) at HttpSM.cc:1611 apache#37 0x000000000059e298 in HttpSM::do_api_callout_internal (this=0x2ae24f900000) at HttpSM.cc:4783 apache#38 0x00000000005ab93c in HttpSM::do_api_callout (this=0x2ae24f900000) at HttpSM.cc:576 apache#39 0x00000000005a49b0 in HttpSM::set_next_state (this=0x2ae24f900000) at HttpSM.cc:6959 apache#40 0x00000000005a4941 in HttpSM::call_transact_and_set_next_state (this=0x2ae24f900000, f=0x0) at HttpSM.cc:6925 apache#41 0x0000000000595ff6 in HttpSM::state_hostdb_reverse_lookup (this=0x2ae24f900000, event=500, data=0x0) at HttpSM.cc:2313 apache#42 0x0000000000597228 in HttpSM::main_handler (this=0x2ae24f900000, event=500, data=0x0) at HttpSM.cc:2683 apache#43 0x000000000050a288 in Continuation::handleEvent (this=0x2ae24f900000, event=500, data=0x0) at ../iocore/eventsystem/I_Continuation.h:146 apache#44 0x000000000067399e in HostDBContinuation::probeEvent (this=0x2ae24fb48000, event=1, e=0x2ae1bff5bf60) at HostDB.cc:2018 apache#45 0x000000000050a288 in Continuation::handleEvent (this=0x2ae24fb48000, event=1, data=0x2ae1bff5bf60) at ../iocore/eventsystem/I_Continuation.h:146 apache#46 0x000000000074758d in EThread::process_event (this=0x2ae1bf13a010, e=0x2ae1bff5bf60, calling_code=1) at UnixEThread.cc:142 apache#47 0x000000000074775e in EThread::execute (this=0x2ae1bf13a010) at UnixEThread.cc:193 apache#48 0x0000000000746820 in spawn_thread_internal (a=0x2a168d0) at Thread.cc:88 apache#49 0x00002ae1a6ab7df5 in start_thread () from /lib64/libpthread.so.0 apache#50 0x00002ae1a96d71ad in clone () from /lib64/libc.so.6
Add API and fix logic for TS_SSL_VERIFY_*_HOOK.
No description provided.