Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Feb 2004 15:19:33 -0800
From:      Steve Kargl <sgk@troutmask.apl.washington.edu>
To:        freebsd-current@freebsd.org
Subject:   mtrash_ctor panic caused by ACPI and ATAng   was Re: Interrupts, ATAng, and wayward pointers, oh my!
Message-ID:  <20040206231933.GA25826@troutmask.apl.washington.edu>
In-Reply-To: <20040205231737.GB17451@troutmask.apl.washington.edu>
References:  <20040205231737.GB17451@troutmask.apl.washington.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Feb 05, 2004 at 03:17:37PM -0800, Steve Kargl wrote:
> Ladies and Gents,
> 
> I have the following (hand transcript) panici during boot from
> a kernel built from 1 hour old sources:
> 
> ad0: 38154MB <IC25N040ATC05-0> [77520/16/63] at ata0-master UDMA100 
> ata1-slave: FAILURE - ATAPI_IDENTIFY no interrupt
> ata1-slave: FAILURE - ATAPI_IDENTIFY no interrupt
> acd0: DVDROM <HL-DT-STDVD-ROM GDR8081N> at ata1-master WDMA2
> Mounting root from ufs:/dev/ad0s3a
> Memory modified after free 0xc407a800(508) val=ff00ff00 @ 0xc407a800
> 
> 
> Fatal trap 12: page fault while in kernel mode
> fault virtual address   = 0xff00ff20
> fault code              = supervisor read, page not present
> instruction pointer     = 0x8:0xc05b945a
> stack pointer           = 0x10:0xd84d1984
> frame pointer           = 0x10:0xd84d19a0
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                         = DPL 0, pres 1, def32 1, gran 1
> processor eflags        = interrupt enabled, resume, IOPL = 0
> current process         = 49 (sh)
> kernel: type 12 trap, code=0
> stopped at    mtrash_ctor+0x3a:    movl  0x20(%eax),%eax
> db> trace
> mtrash_ctor(c407a800,200,0) at mtrash_ctor+0x3a
> uma_zalloc_arg(c0c45cc0,0,2) at uma_zalloc_arg+0x169
> malloc(188,c0650d00,2,3,c3fe27e0) at malloc+0xb7
> elf32_load_file(c41c2528,d4cb20f4,d84d1ab0,d84d1bd0,1000) at elf32_load_file+0x51
> exec_elf32_imgact(d84d1b94,c051fb78,c067d450,0,0) at exec_elf32_imgact+0x4c7
> kern_execve(c3fe27e0,8065098,8065084,8065094,0) at kern_execve+0x33a
> execve(c3fe27e0,d84d1d14,3,0,286) at execve+0x18
> syscall(2f,2f,2f,8065098,8065084) at syscall+0x217
> Xint0x80_syscall() at Xint80_syscall+0x1d
> --- syscall (59, FreeBSD ELF32, execve), eip = 0x2811ca6f, esp=0xbfbfec8c, ebp = 0xbfbfecb8
> db> 
> 
> I can't get a core dump.
> 

Via trial and error, I have determined that the above panic is
caused by ACPI and ATAng.  This is a Dell 4150 laptop.  I can 
build a working kernel with sources checked out via cvsup with
date=2004.01.30.19.00.00.  If I use a date of 2004.01.30.20.00.00,
I retrieve only revision 1.203 of ata-all.c and revision 1.19 of
ata-queue.h.  No other files are changed in sys/ and the resulting
kernel produces the above panic.  Finally, if I set
hint.acpi.0.disabled="1" in /boot/loader.conf.  The kernel that
previously panicked will boot fine.

PS: No, I can't get a core dump because the disk subsystem isn't
    ready for a dump when the panics occurred and I can't hook
    up a serial console.  I can panic the machine as needed.
-- 
Steve



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040206231933.GA25826>