[ https://issues.apache.org/jira/browse/TS-844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13076013#comment-13076013 ]
John Plevyak commented on TS-844: --------------------------------- I'd like to know what the top of the stack looked like and also what "fail" means in this context. The patch is safe in the sense that it is conservative, but if a write has been closed, but not yet been written into the aggregation buffer, this patch will prevent that data from being available for a ReadFromWriter. At least that is how I read it. What I am wondering is what about a closed by not yet written CacheVC is making ReadaFromWriter fail? > ReadFromWriter fail in CacheRead.cc > ----------------------------------- > > Key: TS-844 > URL: https://issues.apache.org/jira/browse/TS-844 > Project: Traffic Server > Issue Type: Bug > Reporter: mohan_zl > Fix For: 3.1.0 > > Attachments: TS-844.patch > > > {code} > #6 0x00000000006ab4d7 in CacheVC::openReadChooseWriter (this=0x2aaaf81523d0, > event=1, e=0x0) at CacheRead.cc:320 > #7 0x00000000006abdc9 in CacheVC::openReadFromWriter (this=0x2aaaf81523d0, > event=1, e=0x0) at CacheRead.cc:411 > #8 0x00000000004d302f in Continuation::handleEvent (this=0x2aaaf81523d0, > event=1, data=0x0) at I_Continuation.h:146 > #9 0x00000000006ae2b9 in Cache::open_read (this=0x2aaab0001c40, > cont=0x2aaab4472aa0, key=0x42100b10, request=0x2aaab44710f0, > params=0x2aaab4470928, type=CACHE_FRAG_TYPE_HTTP, > hostname=0x2aab09581049 > "js.tongji.linezing.comicon1.gifjs.tongji.linezing.com�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ�ï¿ï¿½Þ���"..., > host_len=22) at CacheRead.cc:228 > #10 0x000000000068da30 in Cache::open_read (this=0x2aaab0001c40, > cont=0x2aaab4472aa0, url=0x2aaab4471108, request=0x2aaab44710f0, > params=0x2aaab4470928, > type=CACHE_FRAG_TYPE_HTTP) at P_CacheInternal.h:1068 > #11 0x000000000067d32f in CacheProcessor::open_read (this=0xf2c030, > cont=0x2aaab4472aa0, url=0x2aaab4471108, request=0x2aaab44710f0, > params=0x2aaab4470928, pin_in_cache=0, > type=CACHE_FRAG_TYPE_HTTP) at Cache.cc:3011 > #12 0x000000000054e058 in HttpCacheSM::do_cache_open_read > (this=0x2aaab4472aa0) at HttpCacheSM.cc:220 > #13 0x000000000054e1a7 in HttpCacheSM::open_read (this=0x2aaab4472aa0, > url=0x2aaab4471108, hdr=0x2aaab44710f0, params=0x2aaab4470928, > pin_in_cache=0) at HttpCacheSM.cc:252 > #14 0x0000000000568404 in HttpSM::do_cache_lookup_and_read > (this=0x2aaab4470830) at HttpSM.cc:3893 > #15 0x00000000005734b5 in HttpSM::set_next_state (this=0x2aaab4470830) at > HttpSM.cc:6436 > #16 0x000000000056115a in HttpSM::call_transact_and_set_next_state > (this=0x2aaab4470830, f=0) at HttpSM.cc:6328 > #17 0x0000000000574b78 in HttpSM::handle_api_return (this=0x2aaab4470830) at > HttpSM.cc:1516 > #18 0x000000000056dbe7 in HttpSM::state_api_callout (this=0x2aaab4470830, > event=0, data=0x0) at HttpSM.cc:1448 > #19 0x000000000056de77 in HttpSM::do_api_callout_internal > (this=0x2aaab4470830) at HttpSM.cc:4345 > #20 0x0000000000578c89 in HttpSM::do_api_callout (this=0x2aaab4470830) at > HttpSM.cc:497 > #21 0x0000000000572e93 in HttpSM::set_next_state (this=0x2aaab4470830) at > HttpSM.cc:6362 > #22 0x000000000056115a in HttpSM::call_transact_and_set_next_state > (this=0x2aaab4470830, f=0) at HttpSM.cc:6328 > #23 0x0000000000572faf in HttpSM::set_next_state (this=0x2aaab4470830) at > HttpSM.cc:6378 > #24 0x000000000056115a in HttpSM::call_transact_and_set_next_state > (this=0x2aaab4470830, f=0) at HttpSM.cc:6328 > #25 0x0000000000574b78 in HttpSM::handle_api_return (this=0x2aaab4470830) at > HttpSM.cc:1516 > #26 0x000000000056dbe7 in HttpSM::state_api_callout (this=0x2aaab4470830, > event=0, data=0x0) at HttpSM.cc:1448 > #27 0x000000000056de77 in HttpSM::do_api_callout_internal > (this=0x2aaab4470830) at HttpSM.cc:4345 > #28 0x0000000000578c89 in HttpSM::do_api_callout (this=0x2aaab4470830) at > HttpSM.cc:497 > #29 0x0000000000572e93 in HttpSM::set_next_state (this=0x2aaab4470830) at > HttpSM.cc:6362 > #30 0x000000000056115a in HttpSM::call_transact_and_set_next_state > (this=0x2aaab4470830, f=0) at HttpSM.cc:6328 > #31 0x0000000000574b78 in HttpSM::handle_api_return (this=0x2aaab4470830) at > HttpSM.cc:1516 > #32 0x000000000056dbe7 in HttpSM::state_api_callout (this=0x2aaab4470830, > event=0, data=0x0) at HttpSM.cc:1448 > #33 0x000000000056de77 in HttpSM::do_api_callout_internal > (this=0x2aaab4470830) at HttpSM.cc:4345 > #34 0x0000000000578c89 in HttpSM::do_api_callout (this=0x2aaab4470830) at > HttpSM.cc:497 > #35 0x0000000000572e93 in HttpSM::set_next_state (this=0x2aaab4470830) at > HttpSM.cc:6362 > #36 0x000000000056115a in HttpSM::call_transact_and_set_next_state > (this=0x2aaab4470830, f=0x59e52e > <HttpTransact::ModifyRequest(HttpTransact::State*)>) at HttpSM.cc:6328 > #37 0x000000000057490c in HttpSM::state_read_client_request_header > (this=0x2aaab4470830, event=100, data=0x2049f5e8) at HttpSM.cc:780 > #38 0x000000000056e49f in HttpSM::main_handler (this=0x2aaab4470830, > event=100, data=0x2049f5e8) at HttpSM.cc:2436 > #39 0x00000000004d302f in Continuation::handleEvent (this=0x2aaab4470830, > event=100, data=0x2049f5e8) at I_Continuation.h:146 > #40 0x00000000006d6b61 in read_signal_and_update (event=100, vc=0x2049f420) > at UnixNetVConnection.cc:138 > #41 0x00000000006d739e in read_from_net (nh=0x2aaaab32f688, vc=0x2049f420, > thread=0x2aaaab32e010) at UnixNetVConnection.cc:320 > #42 0x00000000006d74b9 in UnixNetVConnection::net_read_io (this=0x2049f420, > nh=0x2aaaab32f688, lthread=0x2aaaab32e010) at UnixNetVConnection.cc:793 > #43 0x00000000006d0bbc in NetHandler::mainNetEvent (this=0x2aaaab32f688, > event=5, e=0x1ebf6830) at UnixNet.cc:389 > #44 0x00000000004d302f in Continuation::handleEvent (this=0x2aaaab32f688, > event=5, data=0x1ebf6830) at I_Continuation.h:146 > #45 0x00000000006f9978 in EThread::process_event (this=0x2aaaab32e010, > e=0x1ebf6830, calling_code=5) at UnixEThread.cc:140 > #46 0x00000000006f9e96 in EThread::execute (this=0x2aaaab32e010) at > UnixEThread.cc:262 > ---Type <return> to continue, or q <return> to quit---b > #47 0x00000000006f92c9 in spawn_thread_internal (a=0x1ebea410) at Thread.cc:88 > #48 0x00000030e3a064a7 in start_thread () from /lib64/libpthread.so.0 > #49 0x00000030e2ed3c2d in clone () from /lib64/libc.so.6 > {code} -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira