Date: Mon, 6 Dec 2004 10:56:34 -0800 (PST) From: Doug White <dwhite@gumbysoft.com> To: Henry Whincup <henry@jot.to> Cc: freebsd-current@freebsd.org Subject: Re: ffs_clusteralloc: allocated out of group on 5TB fs (5.3-Stable) Message-ID: <20041206105139.E19661@carver.gumbysoft.com> In-Reply-To: <006501c4da28$5692e130$0a64a8c0@techiebod.com> References: <006501c4da28$5692e130$0a64a8c0@techiebod.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 4 Dec 2004, Henry Whincup wrote: > On a machine with a 5TB array I created a single partition via gpt and a > filesystem using the defaults from newfs. > > All seemed well until I tried to fill the partition with data. With "only" > 870GB or so used utilities started reporting the disk as full. Shortly (a > few hours) after the machine panic'd. Ooh, fun. I wish I had a 5TB array to play with :) > During this time I had been trying to copy file via nfs and rsync onto the > array. After several crashes I tried a simple "dd if=/dev/zero of=./file" > and after writing ~33GB the machine rebooted (the panic details below are > from this reboot) > > Details follow: [..] > Backtrace: > #0 0xc060ce82 in doadump () > #1 0xc060d47b in boot () > #2 0xc060d7a1 in panic () > #3 0xc073445e in ffs_clusteralloc () > #4 0xc0733680 in ffs_hashalloc () > #5 0xc07329ea in ffs_reallocblks_ufs2 () > #6 0xc073205a in ffs_reallocblks () > #7 0xc0657e7c in cluster_write () > #8 0xc074c350 in ffs_write () > #9 0xc066bf10 in vn_write () > #10 0xc062d624 in dofilewrite () > #11 0xc062d4d1 in write () > #12 0xc07bb07f in syscall () > #13 0xc07a8a0f in Xint0x80_syscall () > > Kernel is the default SMP kernel and sources are from 28th Nov 2004. > > I assume a proper debug kernel with symbols would be more helpful, but I > just wanted to know if this was a known bug - or something I have done > wrong, first. > Other than that is there anything else I can provide to help find this bug? Very large FFS filesystems have not been extensively tested. Maybe you can help :) You should be able to compile GENERIC with makeoptions "DEBUG=-g" in the config file and that will leave a kernel.debug in the compile directory that you can use. Once you get that loaded up the output of 'bt full' would be nice to have. I suspect an integer overflow in dtog(), which is a macro. 1545 if (dtog(fs, bno) != cg) 1546 panic("ffs_clusteralloc: allocated out of group"); -- Doug White | FreeBSD: The Power to Serve dwhite@gumbysoft.com | www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041206105139.E19661>