Signal handler backtraces provide line info (#178)

* Signal handler backtraces provide line info

- print backtrace after SIGINT during finalization

* Workflow run-name + jammy rocm CI

* fix jammy matrix indentation

* disable building dyninst in jammy

* Update jammy for rocm

* jammy rocm_agent_enumerator

* Fix rocm install for jammy

* jammy bash

* jammy workflow typo

* revert some changes

* stack-usage + omnitrace-rt symlink + ncclSocketAccept + indiv sigs

- symlink omnitrace-rt in build tree
- exclude ncclSocketAccept
- timemory submodule update accepting individual signal handlers
Цей коміт міститься в:
Jonathan R. Madsen
2022-10-18 21:45:56 -05:00
зафіксовано GitHub
джерело ede6007f9b
коміт 78a06e7a42
18 змінених файлів з 92 додано та 17 видалено
+14 -1
Переглянути файл
@@ -91,7 +91,8 @@ log_entry::add_log_entry(log_entry&& _v)
void
print_log_entries(std::ostream& _os, int64_t _count,
std::function<bool(const log_entry&)> _condition, const char* _color,
const std::function<bool(const log_entry&)>& _condition,
const std::function<void()>& _prelude, const char* _color,
bool _color_entries)
{
size_t i0 = (_count < 0) ? 0 : std::max<int64_t>(log_entries.size() - _count, 0);
@@ -107,6 +108,18 @@ print_log_entries(std::ostream& _os, int64_t _count,
const char* _end =
(strlen(_color) > 0 || _color_entries) ? tim::log::color::end() : "";
if(_prelude)
{
for(size_t i = i0; i < log_entries.size(); ++i)
{
if(!_condition || _condition(log_entries.at(i)))
{
_prelude();
break;
}
}
}
// the requested number of log entries
for(size_t i = i0; i < log_entries.size(); ++i)
{