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
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too