From b298c01e9291caa10ebf8c6e3bdff293cb2d692b Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 21 Feb 2020 19:05:45 +0100 Subject: Kernel: Log instead of crashing when getting a page fault during IRQ This is definitely a bug, but it seems to happen randomly every now and then and we need more info to track it down, so let's log for now. --- Kernel/VM/MemoryManager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Kernel/VM/MemoryManager.cpp') diff --git a/Kernel/VM/MemoryManager.cpp b/Kernel/VM/MemoryManager.cpp index c9a1846733..58f24a7cbc 100644 --- a/Kernel/VM/MemoryManager.cpp +++ b/Kernel/VM/MemoryManager.cpp @@ -296,7 +296,8 @@ PageFaultResponse MemoryManager::handle_page_fault(const PageFault& fault) { ASSERT_INTERRUPTS_DISABLED(); ASSERT(Thread::current); - ASSERT(!g_in_irq); + if (g_in_irq) + dbg() << "BUG! Page fault while handling IRQ! code=" << fault.code() << ", vaddr=" << fault.vaddr(); #ifdef PAGE_FAULT_DEBUG dbgprintf("MM: handle_page_fault(%w) at V%p\n", fault.code(), fault.vaddr().get()); #endif -- cgit v1.2.3