On 05 Jul 2014, at 08:09, Arrigo Marchiori <ard...@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

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to