serenity icon indicating copy to clipboard operation
serenity copied to clipboard

Kernel panic while hexdump'ing a storage device

Open cqundefine opened this issue 3 years ago • 0 comments

While I had a second hard drive connected and I hexdump'ed it I got a kernel panic. I don't think it's specific to the second hard drive, although I wasn't able to reproduce it on the first one, which I think was caused by the fact that it was larger and had more data on it.

The crash log: [Shell(45:45)]: ASSERTION FAILED: m_current_request.is_null() [Shell(45:45)]: ./Kernel/Storage/ATA/ATAPort.cpp:113 in AK::ErrorOr Kernel::ATAPort::start_request(const Kernel::A TADevice&, Kernel::AsyncBlockDeviceRequest&) [Shell(45:45)]: KERNEL PANIC! :^( [Shell(45:45)]: Aborted [Shell(45:45)]: at ./Kernel/Arch/x86/common/CPU.cpp:35 in void abort() [Shell(45:45)]: Kernel + 0x0000000000d0399f Kernel::__panic(char const*, unsigned int, char const*) +0x16f [Shell(45:45)]: Kernel + 0x0000000001261a61 abort.localalias +0x38a [Shell(45:45)]: Kernel + 0x00000000012616d7 abort.localalias +0x0 [Shell(45:45)]: Kernel + 0x0000000000474073 Kernel::ATAPort::start_request(Kernel::ATADevice const&, Kernel::AsyncBlock DeviceRequest&) +0x823 [Shell(45:45)]: Kernel + 0x000000000042bd51 Kernel::IDEController::start_request(Kernel::ATADevice const&, Kernel::Asyn cBlockDeviceRequest&) [clone .localalias] +0x4a1 [Shell(45:45)]: Kernel + 0x000000000044b871 Kernel::ATADevice::start_request(Kernel::AsyncBlockDeviceRequest&) [clone . localalias] +0x281 [Shell(45:45)]: Kernel + 0x00000000004f13f4 AK::ErrorOr<AK::NonnullLockRefPtrKernel::AsyncBlockDeviceRequest, AK::Err or> Kernel::Device::try_make_request<Kernel::AsyncBlockDeviceRequest, Kernel::AsyncBlockDeviceRequest::RequestType, unsi gned long&, unsigned long&, Kernel::UserOrKernelBuffer&, unsigned long>(Kernel::AsyncBlockDeviceRequest::RequestType&&, unsigned long&, unsigned long&, Kernel::UserOrKernelBuffer&, unsigned long&&) +0x9e4 [Shell(45:45)]: Kernel + 0x00000000004e9cb2 Kernel::StorageDevice::read(Kernel::OpenFileDescription&, unsigned long, Ke rnel::UserOrKernelBuffer&, unsigned long) [clone .localalias] +0x8d2 [Shell(45:45)]: Kernel + 0x0000000000762927 Kernel::OpenFileDescription::read(Kernel::UserOrKernelBuffer&, unsigned lon g, unsigned long) +0x147 [Shell(45:45)]: Kernel + 0x0000000000533b7a Kernel::BlockBasedFileSystem::read_block(AK::DistinctNumeric<unsigned long, Kernel::__BlockIndex_tag, false, true, true, false, false, false>, Kernel::UserOrKernelBuffer*, unsigned long, unsigned long, bool) const [clone .localalias] +0xbca [Shell(45:45)]: Kernel + 0x00000000005d270b Kernel::Ext2FSInode::read_bytes(long, unsigned long, Kernel::UserOrKernelBu ffer&, Kernel::OpenFileDescription*) const [clone .localalias] +0xbcb [Shell(45:45)]: Kernel + 0x0000000000aa6dc8 Kernel::Memory::Region::handle_inode_fault(unsigned long) [clone .localalia s] +0xa98 [Shell(45:45)]: Kernel + 0x0000000000aadc8b Kernel::Memory::Region::handle_fault(Kernel::PageFault const&) +0xd4b [Shell(45:45)]: Kernel + 0x0000000001286608 page_fault_handler +0x648 [Shell(45:45)]: Kernel + 0x0000000001284076 page_fault_asm_entry +0x36

cqundefine avatar Aug 27 '22 16:08 cqundefine