On Thu, May 26, 2011 at 7:39 AM, John Plevyak <jplev...@acm.org> wrote: > Ah, yes, that is 64MB. The freelist is thread safe, although a missing > "volatile" > declaration caused it to fail to be so for the 32-bit version with recent > versions > of gcc. That is the reason to update to 2.1.8. Are you seeing your problem > with > a 32-bit or 64-bit build? > > john
I'm seeing it with the 32-bit version but I'm also seeing it with 2.1.8. Based on smaps, it seems the heap is pretty quickly using up the virtual memory address space with a very low Rss usage. After this posix_memalign starts failing with an ENOMEM. I think this implies memory fragmentation. Any ideas? Is this a known issue? -aniket > > On Wed, May 25, 2011 at 11:36 AM, aniket ray <aniket....@gmail.com> wrote: > >> On Wed, May 25, 2011 at 8:12 PM, John Plevyak <jplev...@acm.org> wrote: >> > There is no 64MB freelist unless you have created one yourself. The >> buffer >> > freelists max out at 2MB and unless you are caching files you should not >> see >> > them allocated. >> > >> > john >> > >> >> I might have been mistaken but it seems ioBufAllocator[14] has a >> type_size of 2M and a chunk_size of 32 (DEFAULT_HUGE_BUFFER_NUMBER) at >> init_buffer_allocators(). >> >> This initializes a freelist that tries to memalign 2M * 32 each time a >> MIOBuffer::write is called. >> Is my understanding incorrect? Just to add, I haven't created any >> freelists. >> >> Thanks, >> -aniket >> >> >> > On Wed, May 25, 2011 at 2:24 AM, aniket ray <aniket....@gmail.com> >> wrote: >> > >> >> On Tue, May 24, 2011 at 9:52 PM, Leif Hedstrom <zw...@apache.org> >> wrote: >> >> > On 05/24/2011 10:14 AM, aniket ray wrote: >> >> >> >> >> >> It's trafficserver 2.1.5-unstable >> >> > >> >> > Can you try v2.1.8, or even better, current trunk, I know we fixed >> >> several >> >> > bugs related to this code since v2.1.5. >> >> > >> >> I ported my plugin to the new version of ATS to get it running to test >> >> the crasher on v2.1.8. I'm getting the exact same crash with the same >> >> call stack. >> >> >> >> It seems that my thread safety diagnosis might not have been correct. >> >> It is trying to allocate 64MB blocks at a time off the freelist till >> >> memalign starts failing. Is this the expected behaviour? >> >> >> >> > -- leif >> >> > >> >> > Getting trunk: >> >> > >> >> > svn co http://svn.apache.org/repos/asf/trafficserver/traffic/trunk/ >> >> > >> >> >> >> I could not get this working. Does this need a specific version of >> >> automake? I have 1.11. >> >> >> >> Thanks, >> >> -aniket >> >> >> > >> >