bneradt commented on PR #11396:
URL: https://github.com/apache/trafficserver/pull/11396#issuecomment-2135736293

   The crash happens from the test_HPACK unit test in which storage is 
verifying there is enough space to erase (storage did not erase before this 
patch):
   
   ```
   #6  0x00000000004d84c8 in XpackDynamicTableStorage::erase 
(this=0xfffff5108250, to_erase=963) at 
/home/bneradt/src/ts_asf_master_fix_xpack_overrun/src/proxy/hdrs/XPACK.cc:584
   584       ink_release_assert(to_erase <= this->size());
   
   (gdb) f 7
   #7  0x00000000004d7b1c in XpackDynamicTable::_make_space 
(this=0xfffff5108228, required_size=18) at 
/home/bneradt/src/ts_asf_master_fix_xpack_overrun/src/proxy/hdrs/XPACK.cc:520
   520         this->_storage.erase(storage_freed);
   (gdb) l
   515       // Evict
   516       if (freed > 0) {
   517         XPACKDbg("Evict entries: from %u to %u", 
this->_entries[this->_calc_index(this->_entries_tail, 1)].index,
   518                  this->_entries[tail - 1].index);
   519         this->_available += freed;
   520         this->_storage.erase(storage_freed);
   521         this->_entries_tail = tail - 1;
   522         XPACKDbg("Available size: %u", this->_available);
   523       }
   524
   (gdb) p freed
   $7 = 995
   (gdb) p storage_freed
   $8 = 963
   (gdb) p this->_storage
   $9 = {
     _overwrite_threshold = 4096,
     _data = 0x525000000100 
":content-length0set-cookieACOOKIE=C8ctADEzMC4xMjkuNjguNzMtMjY4MDEwOTgyNC4zMDI1OTY1NgAAAAAAAAAEAAAAmLwAAJEelVCHHpVQ9r0AALkelVCSHpVQ+r0AAJ0elVCdHpVQ970AALwelVC8HpVQAQAAAHhHAAC8HpVQhx6VUAAAAAA-;
 path=/; "...,
     _capacity = 8192,
     _head = 1657,
     _tail = 845
   }
   (gdb) p 1657-845
   $10 = 812
   ```
   
   So there's only 812 bytes to erase, but 963 bytes are being erased. 


-- 
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.

To unsubscribe, e-mail: github-unsubscr...@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to