DragonFly bugs List (threaded) for 2007-03
DragonFly BSD
DragonFly bugs List (threaded) for 2007-03
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: [issue568] ACPI(?) double-free on shutdown (More K9AGM fun)


From: YONETANI Tomokazu <qhwt+dfly@xxxxxxxxxx>
Date: Sun, 11 Mar 2007 15:12:40 +0900

On Sun, Mar 11, 2007 at 04:23:03AM -0000, Joe Floid Kanowitz wrote:
> 
> Joe "Floid" Kanowitz <jkanowitz@snet.net> added the comment:
> 
> @ Tomokazu,
> 
> Unfortunately your patch doesn't seem to be changing the behavior.  
> http://bugs.dragonflybsd.org/file216/3-08-2007%20qwht%20patch%20panic%201.png and
> http://bugs.dragonflybsd.org/file217/3-08-2007%20qwht%20patch%20panic%202.png
> show the result with a SMP kernel built from today's sources (+ patch); UP did
> basically the same thing with some other quirks.  (I use gdm, and for some
> inexplicable reason moving the mouse causes it to freeze with the UP kernel.)

I was under the impression that just going to single-user mode and
type `reboot' could trigger the panic, no?

> @ Matt,
> 
> Since Tomokazu's patch showed up before I could test, I still haven't tried
> yours and will do so next just to prove it.  This bug obviously sucks for anyone
> with a need to reboot remotely,

Unfortunately I can't reproduce the same panic on both UP and SMP kernels
here.  Can you try attached patch?  This is a slightly modified version of
Matt's patch but can print the function and the line number of the previous
caller of AcpiOsReleaseCache().  To build the acpi driver, revert previous
patches, then
$ export ACPI_DEBUG=yes ACPI_DEBUG_CACHE=yes
(for SMP kernel, you also need "export CFLAGS='-O -pipe -DSMP=1'")
$ cd /sys/dev/acpica5
$ make cleandir; make cleandir
$ make -s obj && make -s depend && make -s
$ su
# make install && reboot

You don't need to try this for both UP and SMP kernels, as either of them
can trigger the panic.  Note that this patch avoids the double-free panic
so you need to use `shutdown -p' or `shutdown -h' instead of `reboot'
(unless dmesg survives across reboot).

Cheers.

Attachment: debug-cache.diff.gz
Description: application/gunzip



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]