Date: Sat, 7 Sep 2013 15:11:59 +0100 From: Andrew Turner <andrew@fubar.geek.nz> To: Ian Lepore <ian@FreeBSD.org> Cc: freebsd-arm@FreeBSD.org, Ronald Klop <ronald-freebsd8@klop.yi.org> Subject: Re: Reminder: Removal of WITHOUT_ARM_EABI Message-ID: <20130907151159.35dcf45c@bender.Home> In-Reply-To: <1378437358.1111.444.camel@revolution.hippie.lan> References: <20130820091527.42127170@bender.Home> <CAJ-VmokTrMDJtw0OwjMamW-T=ZAx_6%2BhLxq=mxUbfLLA84ecPA@mail.gmail.com> <op.w2k1r5sc8527sy@212-182-167-131.ip.telfort.nl> <CAJ-Vmo=eWwRvKRFADvakTMWo17NrJf665sEQSYkay%2BK-ayBmbg@mail.gmail.com> <op.w2k6dutz8527sy@212-182-167-131.ip.telfort.nl> <CAJ-Vmo=0s95gSvct5dSkP8D9rpL92_cy76T6F7cYSWNJbdSN2Q@mail.gmail.com> <CAJ-Vmo=b4zZx=bY=3h10aL7gZxh=J1m%2Be5LpqozpwcGLC5zHNA@mail.gmail.com> <op.w2k7ng158527sy@212-182-167-131.ip.telfort.nl> <CAJ-Vmomy8dfhC89nOmHE=hpm3cQOV4pW_iCVL5HAOyFsqHTiKg@mail.gmail.com> <op.w2k8jvbq8527sy@212-182-167-131.ip.telfort.nl> <CAJ-VmomABwx=hd7nKVc1KbiZbnFmkgtsY9=DQuxF0xgqtN2wSA@mail.gmail.com> <6046B66D-5F4C-4E8D-923A-3E26DED5DD8F@bsdimp.com> <CAJ-Vmon5x8EB_LppvmxZmh8UPxgJx-jn-J-Ye5efFt4HvXcuuw@mail.gmail.com> <op.w2mo6evn8527sy@212-182-167-131.ip.telfort.nl> <op.w2xp4uin8527sy@212-182-167-131.ip.telfort.nl> <1378437358.1111.444.camel@revolution.hippie.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 05 Sep 2013 21:15:58 -0600 Ian Lepore <ian@FreeBSD.org> wrote: > On Thu, 2013-09-05 at 12:59 +0200, Ronald Klop wrote: > > On Fri, 30 Aug 2013 14:04:52 +0200, Ronald Klop =20 > > <ronald-freebsd8@klop.yi.org> wrote: > >=20 > > > > > > Oh wow, for some lucky reason I add rc_info=3D"YES" to rc.conf and > > > when I rebooted it did an fsck of all filesystems and it booted > > > into multiuser. I am now logged in and see the same as Ian. Top > > > does not work. Df hangs. Etc. > > > I see I don't have debugging symbols compiled in the userland so > > > I need to rebuild to make gdb happy. > > > > > > Ronald. > >=20 > > I have some new data. I compiled world with debug symbols and > > succeeded to boot correctly again (it works if fsck needs to kick > > in). root@:~ # gdb ps > > GNU gdb 6.1.1 [FreeBSD] > > Copyright 2004 Free Software Foundation, Inc. > > GDB is free software, covered by the GNU General Public License, > > and you are > > welcome to change it and/or distribute copies of it under certain =20 > > conditions. > > Type "show copying" to see the conditions. > > There is absolutely no warranty for GDB. Type "show warranty" for > > details. This GDB was configured as "arm-marcel-freebsd"... > > (gdb) run axu > > Starting program: /bin/ps axu > >=20 > >=20 > > ^C > > Program received signal SIGINT, Interrupt. > > 0x201cc108 in __mult_D2A (a=3D<value optimized out>, b=3D<value > > optimized out>) > > at /usr/obj/arm.arm/usr/src/lib/libc/gdtoa_misc.c:311 > > 311 /usr/obj/arm.arm/usr/src/lib/libc/gdtoa_misc.c: No such > > file or director y. > > in /usr/obj/arm.arm/usr/src/lib/libc/gdtoa_misc.c Current > > language: auto; currently minimal (gdb) bt > > #0 0x201cc108 in __mult_D2A (a=3D<value optimized out>, b=3D<value > > optimized =20 > > out>) > > at /usr/obj/arm.arm/usr/src/lib/libc/gdtoa_misc.c:311 > > #1 0x201cc2d8 in __pow5mult_D2A (b=3D<value optimized out>, > > k=3D<value optimized out>) > > at /usr/obj/arm.arm/usr/src/lib/libc/gdtoa_misc.c:409 > > #2 0x201c2b68 in __dtoa (d0=3D<value optimized out>, > > mode=3D<value optimized out>, ndigits=3D1, sign=3D<value optimized > > out>, rve=3D<value optimized out>) > > at /usr/obj/arm.arm/usr/src/lib/libc/gdtoa_dtoa.c:533 > > #3 0x201b8c70 in __vfprintf (fp=3D0xbfffe238, locale=3D0x201ec620, > > fmt0=3D0xeec8 "%.1f", ap=3D{__ap =3D 0xbfffe378}) > > at /usr/src/lib/libc/stdio/vfprintf.c:713 > > #4 0x2015a064 in vasprintf_l (str=3D0xbfffe378, locale=3D0x201ec620, > > fmt=3D0xeec8 "%.1f") at /usr/src/lib/libc/stdio/vasprintf.c:59 > > #5 0x2015a130 in vasprintf (str=3D0xbfffe378, fmt=3D0xeec8 "%.1f") > > at /usr/src/lib/libc/stdio/vasprintf.c:73 > > #6 0x20158748 in asprintf (s=3D<value optimized out>, > > fmt=3D0x20a26338 =20 > > "=BARX=BA=C3=E8\037\227=E3\231a=F5Zu\020=EF=E9\031=FD=CB\220\001=F9=EA= =C6=DB=A9iM\001=BC=B5=EEJ=CD=B1 =20 > > =CF=C6=C3=A9=D3.=D0\017$)=F6=E4\005=E3eZX=B1.Z&\004 \005=D7\005") > > at /usr/src/lib/libc/stdio/asprintf.c:52 > > #7 0x0000b924 in pmem (k=3D<value optimized out>, ve=3D<value > > optimized out>) at /usr/src/bin/ps/print.c:669 > > #8 0x0000d014 in $a () at /usr/src/bin/ps/ps.c:1134 > > #9 0x0000d014 in $a () at /usr/src/bin/ps/ps.c:1134 > >=20 > > Is it possible this gives an endless loop on armv5? >=20 > This is good info, thanks. We've been digging into it a bit more on > irc. One thing I determined that I'll mention so it saves you some > grief... you were lucky to get that backtrace, because of all the > "value optimized out" stuff. If you build the library with -O0 to > prevent that, the backtrace will contain floating point numbers. > Then because gdb uses the libc code we're trying to debug to format > floating point numbers, gdb locks up. The issue causing the endless loop is that the layout of double precision floating-point values appears to have changed. I have just committed r255361 which should fix the issue. Andrew
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130907151159.35dcf45c>