diff --git a/Kernel/Thread.cpp b/Kernel/Thread.cpp index f7bd140d44..6e08de4ea9 100644 --- a/Kernel/Thread.cpp +++ b/Kernel/Thread.cpp @@ -857,7 +857,11 @@ String Thread::backtrace_impl() Vector recognized_symbols; auto& process = const_cast(this->process()); - auto elf_bundle = process.elf_bundle(); + OwnPtr elf_bundle; + if (!Processor::current().in_irq()) { + // If we're handling IRQs we can't really safely symbolicate + elf_bundle = process.elf_bundle(); + } ProcessPagingScope paging_scope(process); // To prevent a context switch involving this thread, which may happen