Crash during installworld on RPI2
kah42pub
kah42pub at blarg.com
Mon Aug 24 03:49:35 UTC 2015
On 8/23/15 19:33, bob prohaska wrote:
> For the third time in about as many weeks 11-Current has crashed during installworld.
> This represents about one in five tries. In every case the crash is triggered by
> writing to the DOS partition of the microSD card. The latest instance is at
>
> FreeBSD www.zefox.org 11.0-CURRENT FreeBSD 11.0-CURRENT #40 r287009M: Sat Aug 22 07:48:40 PDT 2015 bob at www.zefox.org:/usr/obj/usr/src/sys/RPI2 arm
>
> All three crashes have been preceeded by a stream of warnings similar to
> smsc0: warning: MII read timeout
> smsc0: warning: Failed to read register 0x114
> smsc0: warning: MII is busy
> smsc0: warning: Failed to write register 0x114
> smsc0: warning: Failed to write register 0x114
> usually starting during buildworld and not always crashing; most attempts succeed.
>
> The kernel config is default, /etc/fstab contains
> /dev/mmcsd0s1 /boot/msdos msdosfs rw,noatime 0 0
> /dev/mmcsd0s2a / ufs rw,noatime 1 1
> #md /tmp mfs rw,noatime,-s50m 0 0
> #md /var/log mfs rw,noatime,-s15m 0 0
> #md /var/tmp mfs rw,noatime,-s5m 0 0
> /dev/da0p4 /tmp ufs rw,noatime 0 0
> /dev/da0p3 /usr ufs rw,noatime,late,failok 1 2
> /dev/da0p2 none swap sw 0 0
> /dev/da0p1 /var ufs rw,noatime 0 0
>
> mmcsd0 is a Sandisk Ultra 8 GB class 10 microSD card, da0 is an old 32GB
> ATA drive in a usb2.0 enclosure.
>
> The end of the console output and backtrace follow. I'm not skilled enough to
> interpret the output but I hope it's of use to others.
>
> smsc0: warning: MII read timeout
> smsc0: warning: Failed to read register 0x114
> smsc0: warning: MII is busy
> smsc0: warning: Failed to write register 0x114
> smsc0: warning: Failed to write register 0x114
> sdhci_bcm0-slot0: Controller timeout
> sdhci_bcm0-slot0: ============== REGISTER DUMP ==============
> sdhci_bcm0-slot0: Sys addr: 0x02148a00 | Version: 0x00009902
> sdhci_bcm0-slot0: Blk size: 0x00000200 | Blk cnt: 0x00000096
> sdhci_bcm0-slot0: Argument: 0x001730c0 | 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: 0x01ff00fb | Sig enab: 0x01ff00fb
> sdhci_bcm0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000001
> sdhci_bcm0-slot0: Caps: 0x00000000 | Max curr: 0x00000001
> sdhci_bcm0-slot0: ===========================================
> mmcsd0: Error indicated: 1 Timeout
> g_vfs_done():mmcsd0s2a[WRITE(offset=725647360, length=131072)]error = 5
> mmcsd0: Error indicated: 1 Timeout
> mmcsd0: Error indicated: 1 Timeout
> mmcsd0: Error indicated: 1 Timeout
> mmcsd0: Error indicated: 1 Timeout
> g_vfs_done():mmcsd0s2a[WRITE(offset=725778432, length=131072)]error = 5
> g_vfs_done():mmcsd0s2a[WRITE(offset=725909504, length=131072)]error = 5
> g_vfs_done():mmcsd0s2a[WRITE(offset=726040576, length=131072)]error = 5
> g_vfs_done():mmcsd0s2a[WRITE(offset=726171648, length=131072)]error = 5
> g_vfs_done():mmcsd0s2a[WRITE(offset=726302720, length=131072)]error = 5
> g_vfs_done():mmcsd0s2a[WRITE(offset=726433792, length=131072)]error = 5
> g_vfs_done():mmcsd0s2a[WRITE(offset=726564864, length=131072)]error = 5
> g_vfs_done():mmcsd0s2a[WRITE(offset=726695936, length=131072)]error = 5
> g_vfs_done():mmcsd0s2a[WRITE(offset=726827008, length=131072)]error = 5
> g_vfs_done():mmcsd0s2a[WRITE(offset=726958080, length=131072)]error = 5
> g_vfs_done():mmcsd0s2a[WRITE(offset=727089152, length=131072)]error = 5
> g_vfs_done():mmcsd0s2a[WRITE(offset=727220224, length=131072)]error = 5
> g_vfs_done():mmcsd0s2a[WRITE(offset=20932096, length=512)]error = 5
> panic: brelse: inappropriate B_PAGING or B_CLUSTER bp 0xd76fc2d0
> cpuid = 0
> KDB: enter: panic
> [ thread pid 12 tid 100014 ]
> Stopped at $d.7: ldrb r15, [r15, r15, ror r15]!
> db> bt
> Tracing pid 12 tid 100014 td 0xc39fd360
> db_trace_self() at db_trace_self
> pc = 0xc053f010 lr = 0xc0140fec (db_stack_trace+0x108)
> sp = 0xd69e19d8 fp = 0xd69e19f0
> r10 = 0xc07745f8
> db_stack_trace() at db_stack_trace+0x108
> pc = 0xc0140fec lr = 0xc0140a38 (db_command+0x388)
> sp = 0xd69e19f8 fp = 0xd69e1a98
> r4 = 0x00000000 r5 = 0x00000000
> r6 = 0x00000000 r10 = 0xc07745f8
> db_command() at db_command+0x388
> pc = 0xc0140a38 lr = 0xc01406a0 (db_command_loop+0x74)
> sp = 0xd69e1aa0 fp = 0xd69e1ab0
> r4 = 0xc05a3ab0 r5 = 0xc05c48a6
> r6 = 0xc07745e4 r7 = 0xd69e1c80
> r8 = 0xc0769620 r9 = 0xc0687764
> r10 = 0xc0769624
> db_command_loop() at db_command_loop+0x74
> pc = 0xc01406a0 lr = 0xc01431d0 (db_trap+0x108)
> sp = 0xd69e1ab8 fp = 0xd69e1bd0
> r4 = 0x00000000 r5 = 0xc07745f0
> r6 = 0xc0769648 r10 = 0xc0769624
> db_trap() at db_trap+0x108
> pc = 0xc01431d0 lr = 0xc02e89b8 (kdb_trap+0x184)
> sp = 0xd69e1bd8 fp = 0xd69e1c00
> r4 = 0x00000000 r5 = 0x00000001
> r6 = 0xc0769648 r7 = 0xd69e1c80
> kdb_trap() at kdb_trap+0x184
> pc = 0xc02e89b8 lr = 0xc05570ac (undefinedinstruction+0x344)
> sp = 0xd69e1c08 fp = 0xd69e1c78
> r4 = 0x00000000 r5 = 0x00000000
> r6 = 0xc0556cb8 r7 = 0xe7ffffff
> r8 = 0xc39fd360 r9 = 0xc02e8110
> r10 = 0xd69e1c80
> undefinedinstruction() at undefinedinstruction+0x344
> pc = 0xc05570ac lr = 0xc0540698 (exception_exit)
> sp = 0xd69e1c80 fp = 0xd69e1d18
> r4 = 0xc05c48fb r5 = 0x00000001
> r6 = 0xc075a0e0 r7 = 0xc075a278
> r8 = 0xd69e1d6c r9 = 0xc0775e08
> r10 = 0xc39fd360
> exception_exit() at exception_exit
> pc = 0xc0540698 lr = 0xc02e8100 (kdb_enter+0x48)
> sp = 0xd69e1d10 fp = 0xd69e1d18
> r0 = 0xc0769634 r1 = 0x00000000
> r2 = 0xd69e1c44 r3 = 0xc05c87c4
> r4 = 0xc05c48fb r5 = 0x00000001
> r6 = 0xc075a0e0 r7 = 0xc075a278
> r8 = 0xd69e1d6c r9 = 0xc0775e08
> r10 = 0xc39fd360 r12 = 0xc06a2448
> $a.8() at $a.8
> pc = 0xc02e8114 lr = 0xc02ac40c (vpanic+0x164)
> sp = 0xd69e1d20 fp = 0xd69e1d40
> r4 = 0x00000100 r10 = 0xc39fd360
> vpanic() at vpanic+0x164
> pc = 0xc02ac40c lr = 0xc02ac2a8 (vpanic)
> sp = 0xd69e1d48 fp = 0xd69e1d60
> r4 = 0xc075a178 r5 = 0xc05d0e17
> r6 = 0xd69e1d6c r7 = 0xc075a0e0
> r8 = 0xc077522c r9 = 0xc05b6589
> r10 = 0x00000000
> vpanic() at vpanic
> pc = 0xc02ac2a8 lr = 0xc0338f18 (brelse+0x6f0)
> sp = 0xd69e1d68 fp = 0xd69e1dd8
> r4 = 0xc02ac2a8 r5 = 0x00000001
> r6 = 0xd69e1d6c r7 = 0xd76fc2d0
> r8 = 0xc42c93d4 r9 = 0xd76fc2d0
> r10 = 0xc0758184
> brelse() at brelse+0x6f0
> pc = 0xc0338f18 lr = 0xc033c77c (bufdone+0x58)
> sp = 0xd69e1de0 fp = 0xd69e1de8
> r4 = 0xd76fc2d0 r5 = 0xc42c93d4
> r6 = 0xc0758140 r7 = 0xc0758184
> r8 = 0xc077522c r9 = 0xc05b6589
> r10 = 0x00000000
> bufdone() at bufdone+0x58
> pc = 0xc033c77c lr = 0xc023c3a4 (g_io_schedule_up+0xe4)
> sp = 0xd69e1df0 fp = 0xd69e1e20
> r4 = 0xc05b88cf r5 = 0xc700c348
> g_io_schedule_up() at g_io_schedule_up+0xe4
> pc = 0xc023c3a4 lr = 0xc023cacc (g_up_procbody+0x78)
> sp = 0xd69e1e28 fp = 0xd69e1e30
> r4 = 0xc05b8cf1 r5 = 0xc07581ac
> r6 = 0xc023ca54 r7 = 0x00000000
> r8 = 0xd69e1e58 r9 = 0x00000000
> r10 = 0x00000000
> g_up_procbody() at g_up_procbody+0x78
> pc = 0xc023cacc lr = 0xc027a544 (fork_exit+0xa0)
> sp = 0xd69e1e38 fp = 0xd69e1e50
> r4 = 0xc39fd360 r5 = 0xc3958000
> fork_exit() at fork_exit+0xa0
> pc = 0xc027a544 lr = 0xc0540628 (swi_exit)
> sp = 0xd69e1e58 fp = 0x00000000
> r4 = 0xc023ca54 r5 = 0x00000000
> r6 = 0x00000000 r7 = 0x00000000
> r8 = 0x00000000 r10 = 0x00000000
> swi_exit() at swi_exit
> pc = 0xc0540628 lr = 0xc0540628 (swi_exit)
> sp = 0xd69e1e58 fp = 0x00000000
> db>
>
>
> Thanks for reading and any guidance,
>
> bob prohaska
>
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
>
>
For what it is worth...
I used to see these errors on my RPI2/11-CURRENT any time there was even
moderate disk I/O followed by extreme system performance issues and
eventually a crash:
msc0: warning: MII read timeout
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy
smsc0: warning: Failed to write register 0x114
smsc0: warning: Failed to write register 0x114
In my case, I traced it back to the kernel I was using that did NOT have
these options defined:
options INVARIANTS
options INVARIANT_SUPPORT
Adding or making sure those options were in my kernel build has made
those errors go away completely for me on my RPI2/11-CURRENT boards.
Of course, your mileage may vary. Hope it helps.
Kris
More information about the freebsd-arm
mailing list