Crochet build for Pi3 fails to boot on r313441 (and later), works on r313109

From: Karl Denninger <karl_at_denninger.net>
Date: Wed, 8 Feb 2017 16:18:29 -0600
r313441 blows up on the Pi3 in /boot/loader.efi with:

FreeBSD/arm64 EFI loader, Revision 1.1
(Tue Feb  7 15:15:52 CST 2017 freebsd_at_NewFS.denninger.net)
Failed to start image provided by UFS (14)
"Synchronous Abort" handler, esr 0x96000004
ELR:     3af62cec
LR:      3af61d60
x0 : 0000000000000001 x1 : 0000000000000001
x2 : 000000003afeb000 x3 : 000000000000003f
x4 : 0000000000000020 x5 : 0000000000000010
x6 : 0000000000000000 x7 : 0000000039b260a4
x8 : 000000003af61d48 x9 : 000000000000000d
x10: 0000000000000030 x11: 0000000000000000
x12: 0000000000000000 x13: 0000000000000002
x14: 0000000000000000 x15: 0000000000000000
x16: 0000000000000000 x17: 0000000000000000
x18: 000000003ab30df8 x19: 0000000037a16008
x20: 0000000000000000 x21: 0000000000000000
x22: 0000000039b28000 x23: 0000000039b1d49c
x24: 0000000039b28850 x25: 000000003ab3d740
x26: 000000003af839a0 x27: 0000000039b2e3e8
x28: 0000000000000000 x29: 000000003ab2ef60

Resetting CPU ...

If you copy in a loader.efi from an earlier build (e.g. r313109) then the system boots but complains about SMP problems, fails to start any of the other CPUs (although it sees them) and panics before it reaches a login prompt with what appears to be a problem reading the SD card (I also get a couple of lor's in here too..... not sure if those are "real" or false positives)

Booting [/boot/kernel/kernel]...
Using DTB provided by EFI at 0x8004000.
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2017 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 12.0-CURRENT #0 r313389: Tue Feb  7 10:13:16 CST 2017
   
freebsd_at_NewFS.denninger.net:/pics/Crochet-work/obj/arm64.aarch64/pics/CrossBuild-12/src/sys/GENERIC
arm64
FreeBSD clang version 3.9.1 (tags/RELEASE_391/final 289601) (based on
LLVM 3.9.1)
WARNING: WITNESS option enabled, expect reduced performance.
VT: init without driver.
can't re-use a leaf (geom_label)!
module_register: cannot register g_label from kernel; already loaded
from geom_label.ko
Module g_label failed to register: 17
Starting CPU 1 (1)
Starting CPU 2 (2)
Starting CPU 3 (3)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
random: entropy device external interface
kbd0 at kbdmux0
ofwbus0: <Open Firmware Device Tree>
simplebus0: <Flattened device tree simple bus> on ofwbus0
ofw_clkbus0: <OFW clocks bus> on ofwbus0
clk_fixed0: <Fixed clock> on ofw_clkbus0
clk_fixed1: <Fixed clock> on ofw_clkbus0
clk_fixed2: <Fixed clock> on ofw_clkbus0
clk_fixed3: <Fixed clock> on ofw_clkbus0
clk_fixed4: <Fixed clock> on ofw_clkbus0
clk_fixed5: <Fixed factor clock> on ofw_clkbus0
clk_fixed6: <Fixed clock> on ofw_clkbus0
psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
local_intc0: <BCM2836 Interrupt Controller> mem 0x40000000-0x400000ff on
simplebus0
intc0: <BCM2835 Interrupt Controller> mem 0x7e00b200-0x7e00b3ff irq 16
on simplebus0
generic_timer0: <ARMv7 Generic Timer> irq 37,38,39,40 on simplebus0
Timecounter "ARM MPCore Timecounter" frequency 19200000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 19200000 Hz quality 1000
bcm_dma0: <BCM2835 DMA Controller> mem 0x7e007000-0x7e007eff irq
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 on simplebus0
mbox0: <BCM2835 VideoCore Mailbox> mem 0x7e00b880-0x7e00b8bf irq 17 on
simplebus0
bcmwd0: <BCM2708/2835 Watchdog> mem 0x7e100000-0x7e100027 on simplebus0
gpio0: <BCM2708/2835 GPIO controller> mem 0x7e200000-0x7e2000b3 irq
18,19 on simplebus0
gpiobus0: <OFW GPIO bus> on gpio0
gpioc0: <GPIO controller> on gpio0
uart0: <PrimeCell UART (PL011)> mem 0x7e201000-0x7e201fff irq 20 on
simplebus0
uart0: console (115200,n,8,1)
spi0: <BCM2708/2835 SPI controller> mem 0x7e204000-0x7e204fff irq 22 on
simplebus0
spibus0: <OFW SPI bus> on spi0
spibus0: <unknown card> at cs 0 mode 0
spibus0: <unknown card> at cs 1 mode 0
sdhci_bcm0: <Broadcom 2708 SDHCI controller> mem 0x7e300000-0x7e3000ff
irq 27 on simplebus0
mmc0: <MMC/SD bus> on sdhci_bcm0
iichb0: <BCM2708/2835 BSC controller> mem 0x7e804000-0x7e804fff irq 31
on simplebus0
iicbus0: <OFW I2C bus> on iichb0
bcm283x_dwcotg0: <DWC OTG 2.0 integrated USB controller (bcm283x)> mem
0x7e980000-0x7e98ffff,0x7e006000-0x7e006fff irq 33,34 on simplebus0
usbus0 on bcm283x_dwcotg0
gpioled0: <GPIO LEDs> on simplebus0
gpioled0: <led0> failed to map pin
fb0: <BCM2835 VT framebuffer driver> on simplebus0
fbd0 on fb0
VT: initialize with new VT driver "fb".
fb0: 656x416(656x416_at_0,0) 24bpp
fb0: fbswap: 1, pitch 1968, base 0x3db33000, screen_size 818688
pmu0: <Performance Monitoring Unit> irq 36 on simplebus0
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
bcm2835_cpufreq0: <CPU Frequency Control> on cpu0
cpu1: <Open Firmware CPU> on cpulist0
cpu2: <Open Firmware CPU> on cpulist0
cpu3: <Open Firmware CPU> on cpulist0
cryptosoft0: <software crypto>
Timecounters tick every 1.000 msec
The GEOM class LABEL is already loaded.
usbus0: 480Mbps High Speed USB v2.0
ugen0.1: <DWCOTG OTG Root HUB> at usbus0
uhub0: <DWCOTG OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
mmcsd0: 32GB <SDHC SP32G 8.0 SN A1E916FF MFG 11/2015 by 3 SD> at mmc0
41.6MHz/4bit/65535-block
bcm2835_cpufreq0: ARM 600MHz, Core 250MHz, SDRAM 400MHz, Turbo OFF
Release APs
APs not started
CPU  0: ARM Cortex-A53 r0p4 affinity:  0
 Instruction Set Attributes 0 = <CRC32>
 Instruction Set Attributes 1 = <0>
         Processor Features 0 = <AdvSIMD,Float,EL3 32,EL2 32,EL1 32,EL0 32>
         Processor Features 1 = <0>
      Memory Model Features 0 = <4k Granule,64k Granule,MixedEndian,S/NS
Mem,16bit ASID,1TB PA>
      Memory Model Features 1 = <>
             Debug Features 0 = <2 CTX Breakpoints,4 Watchpoints,6
Breakpoints,PMUv3,Debug v8>
             Debug Features 1 = <0>
         Auxiliary Features 0 = <0>
         Auxiliary Features 1 = <0>
CPU  1: ARM Cortex-A53 r0p4 affinity:  1
CPU  2: ARM Cortex-A53 r0p4 affinity:  2
CPU  3: ARM Cortex-A53 r0p4 affinity:  3
WARNING: WITNESS option enabled, expect reduced performance.
Trying to mount root from ufs:/dev/mmcsd0s2a [rw,noatime]...
uhub0: 1 port with 1 removable, self powered
warning: no time-of-day clock registered, system time will not be set
accurately
Growing root partition to fill device
ugen0.2: <vendor 0x0424 product 0x9514> at usbus0
uhub1 on uhub0
uhub1: <vendor 0x0424 product 0x9514, class 9/0, rev 2.00/2.00, addr 2>
on usbus0
uhub1: MTT enabled
GEOM_PART: mmcsd0s2 was automatically resized.
  Use `gpart commit mmcsd0s2` to save changes or `gpart undo mmcsd0s2`
to revert them.
mmcsd0s2 resized
mmcsd0s2a resized
super-block backups (for fsck_ffs -b #) at:
 3802304, 4752832, 5703360, 6653888, 7604416, 8554944, 9505472, 10456000,
 11406528, 12357056, 13307584, 14258112, 15208640, 16159168, 17109696,
 18060224, 19010752, 19961280, 20911808, 21862336, 22812864, 23763392,
 24713920, 25664448, 26614976,uhub1: 5 ports with 4 removable, self powered
 27565504, 28516032, 29466560, 30417088,
 31367616, 32318144, 33268672, 34219200, 35169728, 36120256, 37070784,
 38021312, 38971840, 39922368, 40872896, 41823424, 42773952, 43724480,
 44675008, 45625536, 46576064, 47526592, 48477120, 49427648, 50378176,
 51328704, 52279232, 53229760, 54180288, 55130816, 56081344, 57031872,
 57982400, 58932928, 59883456, 60833984, 61784512
ugen0.3: <vendor 0x0424 product 0xec00> at usbus0
smsc0 on uhub1
smsc0: <vendor 0x0424 product 0xec00, rev 2.00/2.00, addr 3> on usbus0
smsc0: chip 0xec00, rev. 0002
miibus0: <MII bus> on smsc0
smscphy0: <SMC LAN8700 10/100 interface> PHY 1 on miibus0
smscphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ue0: <USB Ethernet> on smsc0
ue0: Ethernet address: b8:27:eb:4e:88:64
Setting hostuuid: 30303030-3030-3030-3331-346538383634.
Setting hostid: 0x968824d5.
No suitable dump device was found.
Starting file system checks:
/dev/mmcsd0s2a: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/mmcsd0s2a: clean, 7272066 free (274 frags, 908974 blocks, 0.0%
fragmentation)
lock order reversal:
 1st 0xffff000053248208 bufwait (bufwait) _at_
/pics/CrossBuild-12/src/sys/kern/vfs_bio.c:3500
 2nd 0xfffffd0001559600 dirhash (dirhash) _at_
/pics/CrossBuild-12/src/sys/ufs/ufs/ufs_dirhash.c:281
stack backtrace:
#0 0xffff00000034eb94 at witness_debugger+0x64
#1 0xffff0000002fb808 at _sx_xlock+0x6c
#2 0xffff0000005576a4 at ufsdirhash_move+0x40
#3 0xffff00000055987c at ufs_direnter+0x2ac
#4 0xffff000000561c98 at ufs_makeinode+0x464
#5 0xffff00000055e464 at ufs_create+0x3c
#6 0xffff0000005eacac at VOP_CREATE_APV+0xc4
#7 0xffff0000003b9970 at vn_open_cred+0x284
#8 0xffff0000003b3524 at kern_openat+0x1d4
#9 0xffff0000005cf434 at do_el0_sync+0x4c8
#10 0xffff0000005b91d0 at handle_el0_sync+0x64
lock order reversal:
 1st 0xfffffd00017c19a0 ufs (ufs) _at_
/pics/CrossBuild-12/src/sys/kern/vfs_subr.c:2600
 2nd 0xffff000053248208 bufwait (bufwait) _at_
/pics/CrossBuild-12/src/sys/ufs/ffs/ffs_vnops.c:280
 3rd 0xfffffd0001976068 ufs (ufs) _at_
/pics/CrossBuild-12/src/sys/kern/vfs_subr.c:2600
stack backtrace:
#0 0xffff00000034eb94 at witness_debugger+0x64
#1 0xffff0000002ce980 at __lockmgr_args+0x57c
#2 0xffff0000005527c8 at ffs_lock+0x88
#3 0xffff0000005ed764 at VOP_LOCK1_APV+0xc4
#4 0xffff0000003ba024 at _vn_lock+0x8c
#5 0xffff0000003aba04 at vget+0x58
#6 0xffff00000039ea70 at vfs_hash_get+0xf0
#7 0xffff00000054ebac at ffs_vgetf+0x44
#8 0xffff000000545e1c at softdep_sync_buf+0x910
#9 0xffff000000553328 at ffs_syncvnode+0x274
#10 0xffff00000052e768 at ffs_truncate+0x624
#11 0xffff000000559d20 at ufs_direnter+0x750
#12 0xffff000000561c98 at ufs_makeinode+0x464
#13 0xffff00000055e464 at ufs_create+0x3c
#14 0xffff0000005eacac at VOP_CREATE_APV+0xc4
#15 0xffff0000003b9970 at vn_open_cred+0x284
#16 0xffff0000003b3524 at kern_openat+0x1d4
#17 0xffff0000005cf434 at do_el0_sync+0x4c8
Mounting local filesystems:random: unblocking device.
.
ELF ldconfig path: /lib /usr/lib /usr/lib/compat
Setting hostname: rpi3.
Setting up harvesting:
[UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,NET_ETHER,NET_TUN,MOUSE,KEYBOARD,ATTACH,CACHED
Feeding entropy: .
smsc0: chip 0xec00, rev. 0002
ue0: link state changed to DOWN
ue0: link state changed to UP
Starting Network: lo0 ue0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
        inet 127.0.0.1 netmask 0xff000000
        groups: lo
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=80009<RXCSUM,VLAN_MTU,LINKSTATE>
        ether b8:27:eb:4e:88:64
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
Starting devd.
Starting dhclient.
DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 4
DHCPOFFER from 192.168.1.200
DHCPREQUEST on ue0 to 255.255.255.255 port 67
DHCPACK from 192.168.1.200
bound to 192.168.1.17 -- renewal in 21600 seconds.
add host 127.0.0.1: gateway lo0 fib 0: route already in table
add host ::1: gateway lo0 fib 0: route already in table
add net fe80::: gateway ::1
add net ff02::: gateway ::1
add net ::ffff:0.0.0.0: gateway ::1
add net ::0.0.0.0: gateway ::1
Generating host.conf.
Creating and/or trimming log files.
Starting syslogd.
Clearing /tmp (X related).
Updating motd:.
Mounting late filesystems:.
Starting powerd.
cpufreq0: rejecting change, SMP not started yet
Configuring vt: blanktime.
Generating RSA host key.
cpufreq0: rejecting change, SMP not started yet
cpufreq0: rejecting change, SMP not started yet
cpufreq0: rejecting change, SMP not started yet
cpufreq0: rejecting change, SMP not started yet
cpufreq0: rejecting change, SMP not started yet
cpufreq0: rejecting change, SMP not started yet
2048 SHA256:UFglYtdXWLG/Va5zmZ0OoGMhnvYiNyGDqEUkas7PZVs root_at_rpi3 (RSA)
Generating ECDSA host key.
cpufreq0: rejecting change, SMP not started yet
256 SHA256:XPQnIwHtB3Aau3jSQDitlqDZxF8hPLji5VpjOkJ3xqI root_at_rpi3 (ECDSA)
Generating ED25519 host key.
cpufreq0: rejecting change, SMP not started yet
256 SHA256:cVSnpBc4G0NX7+I3yUWiTa4YyYroJdbS0aKqdFky3a0 root_at_rpi3 (ED25519)
Performing sanity check on sshd configuration.
cpufreq0: rejecting change, SMP not started yet
sdhci_bcm0-slot0:  Controller timeout
sdhci_bcm0-slot0: ============== REGISTER DUMP ==============
sdhci_bcm0-slot0: Sys addr: 0x006d8000 | Version:  0x00009902
sdhci_bcm0-slot0: Blk size: 0x00000200 | Blk cnt:  0x00000015
sdhci_bcm0-slot0: Argument: 0x000af240 | Trn mode: 0x0000193a
sdhci_bcm0-slot0: Present:  0x01ff0506 | Host ctl: 0x00000003
sdhci_bcm0-slot0: Power:    0x0000000f | Blk gap:  0x00000000
sdhci_bcm0-slot0: Wake-up:  0x00000000 | Clock:    0x00000307
sdhci_bcm0-slot0: Timeout:  0x0000000e | Int stat: 0x00000010
sdhci_bcm0-slot0: Int enab: 0x01ff00bb | Sig enab: 0x01ff0089
sdhci_bcm0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000
sdhci_bcm0-slot0: Caps:     0x00000000 | Max curr: 0x00000001
sdhci_bcm0-slot0: ===========================================
mmcsd0: Error indicated: 1 Timeout
g_vfs_done():mmcsd0s2a[WRITE(offset=314343424, length=16384)]error = 5
mmcsd0: Error indicated: 1 Timeout
g_vfs_done():mmcsd0s2a[READ(offset=1695514624, length=32768)]error = 5
vm_fault: pager read error, pid 626 (sshd)
mmcsd0: Error indicated: 1 Timeout
g_vfs_done():mmcsd0s2a[WRITE(offset=314343424, length=16384)]error = 5
Smmcsd0: Error indicated: 1 Timeout
g_vfs_done():mmcsd0s2a[WRITE(offset=15509504, length=512)]error = 5
panic: brelse: inappropriate B_PAGING or B_CLUSTER bp 0xffff000053280d60
cpuid = 3
KDB: stack backtrace:
db_trace_self() at db_trace_self_wrapper+0x28
         pc = 0xffff0000005b76ac  lr = 0xffff000000086048
         sp = 0xffff000040328990  fp = 0xffff000040328ba0

db_trace_self_wrapper() at vpanic+0x170
         pc = 0xffff000000086048  lr = 0xffff0000002f41b4
         sp = 0xffff000040328bb0  fp = 0xffff000040328c30

vpanic() at kassert_panic+0x164
         pc = 0xffff0000002f41b4  lr = 0xffff0000002f4040
         sp = 0xffff000040328c40  fp = 0xffff000040328d00

kassert_panic() at brelse+0x7c4
         pc = 0xffff0000002f4040  lr = 0xffff00000038e804
         sp = 0xffff000040328d10  fp = 0xffff000040328d70

brelse() at bufwrite+0x338
         pc = 0xffff00000038e804  lr = 0xffff00000038bb7c
         sp = 0xffff000040328d80  fp = 0xffff000040328dc0

bufwrite() at softdep_process_journal+0x714
         pc = 0xffff00000038bb7c  lr = 0xffff000000547e7c
         sp = 0xffff000040328dd0  fp = 0xffff000040328e70

softdep_process_journal() at flush_deplist+0xb4
         pc = 0xffff000000547e7c  lr = 0xffff00000054d34c
         sp = 0xffff000040328e80  fp = 0xffff000040328eb0


There's not a lot changed between 313109 and 313441 in the loader.efi
and arm64 pieces of sys...... any ideas what boogered it?  (Also have
posted on this in -arm, but since it's Pi3 specific and that machine is
-HEAD dependent is this the better place for it?)

-- 
Karl Denninger
karl_at_denninger.net <mailto:karl_at_denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/

Received on Wed Feb 08 2017 - 21:18:38 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:10 UTC