Date: Sat, 29 Dec 2012 15:01:55 -0500 From: Chris Ross <cross+freebsd@distal.com> To: Chris Ross <cross+freebsd@distal.com> Cc: freebsd-sparc64@freebsd.org, Marius Strobl <marius@alchemy.franken.de> Subject: Re: Changes to kern.geom.debugflags? Message-ID: <6FC4189B-85FA-466F-AA00-C660E9C16367@distal.com> In-Reply-To: <A947C892-5379-4F70-BFA0-0A7AB94DF0C6@distal.com> References: <7AA0B5D0-D49C-4D5A-8FA0-AA57C091C040@distal.com> <6A0C1005-F328-4C4C-BB83-CA463BD85127@distal.com> <20121225232507.GA47735@alchemy.franken.de> <8D01A854-97D9-4F1F-906A-7AB59BF8850B@distal.com> <A947C892-5379-4F70-BFA0-0A7AB94DF0C6@distal.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Dec 27, 2012, at 1:15 PM, Chris Ross <cross+freebsd@distal.com> = wrote: >=20 > On Dec 27, 2012, at 10:43 AM, Chris Ross wrote: >>>> FreeBSD/sparc64 ZFS boot block >> Boot path: /pci@1c,600000/scsi@2/disk@1,0:a >> Consoles: Open Firmware console =20 >> ERROR: Last Trap: Division by Zero >>=20 >> {1} ok ctrace >> No saved state >> {1} ok=20 >>=20 >> Anything else you can suggest to get debugging information out of = zfsloader? >=20 > So, I've started with the tiring process of "printf debugging". I = have gotten out of > the loader code, and can show that it's inside of the call to the zfs = devsw dv_init() > call where it's failing. Okay. Many many iterations, and I found out where it's crashing. In sys/boot/zfs/zfsimpl.c, in dnode_read(), the first line of the while = loop is: uint64_t bn =3D offset / bsize; And, bsize is calculated from: int bsize =3D dnode->dn_datablkszsec << SPA_MINBLOCKSHIFT; When running the code, though, I can confirm that bsize is 0 before = the divide is hit, thus causing the divide by zero trap. I'm going to guess this is a problem with dnode->dn_datablkszsec. Has = anything changed recently in zfs_fmtdev, or more likely zfs_get_root() or = objset_get_dnode(), which is the callchain right before dnode_read() ? - Chris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6FC4189B-85FA-466F-AA00-C660E9C16367>