Skip site navigation (1)Skip section navigation (2)
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>