Re: 10.0-RELEASE BTX halted on DELL R900

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sat, 5 Jul 2014 14:57:45 +0200
On 05 Jul 2014, at 08:09, Arrigo Marchiori <ardovm_at_yahoo.it> wrote:
> 
> 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 
>> 10.0-Release via freebsd-update.
>> and please check the link below:
>> http://sw.gddsn.org.cn/jopens/test/btx.jpg
>> 
>> BTW: I can booted 10.0-R from DVD-ROM as expected but got same error 
>> message with flash-driver.
> 
> 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) = 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=176748
> 
> 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


Received on Sat Jul 05 2014 - 10:57:59 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:50 UTC