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
Description: Message signed with OpenPGP using GPGMail