Date: Thu, 17 Oct 2013 21:15:30 -0400 From: George Mitchell <george+freebsd@m5p.com> To: Ian Lepore <ian@FreeBSD.org> Cc: "freebsd-arm@freebsd.org" <freebsd-arm@FreeBSD.org> Subject: Re: Raspberry Pi prefetch aborts Message-ID: <52608BB2.3040407@m5p.com> In-Reply-To: <1381518610.1130.155.camel@revolution.hippie.lan> References: <5254AC6C.9070400@m5p.com> <1381518610.1130.155.camel@revolution.hippie.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
On 10/11/13 15:10, Ian Lepore wrote: > [...] > In the future, no need to post a whole backtrace, because it's always > the same. (Well, if you ever saw one where the exception_exit frame > didn't backlink to spinlock_exit, that would be interesting.) The crash > info that is most useful for this problem is this register dump block: > > Fatal kernel mode prefetch abort at 0x4278f502 >> trapframe: 0xdd2eafa0, spsr=200000f3 >> r0 =00000001, r1 =00000001, r2 =00000001, r3 =c058dbd0 >> r4 =c2400000, r5 =00000004, r6 =c05826a0, r7 =c2400308 >> r8 =c058d8c8, r9 =c25fd300, r10=c29aa9e4, r11=0004240c >> r12=00000000, ssp=dd2eaff0, slr=c046079c, pc =4278f502 >> >> [ thread pid 27951 tid 100090 ] >> Stopped at 0x4278f502: address 0x4278f502 is invalid > > Also, next time it happens it might be good to see the output of these > commands: > show all procs > show proc PID > show thread TID > > where PID and TID are the pid and tid numbers from the end of the > register dump block. > > -- Ian > Here's a very consistent, close to 100% repeatable example: FreeBSD 10.0-BETA1 (RPI-B) #1 r256533M: Thu Oct 17 15:41:50 EDT 2013 ("M" because I commented out "option sc" etc.) root@pi:~ # cd /usr/ports/ports-mgmt/pkg root@pi:/usr/ports/ports-mgmt/pkg # make install clean Fatal kernel mode prefetch abort at 0x4278f502 trapframe: 0xdaf6ff98, spsr=60000033 r0 =00000000, r1 =000000c0, r2 =600000d3, r3 =60000013 r4 =c22e7c00, r5 =00000000, r6 =c22da180, r7 =c0671858 r8 =c25af500, r9 =c262b600, r10=c25af5e4, r11=0004240c r12=00000000, ssp=daf6ffe8, slr=c04626d8, pc =4278f502 [ thread pid 886 tid 100068 ] Stopped at 0x4278f502: address 0x4278f502 is invalid *** error reading from address 4278f502 *** db> show all procs pid ppid pgrp uid state wmesg wchan cmd 886 882 886 0 R+ CPU 0 make 882 881 882 0 S+ pause 0xc2606ce8 csh 881 1 881 0 Ss+ wait 0xc260b320 login 842 1 842 0 Ss select 0xc25f0d64 sshd 815 1 815 0 Ss select 0xc25f0164 ntpd 779 1 779 0 Ss rpcsvc 0xc26b02d0 NLM: master 771 1 771 0 Ss select 0xc26b0424 rpc.statd 735 1 735 0 Ss select 0xc26b09e4 amd 733 1 733 0 Ss select 0xc26b0aa4 rpcbind 525 1 525 0 Ss select 0xc2465a24 devd 524 1 524 65 Ss select 0xc2465964 dhclient 488 1 488 0 Ss select 0xc25f00a4 dhclient 75 0 0 0 DL mdwait 0xc2698800 [md2] 70 0 0 0 DL mdwait 0xc26a2800 [md1] 65 0 0 0 DL mdwait 0xc2611800 [md0] 17 0 0 0 DL - 0xc0577960 [schedcpu] 16 0 0 0 DL sdflush 0xc058abd0 [softdepflush] 15 0 0 0 DL syncer 0xc0588e4c [syncer] 9 0 0 0 DL vlruwt 0xc260c000 [vnlru] 8 0 0 0 DL psleep 0xc0588bd0 [bufdaemon] 7 0 0 0 DL pgzero 0xc058b684 [pagezero] 6 0 0 0 DL psleep 0xc058b2ec [vmdaemon] 5 0 0 0 DL psleep 0xc0592b84 [pagedaemon] 4 0 0 0 DL jobqueue 0xc2433000 [mmcsd0: mmc/sd card] 3 0 0 0 DL ccb_scan 0xc0571f10 [xpt_thrd] 2 0 0 0 DL waiting_ 0xc0590ae0 [sctp_iterator] 14 0 0 0 DL (threaded) [usb] 100048 D - 0xc25b1028 [smsc0] 100036 D - 0xc24700bc [usbus0] 100035 D - 0xc247008c [usbus0] 100034 D - 0xc247005c [usbus0] 100033 D - 0xc247002c [usbus0] 13 0 0 0 DL - 0xc0574cb0 [rand_harvestq] 12 0 0 0 DL (threaded) [geom] 100008 D - 0xc058f240 [g_down] 100007 D - 0xc058f23c [g_up] 100006 D - 0xc058f238 [g_event] 11 0 0 0 WL (threaded) [intr] 100032 I [intr17: dwcotg0] 100031 I [swi0: uart] 100030 I [intr70: sdhci_bcm0] 100029 I [intr1: mbox0] 100028 I [intr35: bcm_dma0] 100027 I [intr34: bcm_dma0] 100026 I [intr33: bcm_dma0] 100025 I [intr32: bcm_dma0] 100024 I [intr31: bcm_dma0] 100023 I [intr30: bcm_dma0] 100022 I [intr29: bcm_dma0] 100021 I [intr28: bcm_dma0] 100020 I [intr27: bcm_dma0] 100019 I [intr26: bcm_dma0] 100018 I [intr25: bcm_dma0] 100017 I [intr24: bcm_dma0] 100015 I [swi6: Giant taskq] 100014 I [swi6: task queue] 100011 I [swi2: cambio] 100010 I [swi5: fast taskq] 100005 I [swi3: vm] 100004 I [swi4: clock] 100003 I [swi1: netisr 0] 10 0 0 0 RL [idle] 1 0 1 0 SLs wait 0xc2401640 [init] 0 0 0 0 DLs (threaded) [kernel] 100016 D - 0xc2432080 [thread taskq] 100013 D - 0xc2432980 [ffs_trim taskq] 100012 D - 0xc2432a00 [kqueue taskq] 100000 D swapin 0xc058f258 [swapper] db> show proc 886 Process 886 (make) at 0xc260c960: state: NORMAL uid: 0 gids: 0, 5 parent: pid 882 at 0xc2606c80 ABI: FreeBSD ELF32 arguments: make threads: 1 100068 Run CPU 0 make db> show thread 100068 Thread 100068 at 0xc2771000: proc (pid 886): 0xc260c960 name: make stack: 0xdaf6f000-0xdaf70fff flags: 0x1002004 pflags: 0 state: RUNNING (CPU 0) priority: 140 container lock: sched lock (0xc0590240) -- George
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52608BB2.3040407>