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]