Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Jul 2014 14:57:45 +0200
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Arrigo Marchiori <ardovm@yahoo.it>
Cc:        stable@freebsd.org, questions@freebsd.org, current@freebsd.org, wsk <wsk@gddsn.org.cn>
Subject:   Re: 10.0-RELEASE BTX halted on DELL R900
Message-ID:  <5881B5EA-B625-4E47-ADCB-3F2F894A8630@FreeBSD.org>
In-Reply-To: <20140705060939.GA11739@flea.casa>
References:  <53B659B7.3020202@gddsn.org.cn> <20140705060939.GA11739@flea.casa>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_8BFBC2F8-7735-4D1E-8644-B92496494102
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

On 05 Jul 2014, at 08:09, Arrigo Marchiori <ardovm@yahoo.it> wrote:
>=20
> On Fri, Jul 04, 2014 at 03:37:27PM +0800, wsk wrote:
>> lists
>>     I met a BTX halted problem while upgrade Freebsd 9.0-RC3 to=20
>> 10.0-Release via freebsd-update.
>> and please check the link below:
>> http://sw.gddsn.org.cn/jopens/test/btx.jpg
>>=20
>> BTW: I can booted 10.0-R from DVD-ROM as expected but got same error=20=

>> message with flash-driver.
>=20
> I don't remember if that error message means ``division by zero''.

It certainly looks a lot like it.  The code at cs:eip from the OP's
screenshot disassembles to:

   36217:	f7 35 bc d6 03 00    	divl   0x3d6bc
   3621d:	85 ff                	test   %edi,%edi
   3621f:	74 05                	je     0x36226
   36221:	89 1f                	mov    %ebx,(%edi)
   36223:	89 4f 04             	mov    %ecx,0x4(%edi)
   36226:	89 c2                	mov    %eax,%edx
   36228:	e9 c2 00 00 00       	jmp    0x362ef
   3622d:	66 c7 45 ea 00 00    	movw   $0x0,-0x16(%ebp)
   36233:	89 c8                	mov    %ecx,%eax

This is a piece of code from /usr/src/lib/libstand/qdivrem.c, which is
used to do 64-bit divides.

It would be nice if you could try out this loader binary, which has a
few additional checks for zero sector counts or sizes:

http://www.andric.com/freebsd/loader.edd
SHA256 (loader.edd) =3D =
89f99500adb3a8feaa84336ce625975bcfdc0f886514ab02de4992859a671aa9

However, this might still mis-detect your disk sizes, obviously.


> Just in case, you could try the patch attached to this bug:
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D176748
>=20
> The patch was compiled for 9-STABLE; if it does not apply to the 10.0
> sources, then drop me a line so I can adapt it.

I tried this patch on a few FreeBSD VMs, and each of them stopped being
able to mount the root filesystem because of it.  I don't really know
what the explanation is...

-Dimitry


--Apple-Mail=_8BFBC2F8-7735-4D1E-8644-B92496494102
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)

iEYEARECAAYFAlO39lAACgkQsF6jCi4glqN6TwCg43hL9pRYMnkhC+4dLhcyYQlI
kDoAoOV0P1iLuiAsuYWctYoSAH7YBFMV
=GmAj
-----END PGP SIGNATURE-----

--Apple-Mail=_8BFBC2F8-7735-4D1E-8644-B92496494102--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5881B5EA-B625-4E47-ADCB-3F2F894A8630>