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