panic: ffs_reallocblk: start == end

Peter Wemm peter at wemm.org
Fri Nov 30 18:30:49 PST 2007


Kostik Belousov wrote:
> On Thu, Nov 15, 2007 at 10:05:26PM -0700, Scott Long wrote:
>   
>> Kostik Belousov wrote:
>>     
>>> On Thu, Nov 15, 2007 at 11:16:02PM +0100, Kris Kennaway wrote:
>>>       
>>>> Kris Kennaway wrote:
>>>>         
>>>>> I got this panic on an 8 core amd64 running 8.0 when writing to a ufs on 
>>>>> a md device:
>>>>>
>>>>> panic: ffs_reallocblk: start == end
>>>>>
>>>>> db> wh
>>>>> Tracing pid 59911 tid 100115 td 0xffffff0003b90000
>>>>> kdb_enter() at kdb_enter+0x31
>>>>> panic() at panic+0x1c0
>>>>> ffs_reallocblks() at ffs_reallocblks+0xb11
>>>>> VOP_REALLOCBLKS_APV() at VOP_REALLOCBLKS_APV+0xb9
>>>>> cluster_write() at cluster_write+0x38a
>>>>> ffs_write() at ffs_write+0x575
>>>>> VOP_WRITE_APV() at VOP_WRITE_APV+0x147
>>>>> vn_write() at vn_write+0x213
>>>>> dofilewrite() at dofilewrite+0x9a
>>>>> kern_writev() at kern_writev+0x4f
>>>>> write() at write+0x4b
>>>>> syscall() at syscall+0x301
>>>>> Xfast_syscall() at Xfast_syscall+0xab
>>>>> --- syscall (4, FreeBSD ELF64, write), rip = 0x800a65d0c, rsp = 
>>>>> 0x7fffffffd268, rbp = 0x2800 ---
>>>>>
>>>>> Kris
>>>>>
>>>>>           
>>>> Another one of these on a different machine.  Looks like something is 
>>>> definitely broken.
>>>>
>>>>         
>>> Kris,
>>> this is consequence of the checks moved from DIAGNOSTIC to INVARIANTS
>>> ifdef for ffs, and actually being compiled as result. Peter Holm reported
>>> the "ffs_truncate3" panic.
>>>       
>> So does this check identify a real problem that needs to be fixed?
>>     
>
> I believe so for ffs_truncate3. It seems that vtruncbuf sometime skips the
> indirect blocks when cleaning buffer queues (at least when truncating to
> zero length).
>   
Hmm.   Well, can we fix the reallocblks one then?  My dev workstation at 
home is dying 1-2 times a day with "panic: ffs_reallocblks: start == end".

Cheers,
-Peter



More information about the freebsd-current mailing list