Date: Sat, 04 Sep 2004 00:16:14 +0400 From: Maxim Maximov <mcsi@mcsi.pp.ru> To: John Baldwin <jhb@FreeBSD.org> Cc: Nate Lawson <nate@root.org> Subject: Re: panic on shutdown Message-ID: <4138D10E.4060809@mcsi.pp.ru> In-Reply-To: <200409031341.47074.jhb@FreeBSD.org> References: <4137EA5C.30606@mcsi.pp.ru> <4138A524.8080107@root.org> <4138A806.9020105@mcsi.pp.ru> <200409031341.47074.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote: > On Friday 03 September 2004 01:21 pm, Maxim Maximov wrote: > >>Nate Lawson wrote: >> >>>John Baldwin wrote: >>> >>>>On Thursday 02 September 2004 11:51 pm, Maxim Maximov wrote: >>>> >>>>>Hello. >>>>> >>>>> I just got this panic on shutdown using Power button, hand >>>>>transcribed: >>>>> >>>>>Syncing disks: <numbers> >>>>>No buffers busy after final sync >>>>>Uptime: 21m53s >>>>>Powering system off using ACPI >>>>> >>>>>panic: lock (sleep mutex) Giant not locked @ >>>>>/usr/src/sys/kern/kern_timeout.c:279 >>>>> >>>>>cpuid = 0 >>>>>KDB: enter: panic >>>>>ACPI power-off failed - timeout >>>>> >>>>>Rebooting... >>>>>cpu_reset: called on cpu#1 >>>>>cpu_reset: Stopping other CPUs >>>>> >>>>>Here it hung until I pressed Power button again. Then it shut down. >>>> >>>>Looks like the timeout/callout routine dropped Giant more than it >>>>acquired it. >>> >>>I don't see how this could be triggered by ACPI. If you reboot the >>>system with ACPI disabled (or enabled), do you also get this message? >> >>My system can't boot with ACPI disabled. >> >>Also I want to mention that this panic is rare. I've seen it about 10 >>times in 2-3 months of everyday rebooting. >> >>And by the way, the command issued to shut the system down was 'halt -p' > > > I would hack the timeout code to add some printf's before the > mtx_unlock(&Giant) to dump the function pointer and argument > if !tmtx_owned(&Giant) and then use gdb to figure out what the callout > function was. I.e. something like: > > if (not mpsafe) { > if (!mtx_owned(&Giant)) > printf("func = %p, arg = %p\n", c_func, c_arg) > mtx_unlock(&Giant); > } > Thanks, I recompiled kernel with this code. I'll let you know if this yields anything.. -- Maxim Maximov
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4138D10E.4060809>