Re: spinlock held too long on reboot

From: Attilio Rao <attilio_at_freebsd.org>
Date: Tue, 4 Aug 2009 23:45:11 +0200
2009/7/29 Attilio Rao <attilio_at_freebsd.org>:
> 2009/5/23 Stefan Bethke <stb_at_lassitu.de>:
>> I wrote:
>>
>>> Syncing disks, vnodes remaining...0 done
>>> All buffers synced.
>>> GEOM_MIRROR: Device diesel_root: provider mirror/diesel_root destroyed.
>>> Uptime: 6m32s
>>> GEOM_MIRROR: Device diesel_root destroyed.
>>> Rebooting...
>>> cpu_reset: Stopping other CPUs
>>> spin lock 0xffffffff8078c900 (sched lock 1) held by 0xffffff00014d4ab0
>>> (tid 100002) too long
>>> panic: spin lock held too long
>>> cpuid = 0
>>> KDB: enter: panic
>>> [thread pid 77 tid 100090 ]
>>> Stopped at      kdb_enter+0x3d: movq    $0,0x48bbd0(%rip)
>>> db> bt
>>> Tracing pid 77 tid 100090 td 0xffffff000457bab0
>>> kdb_enter() at kdb_enter+0x3d
>>> panic() at panic+0x17b
>>> _mtx_lock_spin_failed() at _mtx_lock_spin_failed+0x39
>>> _mtx_lock_spin() at _mtx_lock_spin+0x9e
>>> _mtx_lock_spin_flags() at _mtx_lock_spin_flags+0x72
>>> sched_balance_group() at sched_balance_group+0xc5
>>> sched_balance_group() at sched_balance_group+0x1f8
>>> sched_balance() at sched_balance+0xa2
>>> sched_clock() at sched_clock+0xf6
>>> statclock() at statclock+0xbd
>>> lapic_handle_timer() at lapic_handle_timer+0x197
>>> Xtimerint() at Xtimerint+0x8c
>>> --- interrupt, rip = 0xffffffff80541cc4, rsp = 0xffffff80771dba90, rbp =
>>> 0xffffff80771dbab0 ---
>>> DELAY() at DELAY+0x64
>>> cpu_reset() at cpu_reset+0xdd
>>> boot() at boot+0x2e6
>>> reboot() at reboot+0x42
>>> syscall() at syscall+0x1a5
>>> Xfast_syscall() at Xfast_syscall+0xd0
>>> --- syscall (55, FreeBSD ELF64, reboot), rip = 0x800788eec, rsp =
>>> 0x7fffffffeca8, rbp = 0 ---
>>
>>
>> I've only seen this once.  If I should encounter it again, is there
>> something you'd like me to look at?
>
> [ Sorry, trying to add anyone who alredy reported such a problem even
> if I know many of you experienced it on -STABLE]

If you are experiencing this problem, you would like to test this port
from rink_at_ on 7.2 of the new version of the patch:
http://people.freebsd.org/~rink/tmp/ipi_7stable.diff

while the -CURRENT version that probabilly is going to be committed
soon is here:
http://www.freebsd.org/~attilio/stop_nmi2.diff

Thanks,
Attilio


-- 
Peace can only be achieved by understanding - A. Einstein
Received on Tue Aug 04 2009 - 19:45:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:53 UTC