Hi, I'm using ATS 3.0.1 and when using TSContSchedule its causing the assertion on line 4124 in InkAPI.cc to be triggered. That corresponds to the following code: if (ink_atomic_increment((int *) &i->m_event_count, 1) < 0) ink_assert (!"not reached");
Using GDB I checked and yes m_event_count is well below 0. What could be causing this? I've attached the full backtrace for this. Thanks in advance! Brian (gdb) bt full #0 0x00007fff82a8fe4e in __semwait_signal_nocancel () No symbol table info available. #1 0x00007fff82a8fd50 in nanosleep$NOCANCEL () No symbol table info available. #2 0x00007fff82aec6ae in usleep$NOCANCEL () No symbol table info available. #3 0x00007fff82b0bce0 in abort () No symbol table info available. #4 0x0000000100b1d9ef in ink_die_die_die (retval=Could not find the frame base for "ink_die_die_die". ) at ink_error.cc:43 No locals. #5 0x0000000100b1dca9 in ink_fatal_va (return_code=1, message_format=0x10564d3a0 "InkAPI.cc:4128: failed assert `!\"not reached\"`", ap=0x10564d2a0) at ink_error.cc:65 extended_format = "FATAL: InkAPI.cc:4128: failed assert `!\"not reached\"`", '\0' <repeats 27 times>, " \000\000\0000\000\000\000??d\005\001\000\000\000\000?d\005\001", '\0' <repeats 19 times>, "???2", '\0' <repeats 72 times>, "?", '\0' <repeats 130 times>, "@KOp?\000\000???2", '\0' <repeats 60 times>, ";\000\000\000\000\000\000\000?\023?a??\002gTue Aug ?Ѧ??\000\000@?d\005\001\000\000\000\035Ѧ??\000\000\001\000\000\000\000\000\000\000?\""... message = "FATAL: InkAPI.cc:4128: failed assert `!\"not reached\"`\000\000\000=?d\005\001\000\000\000??d\005\001\000\000\0000?d\005\001\000\000\000>?d\005\001\000\000\000@?d\005\001\000\000\000\000?d\005\001\000\000\000(?d\005\001\000\000\000,?d\005\001\000\000\000 ?d\005\001\000\000\0006?d\005\001\000\000\000B?d\005\001\000\000\000C?d\005\001\000\000\000@?d\005\001\000\000\0000?d\005\001\000\000\000\020?d\005\001\000\000\000@?d\005\001\000\000\000$?d\005\001\000\000\000??d\005\001\000\000\000"... #6 0x0000000100b1de8a in ink_fatal (return_code=1, message_format=0x10564d3a0 "InkAPI.cc:4128: failed assert `!\"not reached\"`") at ink_error.cc:73 ap = {{ gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x10564d380, reg_save_area = 0x10564d2c0 }} #7 0x0000000100b1be52 in _ink_assert (a=0x100268fb8 "!\"not reached\"", f=0x100268f83 "InkAPI.cc", l=4128) at ink_assert.cc:44 buf1 = "InkAPI.cc\000?\000\001\000\000\000\000\020\000\000\000\000\000\000?????\000\000\020I\025\006\001\000\000\000\020I\025\006\001\000\000\000\020?d\005\001\000\000\000?)???\000\000:59.125\000\000\000?\003\001", '\0' <repeats 11 times>, "\003P\000\000\000\000\000\000\037?%\000\001\000\000\000P̐\001\001\000\000\0000?d\005\001\000\000\000?]#\000\001\000\000\000P?d\005\001\000\000\000\020I\025\006\001\000\000\000p?d\005\001\000\000\000\002?#\000\001\000\000\000\000?d\005\001\000\000\000\000\000?\003\001\000\000\000\000I\025\006\001", '\0' <repeats 11 times>, "p?d\005\032\020\000\000??"... buf2 = "InkAPI.cc:4128: failed assert `!\"not reached\"`\000\000???\000\001\000\000\000???\000\001\000\000\000\000\000\000\000\002\000\000\000????\000\000\000\000P\022?\001\001\000\000\000???\000\001", '\0' <repeats 19 times>, "???\000\001\000\000\000???\000\001\000\000\000\000\000\000\000\002\000\000\000????\000\000\000\000P\022?\001\001\000\000\000???\000\001", '\0' <repeats 19 times>, "???\000\001\000\000\000???\000\001\000\000\000\000\000\000\000\002\000\000\000????\000\000\000\000??d\005\001\000\000\000?\023"... #8 0x000000010003416e in TSContSchedule (contp=0x10617a200, timeout=0, tp=TS_THREAD_POOL_DEFAULT) at InkAPI.cc:4128 ml = { m = { m_ptr = 0x106154900 } } i = (INKContInternal *) 0x10617a200 action = (TSAction) 0x100000104c00e80 etype = 1 #9 0x0000000100cea435 in FrameServer::skeleton::newResolvedElement (this=0x10196fd00) at SkeletonParser.cc:126 __FUNCTION__ = "newResolvedElement" #10 0x0000000100cea4dc in FrameServer::EmbedResultProcessor::process (this=0x101806c20, url=@0x101806cb0, result=FetchResultProcessor::SUCCESS, status=TS_HTTP_STATUS_OK, body=0x10f910883 " "..., bodyLen=15621) at SkeletonParser.cc:167 __FUNCTION__ = "process" #11 0x0000000100ce9749 in handleFetchEvents (cont=0x10bc9d440, event=10000, edata=0x10c037870) at Utils.cc:115 status = TS_HTTP_STATUS_OK bodyLen = 15621 dataLen = 15752 dataEnd = 0x10f914588 "" buf = (TSMBuffer) 0x104c00140 hdrLoc = (TSMLoc) 0x117701088 txn = (TSHttpTxn) 0x10c037870 dataStart = 0x10f910883 " "... parser = (TSHttpParser) 0x104c00e80 contData = (FetchContData *) 0x101806cb0 __FUNCTION__ = "handleFetchEvents" #12 0x000000010002a646 in INKContInternal::handle_event (this=0x10bc9d440, event=10000, edata=0x10c037870) at InkAPI.cc:978 No locals. #13 0x000000010001fee6 in Continuation::handleEvent (this=0x10bc9d440, event=10000, data=0x10c037870) at I_Continuation.h:146 No locals. #14 0x00000001000417d5 in FetchSM::InvokePlugin (this=0x10c037870, event=10000, data=0x10c037870) at FetchSM.cc:76 mythread = (EThread *) 0x103810000 ret = 1 #15 0x0000000100042115 in FetchSM::process_fetch_read (this=0x10c037870, event=104) at FetchSM.cc:166 bytes = 15752 bytes_used = 1 actual_bytes_copied = 0 __FUNCTION__ = "process_fetch_read" #16 0x00000001000422c2 in FetchSM::fetch_handler (this=0x10c037870, event=104, edata=0x10bca0fe8) at FetchSM.cc:207 __FUNCTION__ = "fetch_handler" #17 0x000000010001fee6 in Continuation::handleEvent (this=0x10c037870, event=104, data=0x10bca0fe8) at I_Continuation.h:146 No locals. #18 0x000000010005ae83 in PluginVC::process_read_side (this=0x10bca0e38, other_side_call=false) at PluginVC.cc:626 core_reader = (IOBufferReader *) 0x10c0144d8 my_ethread = (EThread *) 0x103810000 lock = { m = { m_ptr = 0x10d0a5000 }, lock_acquired = true } ntodo = 9223372036854760055 bytes_avail = 0 act_on = 0 output_buffer = (MIOBuffer *) 0x10564dd00 water_mark = 4296781039 buf_space = 4385463488 added = 259 __FUNCTION__ = "process_read_side" #19 0x000000010005bc2d in PluginVC::main_handler (this=0x10bca0e38, event=1, data=0x10614c480) at PluginVC.cc:196 call_event = (Event *) 0x10614c480 my_ethread = (EThread *) 0x103810000 read_mutex_held = true write_mutex_held = true read_side_mutex = { m_ptr = 0x10d0a5000 } write_side_mutex = { m_ptr = 0x10d0a5000 } __FUNCTION__ = "main_handler" #20 0x000000010001fee6 in Continuation::handleEvent (this=0x10bca0e38, event=1, data=0x10614c480) at I_Continuation.h:146 No locals. #21 0x000000010025ba0b in EThread::process_event (this=0x103810000, e=0x10614c480, calling_code=1) at UnixEThread.cc:140 c_temp = (Continuation *) 0x10bca0e38 lock = { m = { m_ptr = 0x10d0a4f80 }, lock_acquired = true } #22 0x000000010025be6a in EThread::execute (this=0x103810000) at UnixEThread.cc:232 done_one = false e = (Event *) 0x10614c480 NegativeQueue = { <DLL<Event, Event::Link_link>> = { head = 0x102035320 }, members of Queue<Event, Event::Link_link>: tail = 0x102035320 } next_time = 1312912242708813000 #23 0x000000010025b288 in spawn_thread_internal (a=0x10190cc50) at Thread.cc:88 p = (thread_data_internal *) 0x10190cc50 #24 0x00007fff82a564f6 in _pthread_start () No symbol table info available. #25 0x00007fff82a563a9 in thread_start () No symbol table info available. (gdb) //INKContInternal *i = (INKContInternal *) contp; // contents of i below: (gdb) p *i $11 = { <DummyVConnection> = { <VConnection> = { <Continuation> = { <force_VFPT_to_top> = { _vptr$force_VFPT_to_top = 0x10617b601 }, members of Continuation: handler = { __pfn = 0xefbeaddeefbeadde, __delta = -1171307680053154338 }, handler_name = 0xefbeaddeefbeadde <Address 0xefbeaddeefbeadde out of bounds>, mutex = { m_ptr = 0xefbeaddeefbeadde }, link = { <SLink<Continuation>> = { next = 0xefbeaddeefbeadde }, members of Link<Continuation>: prev = 0xefbeaddeefbeadde } }, members of VConnection: lerrno = -272716322 }, <No data fields>}, members of INKContInternal: mdata = 0xefbeaddeefbeadde, m_event_func = 0xefbeaddeefbeadde, m_event_count = -272716321, m_closed = -272716322, m_deletable = -272716322, m_deleted = -272716322, m_free_magic = -272716322 } (gdb)