-
Notifications
You must be signed in to change notification settings - Fork 844
Closed
Labels
Description
I've tried to convert Cache Hit to Cache MISS by using TSHttpTxnCacheLookupStatusSet function and it always abort.
int
cache_read(TSCont contp, TSEvent event, void *edata)
{
TSHttpTxn txnp = (TSHttpTxn)edata;
TSHttpTxnCacheLookupStatusSet(txnp, TS_CACHE_LOOKUP_MISS);
TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE);
}
void
TSPluginInit(int argc, const char *argv[])
{
TSPluginRegistrationInfo info;
info.plugin_name = PLUGIN_NAME;
info.vendor_name = "Apache Software Foundation";
info.support_email = "dev@trafficserver.apache.org";
if (TSPluginRegister(&info) != TS_SUCCESS) {
TSError("[%s] Plugin registration failed.", PLUGIN_NAME);
goto error;
}
TSHttpHookAdd(TS_HTTP_READ_CACHE_HDR_HOOK, TSContCreate(cache_read, TSMutexCreate()));
goto done;
error:
TSError("[%s] Plugin not initialized", PLUGIN_NAME);
done:
return;
}
#0 0x00007ffff2be2c37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
resultvar = 0
pid = 8707
selftid = 8710
#1 0x00007ffff2be6168 in __GI_abort () at abort.c:118
act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {
18446744073709551615 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007ffff4bd60c5 in ink_abort (message_format=0x7ffff4c1b240 "%s:%d: failed assertion `%s`") at ink_error.cc:99
ap = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffff1e8b030, reg_save_area = 0x7ffff1e8af70}}
#3 0x00007ffff4bd072b in _ink_assert (expression=0xb76b60 "s->cache_lookup_result != HttpTransact::CACHE_LOOKUP_MISS",
file=0xb71600 "HttpTransact.cc", line=2395) at ink_assert.cc:37
No locals.
#4 0x0000000000743fee in HttpTransact::HandleCacheOpenReadHitFreshness (s=0x7fffedfeda48) at HttpTransact.cc:2395
obj = @0x7fffedfedaa0: 0x60b00001ed98
__FUNCTION__ = "HandleCacheOpenReadHitFreshness"
#5 0x00000000007080ef in HttpSM::call_transact_and_set_next_state (this=0x7fffedfed9d0, f=0x0) at HttpSM.cc:7215
__FUNCTION__ = "call_transact_and_set_next_state"
#6 0x00000000006d4f4b in HttpSM::handle_api_return (this=0x7fffedfed9d0) at HttpSM.cc:1612
__FUNCTION__ = "handle_api_return"
#7 0x00000000006d4a0f in HttpSM::state_api_callout (this=0x7fffedfed9d0, event=60000, data=0x0) at HttpSM.cc:1550
api_next = HttpSM::API_RETURN_CONTINUE
__FUNCTION__ = "state_api_callout"
#8 0x00000000006d2f4f in HttpSM::state_api_callback (this=0x7fffedfed9d0, event=60000, data=0x0) at HttpSM.cc:1346
__FUNCTION__ = "state_api_callback"
#9 0x000000000057b8b1 in TSHttpTxnReenable (txnp=0x7fffedfed9d0, event=TS_EVENT_HTTP_CONTINUE) at InkAPI.cc:5891
trylock = {m = {m_ptr = 0x608600004cd0}, lock_acquired = true}
sm = 0x7fffedfed9d0
eth = 0x7ffff1e90800
__FUNCTION__ = "TSHttpTxnReenable"
#10 0x00007ffff0b76952 in cache_read (contp=0x608600014f70, event=TS_EVENT_HTTP_READ_CACHE_HDR, edata=0x7fffedfed9d0)
at cache_read.cc:15
txnp = 0x7fffedfed9d0
#11 0x0000000000566a54 in INKContInternal::handle_event (this=0x608600014f70, event=60005, edata=0x7fffedfed9d0)
at InkAPI.cc:1055
retval = 0
---Type <return> to continue, or q <return> to quit---
__FUNCTION__ = "handle_event"
#12 0x0000000000539d2e in Continuation::handleEvent (this=0x608600014f70, event=60005, data=0x7fffedfed9d0)
at /root/test/ats-self/iocore/eventsystem/I_Continuation.h:153
No locals.
#13 0x0000000000567b58 in APIHook::invoke (this=0x607200001fe0, event=60005, edata=0x7fffedfed9d0) at InkAPI.cc:1274
No locals.
#14 0x00000000006d424a in HttpSM::state_api_callout (this=0x7fffedfed9d0, event=0, data=0x0) at HttpSM.cc:1468
plugin_lock = true
plugin_mutex = {m_ptr = 0x608600002810}
hook = 0x607200001fe0
api_next = HttpSM::API_RETURN_UNKNOWN
__FUNCTION__ = "state_api_callout"
#15 0x00000000006f6c76 in HttpSM::do_api_callout_internal (this=0x7fffedfed9d0) at HttpSM.cc:5190
No locals.
#16 0x00000000007195ed in HttpSM::do_api_callout (this=0x7fffedfed9d0) at HttpSM.cc:427
No locals.
#17 0x0000000000708532 in HttpSM::set_next_state (this=0x7fffedfed9d0) at HttpSM.cc:7256
__FUNCTION__ = "set_next_state"
#18 0x00000000007083ed in HttpSM::call_transact_and_set_next_state (this=0x7fffedfed9d0, f=0x0) at HttpSM.cc:7223
__FUNCTION__ = "call_transact_and_set_next_state"
#19 0x00000000006d4f4b in HttpSM::handle_api_return (this=0x7fffedfed9d0) at HttpSM.cc:1612
__FUNCTION__ = "handle_api_return"
#20 0x00000000006d4a0f in HttpSM::state_api_callout (this=0x7fffedfed9d0, event=60000, data=0x0) at HttpSM.cc:1550
api_next = HttpSM::API_RETURN_CONTINUE
__FUNCTION__ = "state_api_callout"
#21 0x00000000006d2f4f in HttpSM::state_api_callback (this=0x7fffedfed9d0, event=60000, data=0x0) at HttpSM.cc:1346
__FUNCTION__ = "state_api_callback"
#22 0x000000000057b8b1 in TSHttpTxnReenable (txnp=0x7fffedfed9d0, event=TS_EVENT_HTTP_CONTINUE) at InkAPI.cc:5891
trylock = {m = {m_ptr = 0x608600004cd0}, lock_acquired = true}
sm = 0x7fffedfed9d0
eth = 0x7ffff1e90800
__FUNCTION__ = "TSHttpTxnReenable"
#23 0x00007ffff0b76952 in cache_read (contp=0x608600014f70, event=TS_EVENT_HTTP_READ_CACHE_HDR, edata=0x7fffedfed9d0)
at cache_read.cc:15
txnp = 0x7fffedfed9d0
#24 0x0000000000566a54 in INKContInternal::handle_event (this=0x608600014f70, event=60005, edata=0x7fffedfed9d0)
---Type <return> to continue, or q <return> to quit---
at InkAPI.cc:1055
retval = 0
__FUNCTION__ = "handle_event"
#25 0x0000000000539d2e in Continuation::handleEvent (this=0x608600014f70, event=60005, data=0x7fffedfed9d0)
at /root/test/ats-self/iocore/eventsystem/I_Continuation.h:153
No locals.
#26 0x0000000000567b58 in APIHook::invoke (this=0x607200001fe0, event=60005, edata=0x7fffedfed9d0) at InkAPI.cc:1274
No locals.
#27 0x00000000006d424a in HttpSM::state_api_callout (this=0x7fffedfed9d0, event=0, data=0x0) at HttpSM.cc:1468
plugin_lock = true
plugin_mutex = {m_ptr = 0x608600002810}
hook = 0x607200001fe0
api_next = HttpSM::API_RETURN_UNKNOWN
__FUNCTION__ = "state_api_callout"
#28 0x00000000006f6c76 in HttpSM::do_api_callout_internal (this=0x7fffedfed9d0) at HttpSM.cc:5190
No locals.
#29 0x00000000007195ed in HttpSM::do_api_callout (this=0x7fffedfed9d0) at HttpSM.cc:427
No locals.
#30 0x0000000000708532 in HttpSM::set_next_state (this=0x7fffedfed9d0) at HttpSM.cc:7256
__FUNCTION__ = "set_next_state"
#31 0x00000000007083ed in HttpSM::call_transact_and_set_next_state (this=0x7fffedfed9d0,
f=0x7408f8 <HttpTransact::HandleCacheOpenRead(HttpTransact::State*)>) at HttpSM.cc:7223
__FUNCTION__ = "call_transact_and_set_next_state"
#32 0x00000000006ddd35 in HttpSM::state_cache_open_read (this=0x7fffedfed9d0, event=1102, data=0x60b00001ec40) at HttpSM.cc:2609
__FUNCTION__ = "state_cache_open_read"
#33 0x00000000006de986 in HttpSM::main_handler (this=0x7fffedfed9d0, event=1102, data=0x60b00001ec40) at HttpSM.cc:2671
jump_point = NULL
__FUNCTION__ = "main_handler"
vc_entry = 0x0
#34 0x0000000000539d2e in Continuation::handleEvent (this=0x7fffedfed9d0, event=1102, data=0x60b00001ec40)
at /root/test/ats-self/iocore/eventsystem/I_Continuation.h:153
No locals.
#35 0x00000000006ab2b2 in HttpCacheSM::state_cache_open_read (this=0x7fffedfef2f0, event=1102, data=0x60b00001ec40)
at HttpCacheSM.cc:132
__FUNCTION__ = "state_cache_open_read"
#36 0x0000000000539d2e in Continuation::handleEvent (this=0x7fffedfef2f0, event=1102, data=0x60b00001ec40)
---Type <return> to continue, or q <return> to quit---
at /root/test/ats-self/iocore/eventsystem/I_Continuation.h:153
No locals.
#37 0x00000000009e98eb in CacheVC::callcont (this=0x60b00001ec40, event=1102) at P_CacheInternal.h:633
No locals.
#38 0x00000000009e872b in CacheVC::openReadStartHead (this=0x60b00001ec40, event=3900, e=0x0) at CacheRead.cc:1131
err = 20400
doc = 0x7fffeded6000
__FUNCTION__ = "openReadStartHead"
#39 0x0000000000539d2e in Continuation::handleEvent (this=0x60b00001ec40, event=3900, data=0x0)
at /root/test/ats-self/iocore/eventsystem/I_Continuation.h:153
No locals.
#40 0x0000000000997d0c in CacheVC::handleReadDone (this=0x60b00001ec40, event=3900, e=0x60b00001edc8) at Cache.cc:2438
doc = 0x7fffeded6000
__FUNCTION__ = "handleReadDone"
#41 0x0000000000539d2e in Continuation::handleEvent (this=0x60b00001ec40, event=3900, data=0x60b00001edc8)
at /root/test/ats-self/iocore/eventsystem/I_Continuation.h:153
No locals.
#42 0x00000000009a3a95 in AIOCallbackInternal::io_complete (this=0x60b00001edc8, event=1, data=0x608e00006ee0)
at /root/test/ats-self/iocore/aio/P_AIO.h:117
No locals.
#43 0x0000000000539d2e in Continuation::handleEvent (this=0x60b00001edc8, event=1, data=0x608e00006ee0)
at /root/test/ats-self/iocore/eventsystem/I_Continuation.h:153
No locals.
#44 0x0000000000ac0b2b in EThread::process_event (this=0x7ffff1e90800, e=0x608e00006ee0, calling_code=1) at UnixEThread.cc:143
c_temp = 0x60b00001edc8
lock = {m = {m_ptr = 0x608600004cd0}, lock_acquired = true}
__FUNCTION__ = "process_event"
#45 0x0000000000ac1022 in EThread::execute (this=0x7ffff1e90800) at UnixEThread.cc:197
done_one = false
e = 0x608e00006ee0
NegativeQueue = {<DLL<Event, Event::Link_link>> = {head = 0x608e00006d60}, tail = 0x608e00006b80}
next_time = 1493965798352082959
__FUNCTION__ = "execute"
#46 0x0000000000abf478 in spawn_thread_internal (a=0x600800016250) at Thread.cc:84
p = 0x600800016250
#47 0x00007ffff4e63b98 in ?? () from /usr/lib/x86_64-linux-gnu/libasan.so.0
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#48 0x00007ffff39a0184 in start_thread (arg=0x7ffff1e8d700) at pthread_create.c:312
__res = <optimized out>
pd = 0x7ffff1e8d700
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737251956480, -5697319536598316563, 1, 8, 11268912, 140737251956480,
5697314940414200301, 5697309874613914093}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {
prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
pagesize_m1 = <optimized out>
sp = <optimized out>
freesize = <optimized out>
__PRETTY_FUNCTION__ = "start_thread"
#49 0x00007ffff2ca9bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111