Date: Sun, 23 Aug 2015 20:49:27 -0700 From: kah42pub <kah42pub@blarg.com> To: freebsd-arm@freebsd.org Subject: Re: Crash during installworld on RPI2 Message-ID: <55DA9447.9040802@blarg.com> In-Reply-To: <20150824023341.GA53136@www.zefox.net> References: <20150824023341.GA53136@www.zefox.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-arm > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55DA9447.9040802>