bneradt opened a new issue, #11115:
URL: https://github.com/apache/trafficserver/issues/11115

   Seen on docs with HTTP/3 configured:
   
   ```gdb
   Thread 5 "[ET_NET 2]" received signal SIGSEGV, Segmentation fault.           
                                                                                
                                                                                
                                                                                
 
   [Switching to Thread 0x7fffefa1a700 (LWP 3677270)]                           
                                                                                
                                                                                
                                                                                
 
   0x0000555556a8be37 in QUICStreamAdapter::stream (this=0x50) at 
/home/bneradt/src/trafficserver_10/include/iocore/net/quic/QUICStreamAdapter.h:37
                                                                                
                                                                                
              
   37          return _stream;                                                  
                                                                                
                                                                                
                                                                                
 
   (gdb) bt                                                                     
                                                                                
                                                                                
                                                                                
 
   #0  0x0000555556a8be37 in QUICStreamAdapter::stream (this=0x50) at 
/home/bneradt/src/trafficserver_10/include/iocore/net/quic/QUICStreamAdapter.h:37
                                                                                
                                                                                
          
   #1  0x0000555556accfae in QPACK::_on_read_ready (this=0x612000031cc0, 
vio=0x60900014ccc0) at 
/home/bneradt/src/trafficserver_10/src/proxy/http3/QPACK.cc:1052                
                                                                                
                                                                 
   #2  0x0000555556ac3bd2 in QPACK::event_handler (this=0x612000031cc0, 
event=100, data=0x60900014ccc0) at 
/home/bneradt/src/trafficserver_10/src/proxy/http3/QPACK.cc:196                 
                                                                                
                                                      
   #3  0x00005555560b6417 in Continuation::handleEvent (this=0x612000031cc0, 
event=100, data=0x60900014ccc0) at 
/home/bneradt/src/trafficserver_10/include/iocore/eventsystem/Continuation.h:228
                                                                                
                                                 
   #4  0x0000555556a28851 in EThread::process_event (this=0x7ffff020c800, 
e=0x60900014ccc0, calling_code=100) at 
/home/bneradt/src/trafficserver_10/src/iocore/eventsystem/UnixEThread.cc:163    
                                                                                
                                                
   #5  0x0000555556a28da5 in EThread::process_queue (this=0x7ffff020c800, 
NegativeQueue=0x7fffefa19090, ev_count=0x7fffefa19000, nq_count=0x7fffefa18ff0) 
at /home/bneradt/src/trafficserver_10/src/iocore/eventsystem/UnixEThread.cc:198 
                                                                                
       
   #6  0x0000555556a2933c in EThread::execute_regular (this=0x7ffff020c800) at 
/home/bneradt/src/trafficserver_10/src/iocore/eventsystem/UnixEThread.cc:256    
                                                                                
                                                                                
  
   #7  0x0000555556a29dcb in EThread::execute (this=0x7ffff020c800) at 
/home/bneradt/src/trafficserver_10/src/iocore/eventsystem/UnixEThread.cc:350    
                                                                                
                                                                                
          
   #8  0x0000555556a26bfe in spawn_thread_internal (a=0x60600002bb20) at 
/home/bneradt/src/trafficserver_10/src/iocore/eventsystem/Thread.cc:68          
                                                                                
                                                                                
        
   #9  0x00007ffff6894609 in start_thread (arg=<optimized out>) at 
pthread_create.c:477                                                            
                                                                                
                                                                                
              
   #10 0x00007ffff67b7133 in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95                                    
                                                                                
                                                                                
                                        
   (gdb) f                                                                      
                                                                                
                                                                                
                                                                                
 
   #0  0x0000555556a8be37 in QUICStreamAdapter::stream (this=0x50) at 
/home/bneradt/src/trafficserver_10/include/iocore/net/quic/QUICStreamAdapter.h:37
                                                                                
                                                                                
          
   37          return _stream;                                                  
                                                                                
                                                                                
                                                                                
 
   (gdb) l                                                                      
                                                                                
                                                                                
                                                                                
 
   32        virtual ~QUICStreamAdapter() = default;                            
                                                                                
                                                                                
                                                                                
 
   33                                                                           
                                                                                
                                                                                
                                                                                
 
   34        QUICStream &                                                       
                                                                                
                                                                                
                                                                                
 
   35        stream()                                                           
                                                                                
                                                                                
                                                                                
 
   36        {                                                                  
                                                                                
                                                                                
                                                                                
 
   37          return _stream;                                                  
                                                                                
                                                                                
                                                                                
 
   38        }                                                                  
                                                                                
                                                                                
                                                                                
 
   39                                                                           
                                                                                
                                                                                
                                                                                
 
   40        virtual int64_t write(QUICOffset offset, const uint8_t *data, 
uint64_t data_length, bool fin) = 0;                                            
                                                                                
                                                                                
      
   41        Ptr<IOBufferBlock> read(size_t len);                               
                                                                                
                                                                                
                                                                                
 
   
   (gdb) p *this                                                                
  
   Cannot access memory at address 0x50                                         
  
   (gdb) p this                                                                 
  
   $1 = (QUICStreamAdapter * const) 0x50                                        
  
   (gdb) up                                                                     
  
   #1  0x0000555556accfae in QPACK::_on_read_ready (this=0x612000031cc0, 
vio=0x60900014ccc0) at 
/home/bneradt/src/trafficserver_10/src/proxy/http3/QPACK.cc:1052  
   1052      QUICStreamId stream_id = static_cast<QUICStreamVCAdapter 
*>(vio->vc_server)->stream().id();                                              
            
   
   (gdb) l
   1047
   1048    int
   1049    QPACK::_on_read_ready(VIO *vio)
   1050    {
   1051      int nread              = 0;
   1052      QUICStreamId stream_id = static_cast<QUICStreamVCAdapter 
*>(vio->vc_server)->stream().id();
   1053
   1054      if (stream_id == this->_decoder_stream_id) {
   1055        nread = this->_on_decoder_stream_read_ready(*vio->get_reader());
   1056      } else if (stream_id == this->_encoder_stream_id) {
   
   (gdb) p *vio
   $5 = {
     cont = 0x555557265d80 <vtable for Event+16>,
     nbytes = 106790067051712,
     ndone = 106377750161344,
     op = -1094795776,
     _disabled = 190,
     buffer = {
       name = 0x7ffff020c800 "\360\262+WUU",
       mbuf = 0x64bebebe0c,
       entry = 0x0
     },
     vc_server = 0x0,
     mutex = {
       m_ptr = 0x613000080ab0
     }
   }
   
   (gdb) p vio->vc_server
   $7 = (VConnection *) 0x0
   
   
   (gdb) p *this                                                                
  
   $2 = {                                                                       
  
     <QUICApplication> = {                                                      
                                                                                
  
       <Continuation> = {                                                       
  
         <force_VFPT_to_top> = {                                                
  
           _vptr.force_VFPT_to_top = 0x5555572ca790 <vtable for QPACK+16>       
                                                                                
  
         },                                                                     
                                                                                
  
         members of Continuation:                                               
  
         handler = (int (Continuation::*)(Continuation * const, int, void *)) 
0x555556ac3b7a <QPACK::event_handler(int, Event*)>,                             
                                                                                
                                                                                
   
         handler_name = 0x55555706b720 "&QPACK::event_handler",                 
  
         mutex = {                                                              
                                                                                
  
           m_ptr = 0x60c00002a7c0                                               
                                                                                
  
         },                                                                     
  
         link = {                                                               
  
           <SLink<Continuation>> = {                                            
  
             next = 0x0                                                         
  
           },                                                                   
  
           members of Link<Continuation>:                                       
  
           prev = 0x0                                                           
  
         },                                                                     
  
         control_flags = {                                                      
  
           raw_flags = 0                                                        
  
         },                                                                     
  
         thread_affinity = 0x0                                                  
  
       },                                                                       
  
       members of QUICApplication:                                              
  
       _qc = 0x61b00003cac8                                                     
  
     }, 
     members of QPACK:
     _dynamic_table = {
       static ADDITIONAL_32_BYTES = 32 ' ',
       _maximum_size = 0,
       _available = 0,
       _entries_inserted = 0,
       _entries = 0x0,
       _max_entries = 0,
       _entries_head = 4294967295,
       _entries_tail = 4294967295,
       _storage = {
         _overwrite_threshold = 0,
         _data = 0x0,
         _data_size = 0,
         _head = 4294967295,
         _tail = 4294967295
       }
     },
     _references = std::map with 39 elements = {
       [0] = {
         smallest = 0,
         largest = 0
       },
       [4] = {
         smallest = 0,
         largest = 0
       },
       [8] = {
         smallest = 0,
         largest = 0
       },
       [12] = {
         smallest = 0,
         largest = 0
       },
       [16] = {
         smallest = 0,
         largest = 0
       },
       [20] = {
         smallest = 0,
         largest = 0
       },
       [24] = {
         smallest = 0,
         largest = 0
       },
       [28] = {
         smallest = 0,
         largest = 0
       },
       [32] = {
         smallest = 0,
         largest = 0
       },
       [36] = {
         smallest = 0,
         largest = 0
       },
       [40] = {
         smallest = 0,
         largest = 0
       },
       [44] = {
         smallest = 0,
         largest = 0
       },
       [48] = {
         smallest = 0,
         largest = 0
       },
       [52] = {
         smallest = 0,
         largest = 0
       },
       [56] = {
         smallest = 0,
         largest = 0
       },
       [60] = {
         smallest = 0,
         largest = 0
       },
       [64] = {
         smallest = 0,
         largest = 0
       },
       [68] = {
         smallest = 0,
         largest = 0
       },
       [72] = {
         smallest = 0,
         largest = 0
       },
       [76] = {
         smallest = 0,
         largest = 0
       },
       [80] = {
         smallest = 0,
         largest = 0
       },
       [84] = {
         smallest = 0,
         largest = 0
       },
       [88] = {
         smallest = 0,
         largest = 0
       },
       [92] = {
         smallest = 0,
         largest = 0
       },
       [96] = {
         smallest = 0,
         largest = 0
       },
       [100] = {
         smallest = 0,
         largest = 0
       },
       [104] = {
         smallest = 0,
         largest = 0
       },
       [108] = {
         smallest = 0,
         largest = 0
       },
       [112] = {
         smallest = 0,
         largest = 0
       },
       [116] = {
         smallest = 0,
         largest = 0
       },
       [120] = {
         smallest = 0,
         largest = 0
       },
       [124] = {
         smallest = 0,
         largest = 0
       },
       [128] = {
         smallest = 0,
         largest = 0
       },
       [132] = {
         smallest = 0,
         largest = 0
       },
       [136] = {
         smallest = 0,
         largest = 0
       },
       [140] = {
         smallest = 0,
         largest = 0
       },
       [144] = {
         smallest = 0,
         largest = 0
       },
       [148] = {
         smallest = 0,
         largest = 0
       },
       [152] = {
         smallest = 0,
         largest = 0
       }
     },
     _max_field_section_size = 4294967295,
     _max_table_size = 0,
     _max_blocking_streams = 0,
     _event_handler = 0x0,
     _invalid = false,
     _blocked_list = {
       _head = 0x0,
       _tail = 0x0,
       _count = 0
     },
     _largest_known_received_index = 0,
     _encoder_stream_id = 0,
     _decoder_stream_id = 6,
     _encoder_stream_sending_instructions = 0x611000021100,
     _decoder_stream_sending_instructions = 0x611000021240,
     _encoder_stream_sending_instructions_reader = 0x611000021118,
     _decoder_stream_sending_instructions_reader = 0x611000021258,
     _arena = {
       m_blocks = 0x61900021c080
     }
   }
   
   ```


-- 
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: [email protected]

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

Reply via email to