Bug 141112

Summary: [ata] [panic] Kernel panic when booting with any sATA drives
Product: Base System Reporter: Antti Myller <techman>
Component: amd64Assignee: freebsd-amd64 (Nobody) <amd64>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 8.0-RELEASE   
Hardware: Any   
OS: Any   

Description Antti Myller 2009-12-02 16:20:03 UTC
A system with /boot and / mounts on primary pATA master has a kernel panic during booting (fatal trap 12) if there is any sATA drives in any sATA ports. If booted with ACPI off or in safe mode system fails to find any drives and root mount fails.

Motherboard is ASRock K8 Combo-Z and has the latest BIOS revision. Recompiled kernel with AHCI on while using loader.conf options: hint.ahci.X.msi="0", hint.ahcich.X.pm_level="0" and hint.ahcich.X.sata_rev="1" does boot not either if sATA drives are attached.

Fix: 

Problem can be fixed only by removing all sATA drives completely either from BIOS settings or physically.
How-To-Repeat: Problem happens everytime if there is any sATA drive in any sATA port.
Comment 1 Alexander Motin freebsd_committer freebsd_triage 2009-12-02 22:46:43 UTC
To debug problem we need more information about the problem.
What chipset do you have?
Have you tried both old ataahci and new ahci drivers?
Can you grab panic message?
Can you build kernel with debugger and get backtrace of the panic?
Can you try 8-STABLE?

-- 
Alexander Motin
Comment 2 Antti Myller 2009-12-03 20:35:51 UTC
>To debug problem we need more information about the problem.
>What chipset do you have?
>Have you tried both old ataahci and new ahci drivers?
>Can you grab panic message?
>Can you build kernel with debugger and get backtrace of the panic?
>Can you try 8-STABLE?
>
>-- 
>Alexander Motin
>

Chipset: Integrated Single Chip ULi(ALi) M1689

Tried with both ataahci and ahci. Both have the same result.

Panic Message:
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0x0
fault code = supervisor read instruction, page not present
instruction pointer = 0x20:0x0
stack pointer = 0x20:0xffffffff80e1e6b0
frame pointer = 0x20:0xffffffff80e1e700
code segment = base rx0, limit 0xfffff, type 0x1b
= DPL0, pres 1, long 1, def32 0, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 0 (swapper)
trap number = 12
panic : page fault
cpuid = 0
Uptime: 1s
Cannot dump. Device not defined or unavailable.

Debugger is bilt in kernel, but is unable to dump with savecore, no 
dumps found.

This is on server so I'd like to keep it as 8.0-RELEASE.

---
Antti Myller
Comment 3 Alexander Motin freebsd_committer freebsd_triage 2009-12-04 09:20:55 UTC
> instruction pointer = 0x20:0x0
means that we jumped to NULL. The question is from where.

> Debugger is bilt in kernel, but is unable to dump with savecore, no
> dumps found.

OK, then you should be able to at least get stack back trace.

-- 
Alexander Motin
Comment 4 Alexander Motin freebsd_committer freebsd_triage 2010-08-02 20:43:54 UTC
State Changed
From-To: open->closed

Originator reported that problem gone in 8.1-RELEASE.