GeorgeHahn opened a new issue #7304:
URL: https://github.com/apache/trafficserver/issues/7304


   trafficserver 9 leaks memory when reverse proxying to an origin that returns 
404.
   
   trafficserver commit: 294723fdefd86c11153b297c88bcabca7cceb7aa
   
   After 1000 requests:
   
   ```
   ==15820== 172,032 bytes in 6 blocks are definitely lost in loss record 1,668 
of 1,693
   ==15820==    at 0x483E0F0: memalign (in 
/usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
   ==15820==    by 0x483E212: posix_memalign (in 
/usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
   ==15820==    by 0x4976BEF: ats_memalign (ink_memory.cc:102)
   ==15820==    by 0x4977D92: freelist_new(_InkFreeList*) (ink_queue.cc:216)
   ==15820==    by 0x49774D2: ink_freelist_new (ink_queue.cc:187)
   ==15820==    by 0x6A46F1: ClassAllocator<Http1ServerSession>::alloc() 
(Allocator.h:131)
   ==15820==    by 0x6A46A9: Http1ServerSession* 
thread_alloc_init<Http1ServerSession>(ClassAllocator<Http1ServerSession>&, 
ProxyAllocator&) (iocore/eventsystem/I_ProxyAllocator.h:73)
   ==15820==    by 0x6963F0: HttpSM::state_http_server_open(int, void*) 
(HttpSM.cc:1744)
   ==15820==    by 0x68E216: HttpSM::main_handler(int, void*) (HttpSM.cc:0)
   ==15820==    by 0x62D359: Continuation::handleEvent(int, void*) 
(I_Continuation.h:190)
   ==15820==    by 0x81223E: UnixNetVConnection::connectUp(EThread*, int) 
(UnixNetVConnection.cc:1306)
   ==15820==    by 0x80E198: 
UnixNetProcessor::connect_re_internal(Continuation*, sockaddr const*, 
NetVCOptions*) (UnixNetProcessor.cc:245)
   
   ...
   
   ==15820== LEAK SUMMARY:
   ==15820==    definitely lost: 172,032 bytes in 6 blocks
   ==15820==    indirectly lost: 0 bytes in 0 blocks
   ==15820==      possibly lost: 31,673,648 bytes in 120 blocks
   ==15820==    still reachable: 79,054,028 bytes in 6,973 blocks
   ==15820==                       of which reachable via heuristic:
   ==15820==                         newarray           : 11,960 bytes in 5 
blocks
   ==15820==                         multipleinheritance: 8,192 bytes in 1 
blocks
   ==15820==         suppressed: 0 bytes in 0 blocks
   ```
   
   ### Reproduction
   Origin: minimal server that returns 404 to all requests
   ATS remap config: `map / http://127.0.0.1:8080`. I can share other configs 
if they would be helpful.
   client: `for i in {1..1000}; do curl -s -i --resolve 
"example.com:80:127.0.0.1" http://example.com/does-not-exist; done`


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to