Ticket #1578 (reopened bug)

Opened 15 months ago

Last modified 12 months ago

Panic on boot (AHCI and/or VM related?)

Reported by: pieterpan Owned by: axeld
Priority: normal Milestone: R1
Component: System/Kernel Version: R1 development
Cc: fredrik.holmqvist@… Blocked By:
Platform: All Blocking:

Description

Using the latest revision (r22589) to test to see if #1417 was fixed. (it is, btw) Have a core2duo laptop with ahci. Unfortunately now I'm greeted with a PANIC. Maybe VM or AHCI related, but AHCI has worked well before.

PANIC: vm_page_fault: unhandled page fault in kernel space at 0x31, ip 0x802c42c1

See attached bt. Sorry, no serial debug log, as the laptop doesn't have serial port.

Attachments

DSC02056.JPG (279.1 KB) - added by pieterpan 15 months ago.
back trace

Change History

Changed 15 months ago by pieterpan

back trace

Changed 15 months ago by pieterpan

Forgot to mention that it continues to boot if I enable console output

Changed 15 months ago by korli

  • owner changed from axeld to marcusoverhagen
  • component changed from - General to Drivers/Disk

Changed 15 months ago by marcusoverhagen

  • owner changed from marcusoverhagen to axeld
  • component changed from Drivers/Disk to System/Kernel

This appears to be the same cause as bug #1434 The device manager loads the driver and passes an invalid cookie pointer

Changed 15 months ago by korli

Actually the problem resides in the device manager. KDiskDeviceManager::InitialDeviceScan(). Then the devfs triggers a device scan with "/dev", probe_for_driver_modules() includes the ahci pci device in the scan because its type "/dev/disk" starts with "/dev" (if it was an exact type match, it wouldn't find the disk devfs directory anyway). The ahci driver attachs its device to the ahci pci device. Then the devfs triggers a device scan with "/dev/disk", probe_for_driver_modules() includes the ahci pci device in the scan because its type "/dev/disk" starts with "/dev/disk". The ahci driver attachs again to the same ahci pci device.

A possible fix would be to check whether a pci device has already a child device attached, and avoid a new scan in probe_for_driver_modules() or register_supporting_child_devices() when node->children is not null.

Thoughts ?

Changed 15 months ago by korli

  • status changed from new to closed
  • resolution set to fixed

Fixed in r22726.

Changed 14 months ago by marcusoverhagen

  • status changed from closed to reopened
  • resolution fixed deleted

Unfortunately r22726 didn't really fix it. It still happenes with the revision from last week, same backtrace.

Changed 12 months ago by tqh

  • cc fredrik.holmqvist@… added

Seeing same things as well on r23739. I'm using a AMD64 X2 on a SATA-drive in SATA-mode. Panics after 20-30s. Actually this was on a few revisions earlier. This one (where mmlr fixed a bit on sem) I think reported 'Panic: Double Fault' in wm, but I suspect it will do both.

But at least it boots...

Note: See TracTickets for help on using tickets.