Kernel panic when reboot on server with a Promise SX4000 and two ATA disks RAID1.

Alexander Motin mav at
Mon May 18 05:36:39 UTC 2009


Magnus Kling wrote:
> After having some trouble with ACPI kernel in 7.1, regarding booting 
> with a Promise SX4000 card in a RAID1 setup, I tried to upgrade to 
> CURRENT to test the bits that John Baldwin wrote and had commited to head.
> Result:
> Well, it boots ok but on reboot I get a kernel panic after the disks 
> have made the sync.
> Attached is a bt and panic message.

According to backtrace, system tried to reference address 0xc while 
sending final flush command to the drive. ATA has no other shutdown 
actions except this, so any contexts and states should not be lost in 
any case. And as soon as your drive was detected, the controller is 
probably operable. Haven't you seen any other ATA error messages during 
boot or later?

If my i386 kernel is more or less coherent to your's, 
ata_promise_sx4_command+0x39 address where it have crashed means
	caddr_t window = rman_get_virtual(ctlr->r_res1);
line, and especially 'ctlr->r_res1' part. So looks like
	struct ata_pci_controller *ctlr = device_get_softc(gparent);
returned NULL there. But the same technique used by many other ATA 
drivers without problems, so I am a bit surprised.

Is the problem continuously repeatable? Does the controller operates 
well all other time before shutdown? Are you sure that you have rebuilt 
your kernel correctly?

Alexander Motin

More information about the freebsd-current mailing list