Debug stalling Raspberry
David Cornejo
dave at dogwood.com
Wed Aug 21 20:42:59 UTC 2013
On Tue, Aug 20, 2013 at 9:48 PM, Johan Henselmans <johan at netsense.nl> wrote:
>
> On 20 aug. 2013, at 22:10, Martin Laabs <mailinglists at martinlaabs.de>
> wrote:
>
> > Hi,
> >
> > currently I run r254441 on a raspberry pi b and every time I run portsnap
> > the cpu stopps running.
> > This happens during the snapshot verify while around 25k files are
> gunziped
> > and sha256ed (file after file of cause). I can reproduce this but the Pi
> > does not hang reproducible at the same file but the last processed file
> is
> > different from try to try.
>
>
> I have exactly the same experience on BBB, also with portsnap. The only
> way I could get portsnap to finish is by locating /var/db/portsnap on NFS.
>
> I am still testing what is causing it. I have used class 4 and class 10
> cards, both freeze.
>
> I have the serial console connected to screen, and nothing is displayed
> during the freeze.
>
> I do have an error about the keyboard during startup, as Tim mention that
> pressing the keyboard would continue the BBB. I have not tested that, as I
> do not see a console on my HDMI monitor on the BBB.
>
> (r254571)
>
> =========
> link_elf: symbol genkbd_get_fkeystr undefined
> link_elf: symbol genkbd_get_fkeystr undefined
> aintc0: Spurious interrupt detected (0xffffffff)
> =========
>
>
> Another message I got while starting up:
>
> =========
> lock order reversal:
> 1st 0xc09aa0bc pmap (pmap) @ /usr/src/sys/arm/arm/pmap-v6.c:2967
> 2nd 0xc07c5fc0 kmem vm object (kmem vm object) @
> /usr/src/sys/vm/vm_kern.c:344
> KDB: stack backtrace:
> db_trace_self() at db_trace_self
> pc = 0xc05293f8 lr = 0xc022db88 (db_trace_self_wrapper+0x30)
> sp = 0xc2ab4930 fp = 0xc2ab4a48
> r10 = 0xc09aa0bc
> db_trace_self_wrapper() at db_trace_self_wrapper+0x30
> pc = 0xc022db88 lr = 0xc038d150 (kdb_backtrace+0x38)
> sp = 0xc2ab4a50 fp = 0xc2ab4a58
> r4 = 0xc065ed14 r5 = 0xc05a6f1c
> r6 = 0xc058a3b3 r7 = 0xc05abd59
> kdb_backtrace() at kdb_backtrace+0x38
> pc = 0xc038d150 lr = 0xc03a72c0 (witness_checkorder+0xddc)
> sp = 0xc2ab4a60 fp = 0xc2ab4ab0
> r4 = 0xc05a7fd4
> witness_checkorder() at witness_checkorder+0xddc
> pc = 0xc03a72c0 lr = 0xc0355768 (_rw_wlock_cookie+0x7c)
> sp = 0xc2ab4ab8 fp = 0xc2ab4ae0
> r4 = 0x00000158 r5 = 0xc05a6f19
> r6 = 0xc07c5fd0 r7 = 0xc07c5fc0
> r8 = 0xc07c5fc0 r9 = 0x00000101
> r10 = 0x00000000
> _rw_wlock_cookie() at _rw_wlock_cookie+0x7c
> pc = 0xc0355768 lr = 0xc0504794 (kmem_back+0x68)
> sp = 0xc2ab4ae8 fp = 0xc2ab4b28
> r4 = 0xc07c5fc0 r5 = 0x00001000
> r6 = 0x00000000 r7 = 0xc07c5fc0
> r8 = 0x00000101
> kmem_back() at kmem_back+0x68
> pc = 0xc0504794 lr = 0xc05046f0 (kmem_malloc+0x6c)
> sp = 0xc2ab4b30 fp = 0xc2ab4b48
> r4 = 0xc0661780 r5 = 0x00001000
> r6 = 0x00000000 r7 = 0x00000101
> r8 = 0xc04fd5e0 r9 = 0x00000101
> r10 = 0x00000000
> kmem_malloc() at kmem_malloc+0x6c
> pc = 0xc05046f0 lr = 0xc04fd600 (page_alloc+0x20)
> sp = 0xc2ab4b50 fp = 0xc2ab4b50
> r4 = 0xc09d3cc0 r5 = 0x00000001
> r6 = 0x00000000 r7 = 0xc09d3cd0
> page_alloc() at page_alloc+0x20
> pc = 0xc04fd600 lr = 0xc04fd094 (keg_alloc_slab+0xb4)
> sp = 0xc2ab4b58 fp = 0xc2ab4b80
> keg_alloc_slab() at keg_alloc_slab+0xb4
> pc = 0xc04fd094 lr = 0xc04fdcd0 (keg_fetch_slab+0x148)
> sp = 0xc2ab4b88 fp = 0xc2ab4bc0
> r4 = 0xc09d3cc0 r5 = 0xc09ce408
> r6 = 0x00000001 r7 = 0xc09ce360
> r8 = 0x00000000 r9 = 0xc09ce3f8
> r10 = 0x00000000
> keg_fetch_slab() at keg_fetch_slab+0x148
> pc = 0xc04fdcd0 lr = 0xc04fe0c4 (zone_fetch_slab+0x64)
> sp = 0xc2ab4bc8 fp = 0xc2ab4be0
> r4 = 0x00000001 r5 = 0xc09ce360
> r6 = 0xc09d3cc0 r7 = 0xc09d3cc0
> r8 = 0x00000001 r9 = 0xc2ff4fa8
> r10 = 0x00000002
> zone_fetch_slab() at zone_fetch_slab+0x64
> pc = 0xc04fe0c4 lr = 0xc04fe150 (zone_import+0x4c)
> sp = 0xc2ab4be8 fp = 0xc2ab4c28
> r4 = 0xc2ff4fac r5 = 0xc05a621a
> r6 = 0x00000001 r7 = 0xc09d3cc0
> r8 = 0x00000000
> zone_import() at zone_import+0x4c
> pc = 0xc04fe150 lr = 0xc04fbdc0 (uhub2: 4 ports with 4
> removable, self powered
> uma_zalloc_arg+0x2a0)
> sp = 0xc2ab4c30 fp = 0xc2ab4c70
> r4 = 0x00000001 r5 = 0xc05a621a
> r6 = 0xc09b0e0c r7 = 0xc04fe104
> r8 = 0xc09ce360 r9 = 0xc09ce418
> r10 = 0xc09b0e00
> uma_zalloc_arg() at uma_zalloc_arg+0x2a0
> pc = 0xc04fbdc0 lr = 0xc053349c (pmap_alloc_l2_bucket+0x1b4)
> sp = 0xc2ab4c78 fp = 0xc2ab4ca0
> r4 = 0xc05abd56 r5 = 0xc09999f8
> r6 = 0xc09999f4 r7 = 0xc07c0de8
> r8 = 0xc05abd56 r9 = 0xc09abaac
> r10 = 0xc09abb38
> pmap_alloc_l2_bucket() at pmap_alloc_l2_bucket+0x1b4
> pc = 0xc053349c lr = 0xc0533158 (pmap_copy+0x158)
> sp = 0xc2ab4ca8 fp = 0xc2ab4ce0
> r4 = 0xc09aba9c r5 = 0x20049000
> r6 = 0xc05abd56 r7 = 0x2002e000
> r8 = 0x0001b000 r9 = 0xc09964b8
> r10 = 0x0001b000
> pmap_copy() at pmap_copy+0x158
> pc = 0xc0533158 lr = 0xc050a660 (vmspace_fork+0x790)
> sp = 0xc2ab4ce8 fp = 0xc2ab4d20
> r4 = 0xc09aa000 r5 = 0x00000000
> r6 = 0x2002e000 r7 = 0xc099c500
> r8 = 0xc09ab9e0 r9 = 0xc099df50
> r10 = 0x0001b000
> vmspace_fork() at vmspace_fork+0x790
> pc = 0xc050a660 lr = 0xc0327004 (fork1+0x1a4)
> sp = 0xc2ab4d28 fp = 0xc2ab4d98
> r4 = 0xc2ffc960 r5 = 0x00000000
> r6 = 0xc2fc5000 r7 = 0x0000000c
> r8 = 0xc2fc5320 r9 = 0xc2ffcc80
> r10 = 0xc2ab4dac
> fork1() at fork1+0x1a4
> pc = 0xc0327004 lr = 0xc0326e40 (sys_fork+0x24)
> sp = 0xc2ab4da0 fp = 0xc2ab4db8
> r4 = 0xc2ffcc80 r5 = 0x00000000
> r6 = 0x00000000 r7 = 0x00000000
> r8 = 0xc2ab4e10 r9 = 0xc2fc5320
> r10 = 0x00000000
> sys_fork() at sys_fork+0x24
> pc = 0xc0326e40 lr = 0xc0538ee4 (swi_handler+0x284)
> sp = 0xc2ab4dc0 fp = 0xc2ab4e58
> r4 = 0xc2ffcc80 r5 = 0x00000000
> swi_handler() at swi_handler+0x284
> pc = 0xc0538ee4 lr = 0xc052aa54 (swi_entry+0x2c)
> sp = 0xc2ab4e60 fp = 0xbfffec18
> r4 = 0x00030998 r5 = 0x2080d020
> r6 = 0x00000000 r7 = 0x00000002
> r8 = 0x00000003 r9 = 0x2080d020
> swi_entry() at swi_entry+0x2c
> pc = 0xc052aa54 lr = 0xc052aa54 (swi_entry+0x2c)
> sp = 0xc2ab4e60 fp = 0xbfffec18
> Unable to unwind further
> =========
>
>
> >
> > There is, at least at the video console, no kernel panic. The kernel
> itself
> > still responds to icmp ping packages and echos the keyboard output. But
> > everything else does not work. (I know this behavior from disconnected
> > harddisks containing the kernel/system)
> > The current consumption also dropps around 100mA.
> >
> > It is very interesting that this behavior is not limited to the internal
> > MMC card but also occurs when the data is stored external on an usb
> stick.
> >
> > My question is how to debug this bug since I have no idea where to start.
> >> From my experience with bare metal arm systems I would start connecting
> a
> > jtag debugger but I am afraid getting all the symbols mapped correct to
> the
> > gdb. And even if this works - what should I monitor and what should I
> test for?
> > There might be however a more simple solution. So any suggestion is
> welcome.
> >
> > If you can reproduce this bug I also would be very happy.
> >
> > Best regards,
> > Martin Laabs
> >
> > _______________________________________________
> > freebsd-arm at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-arm
> > To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
>
> Johan Henselmans
> johan at netsense.nl
>
>
>
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
>
Possibly totally irrelevant, but I've noticed on a kernel from yesterday
that I was getting CPU percentages in top of over 100% before it hung -
earlier kernels did not exhibit this.
dave c
More information about the freebsd-arm
mailing list