ZFS: zpool scrub lockup

Thomas Ronner thomas at ronner.org
Thu Jul 9 17:21:03 UTC 2009


Thomas Ronner wrote:
> Hi Andriy,
> 
> Andriy Gapon wrote:
>> on 08/07/2009 23:30 Thomas Ronner said the following:
>>> Hello,
>>>
>>> I don't know whether this is the right list; maybe freebsd-fs is more
>>> appropriate. So please redirect me there if this isn't the right place.
>>>
>>> My system (i386, Athlon XP) locks hard when scrubbing a certain pool. It
>>> has been doing this for at least a couple of months now. For this reason
>>> I upgraded to 7.2-STABLE recently as this had the latest ZFS bits, but
>>> this doesn't help. It even makes the problem worse: in previous versions
>>> I just hit the reset button and forgot about it, but now it "remembers"
>>> that it was scrubbing (I presume) and tries to resume at the exact same
>>> place, locking up again. This means I haven't been able to mount these
>>> ZFS volumes successfully: the moment I do a /etc/rc.d/zfs start from
>>> single user mode (I have my /, /var and /usr on UFS) it locks up in a
>>> couple of seconds. And by locks up I really mean locks up. No panic,
>>> nothing. Pressing the reset button on the chassis is the only way to
>>> reboot. 
>>
>> You can try adding SW_WATCHDOG option to your kernel which might help 
>> catching the
>> lockup. Things like INVARIANTS and WITNESS might help th debugging too.
>> Serial console for remote debugging would be very useful too.
>>
> 
> I'll definitely try those and report back on this list. Thanks for your 
> answer!

I put the following in my kernel config:

# debugging
options         KDB
options         DDB
options         GDB
options         BREAK_TO_DEBUGGER
options         INVARIANTS
options         INVARIANT_SUPPORT
options         WITNESS
options         WITNESS_KDB
options         DEBUG_VFS_LOCKS
options         DIAGNOSTIC
options         SW_WATCHDOG

When I send a BREAK from my serial console it enters the debugger, so 
that works. But when I start ZFS (/etc/rc.d/zfs start) it freezes again 
and BREAK doesn't enter the debugger. I'll try playing with the watchdog 
now, but I doubt this will help. Any clues?


Thanks,
Thomas


More information about the freebsd-stable mailing list