Date: Thu, 29 Aug 2013 16:41:55 +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.w2k1r5sc8527sy@212-182-167-131.ip.telfort.nl> In-Reply-To: <CAJ-VmokTrMDJtw0OwjMamW-T=ZAx_6%2BhLxq=mxUbfLLA84ecPA@mail.gmail.com> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 29 Aug 2013 16:23:20 +0200, Adrian Chadd <adrian@freebsd.org> wrote: > Hm, which commit broke this? > > Did someone commit something to the random number framework that is > hanging > the kernel early because there's not enough entropy? > > > > -adrian As Ian pointed out, it hangs on 'df'. I added 'set -x' to initrandom_start() in /etc/rc.d/initrandom which gives this output. + sysctl kern.random + soft_random_generator='kern.random.adaptors: yarrow kern.random.yarrow.gengateinterval: 10 kern.random.yarrow.bins: 10 kern.random.yarrow.fastthresh: 192 kern.random.yarrow.slowthresh: 256 kern.random.yarrow.slowoverthresh: 2 kern.random.sys.seeded: 1 kern.random.sys.harvest.ethernet: 1 kern.random.sys.harvest.point_to_point: 1 kern.random.sys.harvest.interrupt: 1 kern.random.sys.harvest.swi: 0' + echo -n 'Entropy harvesting:' Entropy harvesting:+ [ ! -z 'kern.random.adaptors: yarrow kern.random.yarrow.gengateinterval: 10 kern.random.yarrow.bins: 10 kern.random.yarrow.fastthresh: 192 kern.random.yarrow.slowthresh: 256 kern.random.yarrow.slowoverthresh: 2 kern.random.sys.seeded: 1 kern.random.sys.harvest.ethernet: 1 kern.random.sys.harvest.point_to_point: 1 kern.random.sys.harvest.interrupt: 1 kern.random.sys.harvest.swi: 0' ] + [ -w /dev/random ] + checkyesno harvest_interrupt + eval '_value=$harvest_interrupt' + _value=YES + debug 'checkyesno: harvest_interrupt is set to YES.' + return 0 + /sbin/sysctl kern.random.sys.harvest.interrupt=1 + echo -n ' interrupts' interrupts+ checkyesno harvest_ethernet + eval '_value=$harvest_ethernet' + _value=YES + debug 'checkyesno: harvest_ethernet is set to YES.' + return 0 + /sbin/sysctl kern.random.sys.harvest.ethernet=1 + echo -n ' ethernet' ethernet+ checkyesno harvest_p_to_p + eval '_value=$harvest_p_to_p' + _value=YES + debug 'checkyesno: harvest_p_to_p is set to YES.' + return 0 + /sbin/sysctl kern.random.sys.harvest.point_to_point=1 + echo -n ' point_to_point' point_to_point+ [ -w /dev/random ] + feed_dev_random /entropy + [ -f /entropy -a -r /entropy -a -s /entropy ] + cat /entropy + dd of=/dev/random bs=8k + better_than_nothing + dd of=/dev/random bs=8k + kenv + dmesg + df -ib db> ps pid ppid pgrp uid state wmesg wchan cmd 47 43 17 0 R+ CPU 0 df 44 36 17 0 S+ piperd 0xc3e9c720 dd 43 36 17 0 S+ wait 0xc3e3a960 sh 36 17 17 0 S+ wait 0xc3e3b320 sh 17 1 17 0 Ss+ wait 0xc3e3b640 sh 16 0 0 0 DL - 0xc0cca3b0 [schedcpu] 15 0 0 0 DL syncer 0xc0cdb7cc [syncer] 9 0 0 0 DL vlruwt 0xc3e40000 [vnlru] 8 0 0 0 DL psleep 0xc0cdb550 [bufdaemon] 7 0 0 0 DL pollid 0xc0cc9b68 [idlepoll] 6 0 0 0 RL [pagezero] 5 0 0 0 DL psleep 0xc0cea7c4 [pagedaemon] 4 0 0 0 DL ccb_scan 0xc0cbdd10 [xpt_thrd] 14 0 0 0 DL (threaded) [usb] 100028 D - 0xc3d1cd34 [usbus0] 100027 D - 0xc3d1cd04 [usbus0] 100026 D - 0xc3d1ccd4 [usbus0] 100025 D - 0xc3d1cca4 [usbus0] 13 0 0 0 DL - 0xc0cc0a44 [yarrow] 3 0 0 0 DL crypto_r 0xc0cde6c0 [crypto returns] 2 0 0 0 DL crypto_w 0xc0cde6b0 [crypto] 12 0 0 0 DL (threaded) [geom] 100008 D - 0xc0ce81a8 [g_down] 100007 D - 0xc0ce81a4 [g_up] 100006 D - 0xc0ce81a0 [g_event] 11 0 0 0 WL (threaded) [intr] 100024 I [intr19: ehci0] 100023 I [intr22: cesa0] 100022 I [swi0: uart uart] 100021 I [intr13: mge0] 100020 I [intr12: mge0] 100018 I [swi5: fast taskq] 100016 I [swi6: Giant taskq] 100015 I [swi6: task queue] 100012 I [swi2: cambio] 100005 I [swi3: vm] 100004 I [swi1: netisr 0] 100003 I [swi4: clock] 10 0 0 0 RL [idle] 1 0 1 0 SLs wait 0xc3466640 [init] 0 0 0 0 DLs (threaded) [kernel] 100019 D - 0xc3453c80 [nand taskq] 100017 D - 0xc3454480 [thread taskq] 100014 D - 0xc3454d80 [ffs_trim taskq] 100013 D - 0xc3454e00 [kqueue taskq] 100000 D swapin 0xc0ce81c8 [swapper] Regards, Ronald. > > > > On 29 August 2013 07:15, Ronald Klop <ronald-freebsd8@klop.yi.org> wrote: > >> On Fri, 23 Aug 2013 17:26:38 +0200, Ian Lepore <ian@freebsd.org> wrote: >> >> On Tue, 2013-08-20 at 09:15 +0100, Andrew Turner wrote: >>> >>>> I am planning on removing WITHOUT_ARM_EABI before 10.0 is released. As >>>> this is planned on happening soon it this change is likely to happen >>>> within the next two weeks, after a short heads up. >>>> >>>> This is a reminder for people who have not yet moved to the ARM EABI >>>> to >>>> do so now as their build will break when this option is removed. >>>> >>>> >>> It turns out that on DreamPlug (armv5te) the unit won't boot all the >>> way >>> to multiuser mode with EABI, building with gcc or clang. I first >>> discovered this a few days ago when I realized I was still building >>> with >>> OABI on dreamplug and tried to switch. I tried going back to a >>> revision >>> in late July but that didn't make any difference. The before getting >>> any further with bisecting I heard from Ilya Bakulin on irc that the >>> problems I'm seeing (hanging in rc.d/initrandom and rc.d/var) go back >>> to >>> at least April. >>> >>> The rc.d/initrandom problem seems to be while running the 'df' command >>> to "generate entropy." In rc.d/var the problem is while running newfs >>> on /dev/md0, and I can more readily confirm that -- if I use ^C to get >>> past the hangs in rc.d processing it'll limp its way to multiuser mode, >>> and if you manually try to "newfs /dev/md0" it definitely hangs the >>> same >>> way. When it's hung in that state, a ^T gives no info, but a ^C does >>> break out of the hang. I've been unable to get any more info about >>> how/why it's hung. >>> >>> I can understand a desire to not let any 10.0 release get into the wild >>> with OABI support, but I'm not sure that removing the ability to even >>> try OABI to see if it fixes a problem is a good idea. EABI just >>> doesn't >>> have enough testing to declare that it's solid (because clearly it's >>> not >>> yet solid). Can we declare that OABI isn't supported without removing >>> the ability to fall back to it for testing purposes? I wouldn't mind >>> if >>> enabling it requires something like >>> WITH_UNSUPPORTED_OABI_FOR_**TESTING. >>> >>> -- Ian >>> >> >> My Sheevaplug does not finish booting anymore either. >> >> ## Starting application at 0x00900000 ... >> KDB: debugger backends: ddb >> KDB: current backend: ddb >> Copyright (c) 1992-2013 The FreeBSD Project. >> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 >> The Regents of the University of California. All rights >> reserved. >> FreeBSD is a registered trademark of The FreeBSD Foundation. >> FreeBSD 10.0-CURRENT #12: Thu Aug 29 15:14:50 CEST 2013 >> root@mailjail.klop.ws:/usr/**obj/arm.arm/usr/src/sys/**SHEEVAPLUG >> arm >> FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610 >> CPU: Feroceon 88FR131 rev 1 (Marvell core) >> Little-endian DC enabled IC enabled WA disabled DC streaming enabled >> BTB disabled L2 enabled L2 prefetch enabled >> WB enabled EABT branch prediction enabled >> 16KB/32B 4-way instruction cache >> 16KB/32B 4-way write-back-locking-C data cache >> real memory = 536870912 (512 MB) >> avail memory = 518934528 (494 MB) >> SOC: Marvell 88F6281 rev A0, TClock 200MHz >> Instruction cache prefetch enabled, data cache prefetch enabled >> 256KB 4-way set-associative write-through unified L2 cache >> random device not loaded; using insecure entropy >> random: <Software, Yarrow> initialized >> localbus0: <Marvell device bus> on fdtbus0 >> nand0: <Marvell NAND controller> mem 0xf9300000-0xf93fffff on localbus0 >> nandbus0: <NAND bus> on nand0 >> lnand0: <Samsung NAND 512MiB 3,3V 8-bit> on nandbus0 >> lnand0: Found BBT table for chip >> simplebus0: <Flattened device tree simple bus> on fdtbus0 >> ic0: <Marvell Integrated Interrupt Controller> mem 0xf1020200-0xf102023b >> on simplebus0 >> timer0: <Marvell CPU Timer> mem 0xf1020300-0xf102032f irq 1 on >> simplebus0 >> Event timer "CPUTimer0" frequency 200000000 Hz quality 1000 >> Timecounter "CPUTimer1" frequency 200000000 Hz quality 1000 >> gpio0: <Marvell Integrated GPIO Controller> mem 0xf1010100-0xf101011f >> irq >> 35,36,37,38,39,40,41 on simplebus0 >> rtc0: <Marvell Integrated RTC> mem 0xf1010300-0xf1010307 on simplebus0 >> mge0: <Marvell Gigabit Ethernet controller> mem 0xf1072000-0xf1073fff >> irq >> 12,13,14,11,46 on simplebus0 >> mge0: Ethernet address: 00:50:43:01:6f:12 >> miibus0: <MII bus> on mge0 >> e1000phy0: <Marvell 88E1116R Gigabit PHY> PHY 0 on miibus0 >> e1000phy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, >> 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto >> uart0: <16550 or compatible> mem 0xf1012000-0xf101201f irq 33 on >> simplebus0 >> uart0: console (1066,n,8,1) >> uart1: <16550 or compatible> mem 0xf1012100-0xf101211f irq 34 on >> simplebus0 >> cesa0: <Marvell Cryptographic Engine and Security Accelerator> mem >> 0xf1030000-0xf103ffff irq 22 on simplebus0 >> ehci0: <Marvell Integrated USB 2.0 controller> mem 0xf1050000-0xf1050fff >> irq 48,19 on simplebus0 >> usbus0: EHCI version 1.0 >> usbus0: set host controller mode >> usbus0 on ehci0 >> cryptosoft0: <software crypto> >> Timecounters tick every 1.000 msec >> ipfw2 initialized, divert loadable, nat loadable, default to accept, >> logging disabled >> usbus0: 480Mbps High Speed USB v2.0 >> ugen0.1: <Marvell> at usbus0 >> uhub0: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on >> usbus0 >> Root mount waiting for: usbus0 >> uhub0: 1 port with 1 removable, self powered >> Root mount waiting for: usbus0 >> ugen0.2: <USB 2.0> at usbus0 >> umass0: <USB 2.0 USB Flash Drive, class 0/0, rev 2.00/11.00, addr 2> on >> usbus0 >> umass0: SCSI over Bulk-Only; quirks = 0x4000 >> umass0:0:0:-1: Attached to scbus0 >> Trying to mount root from ufs:/dev/da0s2 []... >> mountroot: waiting for device /dev/da0s2 ... >> da0 at umass-sim0 bus 0 scbus0 target 0 lun 0 >> da0: <USB 2.0 USB Flash Drive 1100> Removable Direct Access SCSI-0 >> device >> da0: 40.000MB/s transfers >> da0: 3894MB (7975296 512 byte sectors: 255H 63S/T 496C) >> da0: quirks=0x2<NO_6_BYTE> >> Setting hostuuid: 64f53bc5-bfde-11d3-902f-**005043016d4c. >> Setting hostid: 0x2afd1481. >> No suitable dump device was found. >> Entropy harvesting: interrupts ethernet point_to_point >> >> ^C or ^T don't do anything. But when I remove the usb-stick it prints >> info >> about it. >> >> ugen0.2: <USB 2.0> at usbus0 (disconnected) >> umass0: at uhub0, port 1, addr 2 (disconnected) >> (da0:umass-sim0:0:0:0): lost device - 0 outstanding, 3 refs >> (da0:umass-sim0:0:0:0): removing device entry >> >> If I can help to resolve this, than I can spend some time on it. I can >> program, but am not aware of the kernel internals. >> I can break into the debugger. >> >> Ronald. >> >> ______________________________**_________________ >> freebsd-arm@freebsd.org mailing list >> http://lists.freebsd.org/**mailman/listinfo/freebsd-arm<http://lists.freebsd.org/mailman/listinfo/freebsd-arm> >> To unsubscribe, send any mail to >> "freebsd-arm-unsubscribe@**freebsd.org<freebsd-arm-unsubscribe@freebsd.org> >> " >> > _______________________________________________ > freebsd-arm@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arm > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?op.w2k1r5sc8527sy>