masaori335 opened a new pull request #8179:
URL: https://github.com/apache/trafficserver/pull/8179


   # Feature
   When this option is enabled, events have a symbol of who scheduled them.
   
   # Motivation
   
   This would give us some clues when we face some crashes on the event 
handler. Especially, the Continuation doesn't have history.
   
   # Usage
   
   To get the file name and line numbers, convert the symbol by `addr2line` 
(Linux) or `atoc` (BSD) ( assuming ATS has debug info) like below.
   
   ```
   » lldb /opt/ats/bin/traffic_server
   (lldb) target create "/opt/ats/bin/traffic_server"
   Current executable set to '/opt/ats/bin/traffic_server' (x86_64).
   ...
   traffic_server was compiled with optimization - stepping may behave oddly; 
variables may not be available.
   frame #6: 0x00000001002e2135 
traffic_server`EThread::process_event(this=0x0000000018038000, 
e=0x0000000000830b80, calling_code=2) at UnixEThread.cc:164 [opt]
      161       // Restore the client IP debugging flags
      162       set_cont_flags(e->continuation->control_flags);
      163
   -> 164       e->continuation->handleEvent(calling_code, e);
      165       ink_assert(!e->in_the_priority_queue);
      166       ink_assert(c_temp == e->continuation);
      167       MUTEX_RELEASE(lock);
   (lldb) p e->_location
   (const void *) $0 = 0x00000001001a94ac
   ----
   » atos -o /opt/ats/bin/traffic_server 0x00000001001a94ac
   HostDBProcessor::start(int, unsigned long) (in traffic_server) 
(HostDB.cc:425)
   ```
   
   


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