Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Aug 2005 23:26:12 +0200
From:      Emanuel Strobl <Emanuel.strobl@gmx.net>
To:        freebsd-current@freebsd.org
Subject:   Re: BTX failure [Was: Re: pxeboot problems with BETA2]
Message-ID:  <200508182326.21779@harrymail>
In-Reply-To: <200508171529.45664.jhb@FreeBSD.org>
References:  <200508161405.18729@harrymail> <200508171643.57044@harrymail> <200508171529.45664.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart1362037.VnUTMyujBd
Content-Type: text/plain;
  charset="iso-8859-6"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

[...]
> > int=3D00000006  err=3D00000000  efl=3D00010202  eip=3D00023c21
> > eax=3D00000000  ebx=3D000384e0  ecx=3D000384e0  edx=3D00000001
> > esi=3D00001000  edi=3D00000029  ebp=3D00086770  esp=3D00086758
> > cs=3D002b  ds=3D0033  es=3D0033    fs=3D0033  gs=3D0033  ss=3D0033
> > cs:eip=3D0f 4f c2 a3 c8 7d 03 00-8d 41 0c c7 41 04 fd 44
> >        ff 55 89 39 c6 44 39 ff-fe 83 c4 0c 5b 5e 5f 5d
> > ss:esp=3Db4 7d 03 00 29 00 00 00-00 10 00 00 00 00 00 00
> >        83 57 02 00 02 00 00 00-a0 67 08 00 98 1c 02 00
> > BTX halted
> >
> > Any clue? Regarding cvsweb nothing changed recently, and I had net4501
> > boxes pxebooting fine with FreeBSD 5.3.....
>
> Hmm.  Int 6 is an invalid opcode exception:
>
> 00000000  0F4FC2            cmovg eax,edx
> 00000003  A3C87D0300        mov [0x37dc8],eax
> 00000008  8D410C            lea eax,[ecx+0xc]
> 0000000B  C74104FD44FF55    mov dword [ecx+0x4],0x55ff44fd
> 00000012  8939              mov [ecx],edi
> 00000014  C64439FFFE        mov byte [ecx+edi-0x1],0xfe
> 00000019  83C40C            add esp,byte +0xc
> 0000001C  5B                pop ebx
> 0000001D  5E                pop esi
> 0000001E  5F                pop edi
> 0000001F  5D                pop ebp
>
> I'm guessing that there's been a stack overflow or some such.  Your eip
> is in the loader.  You can try using the loader.sym from your loader
> binary to look up that eip address.  In the loader here on my laptop
> it's in the write function:
>
> % nm /usr/obj/usr/src/sys/boot/i386/loader/loader.sym | sort

Hmm, thanks fot that detailed explanation, but it's still beond my level :(
How Do I get a loader.sym? Like you told me I rebuilt libstand with=20
DEBUG_FLAGS=3D-g and also /sys/boot but I don't habe such a file...

Thanks,

=2DHarry

> ...
> 00023b9c T readdirfd
> 00023c14 T write
> 00023d18 T lseek
>
> If you want to be able to use gdb, then rebuild libstand with debugging
> (make DEBUG_FLAGS=3D-g) and rebuild all of /sys/boot with debugging (make
> DEBUG_FLAGS=3D-g).  You can then
> use /usr/obj/usr/src/sys/boot/i386/pxeldr/pxeboot for your pxeboot and
> you can run gdb on /usr/obj/usr/src/sys/boot/i386/loader/loader.sym and
> you can do listings of the addresses for eip, etc.

--nextPart1362037.VnUTMyujBd
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (FreeBSD)

iD8DBQBDBPz9Bylq0S4AzzwRArtzAJ4igAkVjNeJHWY13uEqfl1gIlwOMgCcCDbP
uB1nZnh8/edGDDj5M/R6wZc=
=f6hs
-----END PGP SIGNATURE-----

--nextPart1362037.VnUTMyujBd--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200508182326.21779>