Hi, I'm getting a crasher with the following call stack. Apparently it happens only when multiple threads have the same call stack.
#0 0x4001e424 in __kernel_vsyscall () #1 0x40527941 in raise () from /lib/libc.so.6 #2 0x4052ae42 in abort () from /lib/libc.so.6 #3 0x082f2cbc in ink_die_die_die (return_code=1, message_format=0x834fc18 "ink_memalign: couldn't allocate %d bytes at alignment %d - insufficient memory", ap=0x415b3e68 "") at ink_error.cc:43 #4 ink_fatal_va (return_code=1, message_format=0x834fc18 "ink_memalign: couldn't allocate %d bytes at alignment %d - insufficient memory", ap=0x415b3e68 "") at ink_error.cc:65 #5 0x082f2cf7 in ink_fatal (return_code=1, message_format=0x834fc18 "ink_memalign: couldn't allocate %d bytes at alignment %d - insufficient memory") at ink_error.cc:73 #6 0x082f3fc5 in ink_memalign (alignment=8192, size=67108864) at ink_memory.cc:124 #7 0x082f4762 in ink_freelist_new (f=0x886ec28) at ink_queue.cc:260 #8 0x080e60f8 in MIOBuffer::add_block() () #9 0x082e7ae4 in MIOBuffer::write (this=0x9b35fd0, abuf=0x8334750, alen=2) at IOBuffer.cc:102 #10 0x0819eb38 in ChunkedHandler::generate_chunked_content (this=0x47af1c24) at HttpTunnel.cc:426 #11 0x081a0847 in producer_handler_dechunked (this=0x47af1a28, event=100, p=0x47af1c00) at HttpTunnel.cc:953 #12 HttpTunnel::producer_handler (this=0x47af1a28, event=100, p=0x47af1c00) at HttpTunnel.cc:1051 #13 0x081a14fe in HttpTunnel::main_handler (this=0x47af1a28, event=3155, data=0x9b578fc) at HttpTunnel.cc:1453 #14 0x08119741 in TransformTerminus::handle_event (this=0x9b578b0, event=1, edata=0x479aec90) at Transform.cc:279 #15 0x082ea8c2 in handleEvent (this=0x40dad008, e=0x479aec90, calling_code=1) at I_Continuation.h:147 #16 EThread::process_event (this=0x40dad008, e=0x479aec90, calling_code=1) at UnixEThread.cc:149 #17 0x082eb2ec in EThread::execute (this=0x40dad008) at UnixEThread.cc:198 #18 0x082e888c in spawn_thread_internal (a=0x9ab75e8) at Thread.cc:85 #19 0x4012acc9 in start_thread () from /lib/libpthread.so.0 #20 0x405cd69e in clone () from /lib/libc.so.6 I'm trying to understand the code. What is a freelist ? What is it being used for? My question is whether ink_freelist_new is thread safe? In trying to understand this I got a few more doubts. What is a micro-TS build? Also, I tried adding a "#define INK_USE_MUTEX_FOR_FREELISTS 1" to the ink_config.h.in file. Traffic_server does not even launch when built with this flag. Any ideas that might help me understand the code and track this crasher? Thanks, Aniket Ray