Mystical panic when RPI2 is left idle for a while

Jukka A. Ukkonen jau789 at gmail.com
Sun Apr 24 10:53:37 UTC 2016


Hello all,

I have a faint recollection that some others have also said
their RPI2 panics when it is left idle for too long.
Mine has been giving me those little surprises quite regularly,
but until I got a 3,3V serial console cable I have had no
chance to debug the problem any further.
I hope the attached backtrace is more informative to someone
else. All I was able to understand was that some process
apparently tries to sleep while it is not allowed to do that.
Maybe it is holding some locks or semaphores or something,
and does not release them before trying to sleep.

--jau
-------------- next part --------------
*** Creating the temporary root environment in /usr/obj/tmp/temproot
 *** /usr/obj/tmp/temproot ready for use
 *** Creating and populating directory structure in /usr/obj/tmp/temproot



*** Beginning comparison

   *** Checking /etc/rc.d for stale files

   *** The following files exist in /etc/rc.d but not in
       /usr/obj/tmp/temproot/etc/rc.d/:

 mroute6d

       The presence of stale files in this directory can cause the
       dreaded unpredictable results, and therefore it is highly
       recommended that you delete them.

   *** Delete them now? [n] panic: sleepq_add: td 0xc3a5e370 to sleep on wchan 0xc3afaf00 with sleeping prohibited
cpuid = 0
KDB: enter: panic
[ thread pid 11 tid 100008 ]
Stopped at      $d.10:  ldrb    r15, [r15, r15, ror r15]!
db> 
db> 
db> bt
Tracing pid 11 tid 100008 td 0xc3a5e370
db_trace_self() at db_trace_self
         pc = 0xc0558728  lr = 0xc05584fc (db_trace_thread+0x58)
         sp = 0xd782e7b8  fp = 0xd782e810
db_trace_thread() at db_trace_thread+0x58
         pc = 0xc05584fc  lr = 0xc014811c ($a.21+0x10c)
         sp = 0xd782e818  fp = 0xd782e830
$a.21() at $a.21+0x10c
         pc = 0xc014811c  lr = 0xc0147d7c ($a.13+0x33c)
         sp = 0xd782e838  fp = 0xd782e8d8
         r2 = 0xffffffff  r3 = 0xc3a3ee60
         r4 = 0xc07b8adc  r5 = 0x00000000
         r6 = 0x00000000 r10 = 0xc06c0840
$a.13() at $a.13+0x33c
         pc = 0xc0147d7c  lr = 0xc01479e8 (db_command_loop+0x5c)
         sp = 0xd782e8e0  fp = 0xd782e900
         r4 = 0xc05c5b10  r5 = 0xc014ac60
         r6 = 0xc0149f84  r7 = 0xc0147a40
         r8 = 0xc014ac60  r9 = 0xc07b8ac8
        r10 = 0xc014ac50
db_command_loop() at db_command_loop+0x5c
         pc = 0xc01479e8  lr = 0xc014aac0 ($a.17+0x124)
         sp = 0xd782e908  fp = 0xd782ea20
         r3 = 0x00000000  r4 = 0x00000001
         r5 = 0x00000000  r6 = 0xc07b8ad4
         r7 = 0xc07aa280  r8 = 0xc06c0b68
         r9 = 0xc02ff888 r10 = 0xc05ecc47
$a.17() at $a.17+0x124
         pc = 0xc014aac0  lr = 0xc02f98c8 (kdb_trap+0xfc)
         sp = 0xd782ea28  fp = 0xd782ea50
         r4 = 0x00000000  r5 = 0x00000001
         r6 = 0x00000000 r10 = 0xc05ecc47
kdb_trap() at kdb_trap+0xfc
         pc = 0xc02f98c8  lr = 0xc0573184 (undefinedinstruction+0x30c)
         sp = 0xd782ea58  fp = 0xd782eac8
         r1 = 0x00000000  r2 = 0x00000000
         r3 = 0x600000d3  r4 = 0x00000000
         r5 = 0x00000000  r6 = 0xc0572db8
         r7 = 0xe7ffffff  r8 = 0xc3a5e370
         r9 = 0xc02f9238 r10 = 0xd782ead0
undefinedinstruction() at undefinedinstruction+0x30c
         pc = 0xc0573184  lr = 0xc055b43c (exception_exit)
         sp = 0xd782ead0  fp = 0xd782eb68
         r4 = 0xa00000d3  r5 = 0xc07aa280
         r6 = 0xc0799f18  r7 = 0x00000001
         r8 = 0xd782ebb4  r9 = 0xc0799e18
        r10 = 0xc07ba8c4
exception_exit() at exception_exit
         pc = 0xc055b43c  lr = 0xc02f9230 (kdb_enter+0x3c)
         sp = 0xd782eb60  fp = 0xd782eb68
         r0 = 0x00000000  r1 = 0xc0799e18
         r2 = 0xc05ecc03  r3 = 0x00000213
         r4 = 0xc05e85a1  r5 = 0xc07aa280
         r6 = 0xc0799f18  r7 = 0x00000001
         r8 = 0xd782ebb4  r9 = 0xc0799e18
        r10 = 0xc07ba8c4 r12 = 0xc02a73dc
$a.11() at $a.11
         pc = 0xc02f923c  lr = 0xc02bfa9c (vpanic+0x154)
         sp = 0xd782eb70  fp = 0xd782eb90
         r4 = 0x00000100  r5 = 0xc3a5e370
vpanic() at vpanic+0x154
         pc = 0xc02bfa9c  lr = 0xc02bf91c ($d.12)
         sp = 0xd782eb98  fp = 0xd782ebac
         r3 = 0xc0799d67  r4 = 0xc05ee695
         r5 = 0xd782ebb4  r6 = 0xc0799f18
         r7 = 0x000000af  r8 = 0xc3afaf00
         r9 = 0x00000000 r10 = 0x00000000
$d.12() at $d.12
         pc = 0xc02bf91c  lr = 0xc0306928 (sleepq_add+0x2ec)
         sp = 0xd782ebc0  fp = 0xd782ebe8
         r3 = 0xd782ebb4  r4 = 0xc02bf808
         r5 = 0xc3a5e370  r6 = 0xc07aa3e8
        r10 = 0x00000000
sleepq_add() at sleepq_add+0x2ec
         pc = 0xc0306928  lr = 0xc02c9ce4 (_sleep+0x258)
         sp = 0xd782ebf0  fp = 0xd782ec40
         r1 = 0xc3b3de88  r2 = 0xc061fd80
         r3 = 0xc3b3de88  r4 = 0xc3b3de88
         r5 = 0xc061fd80  r6 = 0xc3afaf00
         r7 = 0xc030663c  r8 = 0x00000001
         r9 = 0xc07ba69c r10 = 0x00000000
_sleep() at _sleep+0x258
         pc = 0xc02c9ce4  lr = 0xc0579450 ($a.11+0x218)
         sp = 0xd782ec48  fp = 0xd782ec90
         r4 = 0xc3b3de80  r5 = 0xd782ec9c
         r6 = 0x00000000  r7 = 0xc02c9a8c
         r8 = 0x00000100  r9 = 0xc05797fc
        r10 = 0xc05797e8
$a.11() at $a.11+0x218
         pc = 0xc0579450  lr = 0xc0155bec ($a.35+0x2c)
         sp = 0xd782ec98  fp = 0xd782eca8
         r4 = 0xc3941780  r5 = 0xc3b28600
         r6 = 0xd782ecf0  r7 = 0xc0155bc0
         r8 = 0xc07baa00  r9 = 0xc06ee710
        r10 = 0xc0799ad0
$a.35() at $a.35+0x2c
         pc = 0xc0155bec  lr = 0xc0155028 ($a.9+0x100)
         sp = 0xd782ecb0  fp = 0xd782ece8
         r7 = 0xc0155bc0  r8 = 0x000000d0
         r9 = 0xc06e0008 r10 = 0xd782ecb0
$a.9() at $a.9+0x100
         pc = 0xc0155028  lr = 0xc0303890 (resettodr+0xe4)
         sp = 0xd782ecf0  fp = 0xd782ed08
         r4 = 0xc3941780  r5 = 0xc05e650c
         r6 = 0x00000000  r7 = 0x00000094
resettodr() at resettodr+0xe4
         pc = 0xc0303890  lr = 0xc02a8df4 ($a.27+0x44)
         sp = 0xd782ed10  fp = 0xd782ed18
         r0 = 0x571c9af6  r1 = 0x00000000
         r2 = 0x00000000  r3 = 0x00000000
         r4 = 0xc07ba6ac r10 = 0xc0799ad0
$a.27() at $a.27+0x44
         pc = 0xc02a8df4  lr = 0xc02d7788 ($a.4+0x18c)
         sp = 0xd782ed20  fp = 0xd782ed98
         r4 = 0xc02a73dc  r5 = 0xc07ba9d0
$a.4() at $a.4+0x18c
         pc = 0xc02d7788  lr = 0xc02d7b70 (softclock+0x54)
         sp = 0xd782eda0  fp = 0xd782edb0
         r4 = 0xc07ba9d0  r5 = 0xc07ba9c0
         r6 = 0xc02d75fc  r7 = 0xc028afd8
         r8 = 0xc3921580  r9 = 0xc05e1d93
        r10 = 0xc3937a00
softclock() at softclock+0x54
         pc = 0xc02d7b70  lr = 0xc028b0e0 (intr_event_execute_handlers+0x108)
         sp = 0xd782edb8  fp = 0xd782edd8
         r4 = 0x00000000  r5 = 0xc3937a48
         r6 = 0xc39215ac r10 = 0xc3937a00
intr_event_execute_handlers() at intr_event_execute_handlers+0x108
         pc = 0xc028b0e0  lr = 0xc028b924 ($a.47+0x11c)
         sp = 0xd782ede0  fp = 0xd782ee28
         r3 = 0xc07ba6ac  r4 = 0xc3937a70
         r5 = 0xc07bae40  r6 = 0xc3937a00
         r7 = 0xc028afd8  r8 = 0xc391bd7c
         r9 = 0x00000000 r10 = 0xc06e7550
$a.47() at $a.47+0x11c
         pc = 0xc028b924  lr = 0xc02886cc (fork_exit+0xa4)
         sp = 0xd782ee30  fp = 0xd782ee48
         r4 = 0xc3a5e370  r5 = 0xc3a5b720
         r6 = 0xc028b808  r7 = 0xc02a73dc
         r8 = 0xd782ee50  r9 = 0xc391bd70
        r10 = 0x00000000
fork_exit() at fork_exit+0xa4
         pc = 0xc02886cc  lr = 0xc055b3cc (swi_exit)
         sp = 0xd782ee50  fp = 0x00000000
         r4 = 0xc028b808  r5 = 0xc391bd70
         r6 = 0x00000000  r7 = 0x00000000
         r8 = 0x00000000  r9 = 0x00000000
swi_exit() at swi_exit
         pc = 0xc055b3cc  lr = 0xc055b3cc (swi_exit)
         sp = 0xd782ee50  fp = 0x00000000
db> 


More information about the freebsd-arm mailing list