Raspberry Pi prefetch aborts
George Mitchell
george+freebsd at m5p.com
Fri Oct 18 01:15:39 UTC 2013
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 at pi:~ # cd /usr/ports/ports-mgmt/pkg
root at 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
More information about the freebsd-arm
mailing list