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 _at_ > >>> /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); } -- John Baldwin <jhb_at_FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.orgReceived on Fri Sep 03 2004 - 16:07:14 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:10 UTC