Date: Thu, 05 Sep 2013 12:59:08 +0200 From: "Ronald Klop" <ronald-freebsd8@klop.yi.org> To: freebsd-arm@freebsd.org Subject: Re: Reminder: Removal of WITHOUT_ARM_EABI Message-ID: <op.w2xp4uin8527sy@212-182-167-131.ip.telfort.nl> In-Reply-To: <op.w2mo6evn8527sy@212-182-167-131.ip.telfort.nl> References: <20130820091527.42127170@bender.Home> <1377271598.1111.78.camel@revolution.hippie.lan> <op.w2k0j5i08527sy@212-182-167-131.ip.telfort.nl> <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>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 30 Aug 2013 14:04:52 +0200, Ronald Klop = <ronald-freebsd8@klop.yi.org> wrote: > On Thu, 29 Aug 2013 19:38:44 +0200, Adrian Chadd <adrian@freebsd.org> = = > wrote: > >> On 29 August 2013 10:25, Warner Losh <imp@bsdimp.com> wrote: >> >>> >>> On Aug 29, 2013, at 11:17 AM, Adrian Chadd wrote: >>> >>> > (top posting so one doesn't have to scroll down to the bottom to r= ead >>> > this..) >>> > >>> > ARM people - is this useful? This looks to me like the serial = >>> console IO >>> > path to enter ddb. I guess uart_bus_attach() is the wrong function= = >>> name >>> and >>> > the real function is something inside the uart RX path >>> >>> This stack trace is poo. These routines long ago finished running, a= nd >>> certainly wouldn't be running in the context of df. >> >> >> They'd be running if he hit the magic "please sir, may I enter ddb?" >> routine. The attach function is just ddb getting the symbol lookup = >> wrong - >> you'd have to run (arm) addr2line to get the PC -> symbol. >> >> But the wchan shows its running, not that it's spun in the kernel. So= , >> either it's running and doign ridiculous amounts of syscalls in some = = >> kind >> of loop, or it's actually spinning in userland. >> >> Re jmg - yeah, maybe running it in userland gdb will shed more light.= > > Hi, it is about the df in this line in /etc/rc.d/initrandom. > > ( kenv; dmesg; df -ib; ps -fauxww; date; sysctl -a ) \ > | dd of=3D/dev/random bs=3D8k 2>/dev/null > > If I (only) remove the df it waits on the ps. If I remove the ps it = > waits on sysctl. Maybe interesting information. > > Because it is still running the boot scripts I don't know how to attac= h = > gdb. Any pointer how to do that? > > ... > > Oh wow, for some lucky reason I add rc_info=3D"YES" to rc.conf and whe= n I = > rebooted it did an fsck of all filesystems and it booted into multiuse= r. = > I am now logged in and see the same as Ian. Top does not work. Df hang= s. = > Etc. > I see I don't have debugging symbols compiled in the userland so I nee= d = > to rebuild to make gdb happy. > > Ronald. 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 = conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for detai= ls. This GDB was configured as "arm-marcel-freebsd"... (gdb) run axu Starting program: /bin/ps axu ^C Program received signal SIGINT, Interrupt. 0x201cc108 in __mult_D2A (a=3D<value optimized out>, b=3D<value optimize= d 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 opti= mized = 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 = "=C2=BARX=C2=BA=C3=83=C3=A8\037\227=C3=A3\231a=C3=B5Zu\020=C3=AF=C3=A9\0= 31=C3=BD=C3=8B\220\001=C3=B9=C3=AA=C3=86=C3=9B=C2=A9iM\001=C2=BC=C2=B5=C3= =AEJ=C3=8D=C2=B1 = =C3=8F=C3=86=C3=83=C2=A9=C3=93.=C3=90\017$)=C3=B6=C3=A4\005=C3=A3eZX=C2=B1= .Z&\004 \005=C3=97\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 Is it possible this gives an endless loop on armv5? Ronald.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?op.w2xp4uin8527sy>