Hi all,
I have a little Lua example that trips all the ssn and txn hooks. The callback
function for each hook just calls TSHttpTxnReenable(). I'm finding that
re-enablin the transaction in response to a TS_EVENT_HTTP_READ_RESPONSE_HDR
event always asserts.
I figured that calling TSHttpTxnReenable() was always the right thing to do ...
are there cases where it must not be called, os is this just a bug?
[Aug 27 22:35:10.631] Server {0xab52000} DIAG: (lua) LuaDemuxTxnHook:
LuaDemuxTxnHook(HTTP_READ_RESPONSE_HDR_HOOK) lthread=0x7ffa98d015e0 event=60006
edata=0xf8eb2d0
[Aug 27 22:35:10.632] Server {0xab52000} DIAG: (hooks) handling transaction
event 60006
FATAL: ../iocore/eventsystem/I_VConnection.h:391: failed assert
`!"VConnection::do_io_write -- " "cannot use default implementation"`
/opt/ats/bin/traffic_server - STACK TRACE:
0 libtsutil.3.dylib 0x0000000109aa6df7 ink_fatal + 359
1 libtsutil.3.dylib 0x0000000109aa5d52 _ink_assert + 66
2 traffic_server 0x0000000108eb9842
_ZN16DummyVConnection11do_io_writeEP12ContinuationxP14IOBufferReaderb + 66
3 traffic_server 0x0000000108ef2b31
_ZN20TransformVConnection11do_io_writeEP12ContinuationxP14IOBufferReaderb + 225
4 traffic_server 0x0000000108f942c0
_ZN10HttpTunnel12producer_runEP18HttpTunnelProducer + 1904
5 traffic_server 0x0000000108f93a6b
_ZN10HttpTunnel10tunnel_runEP18HttpTunnelProducer + 203
6 traffic_server 0x0000000108f53d4d
_ZN6HttpSM14set_next_stateEv + 3405
7 traffic_server 0x0000000108f3af21
_ZN6HttpSM32call_transact_and_set_next_stateEPFvPN12HttpTransact5StateEE + 497
8 traffic_server 0x0000000108f3f1e6
_ZN6HttpSM17handle_api_returnEv + 326
9 traffic_server 0x0000000108f3e015
_ZN6HttpSM17state_api_calloutEiPv + 2805
10 traffic_server 0x0000000108f3d485
_ZN6HttpSM18state_api_callbackEiPv + 485
11 traffic_server 0x0000000108eae170 TSHttpTxnReenable +
448
12 lua.so 0x000000000f376daf
_ZL18LuaHttpTxnContinueP9lua_State + 47
13 lua.so 0x000000000f37b339 lj_BC_FUNCC + 52