Skip site navigation (1)Skip section navigation (2)
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>