NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-arm/55792: Cannot continue from DDB sometimes on Raspberry Pi 2 B rev1.2
>Number: 55792
>Category: port-arm
>Synopsis: Cannot continue from DDB sometimes on Raspberry Pi 2 B rev1.2
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-arm-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Nov 07 00:45:00 +0000 2020
>Originator: Rin Okuyama
>Release: 9.99.75
>Organization:
Department of Physics, Meiji University
>Environment:
NetBSD rpi2b 9.99.75 NetBSD 9.99.75 (GENERIC) #3: Sat Nov 7 09:30:12 JST 2020 rin@latipes:/sys/arch/evbarm/compile/GENERIC evbarm earmv7hf
>Description:
When entering DDB from serial console (PL011) on RPI2B rev1.2, sometimes
continue does not work:
----
# ~Stopped in pid 0.2 (system) at netbsd:cpu_Debugger+0x4: bx r14
db{0}> ps
...
db{0}> c
----
Then, console echos back, but no operation except entering DDB again is
possible. Here is bt as well as trace for curlwp:
----
~Stopped in pid 216.216 (sh) at netbsd:cpu_Debugger+0x4: bx r14
db{0}> bt
0xbad6dc9c: netbsd:plcomintr+0x10
0xbad6dcb4: netbsd:bcm2835_icu_intr+0x28
0xbad6dcdc: netbsd:pic_dispatch+0x38
0xbad6dd6c: netbsd:pic_do_pending_ints+0x4b4
0xbad6ddfc: netbsd:irq_entry+0x94
0xbad6de5c: netbsd:pcu_load+0xc8
0xbad6def4: netbsd:vfp_handler+0x68
0xbad6dfac: netbsd:undefinedinstruction+0x114
db{0}> ps
PID LID S CPU FLAGS STRUCT LWP * NAME WAIT
216 > 216 7 0 140 91727300 sh
...
db{0}> trace/a 91727300
trace: pid 216 lid 216 at 0xbad6dd6c
0xbad6dd6c: netbsd:pic_do_pending_ints+0xc
0xbad6ddfc: netbsd:irq_entry+0x94
0xbad6de5c: netbsd:pcu_load+0xc8
0xbad6def4: netbsd:vfp_handler+0x68
0xbad6dfac: netbsd:undefinedinstruction+0x114
--- tf 0xbad6dfb0 ---
db{0}>
----
curproc stalls in the same address as far as I can see. This is
arch/arm/pic/pic.c:559
https://nxr.netbsd.org/xref/src/sys/arch/arm/pic/pic.c#559
In other cases, continue is interrupted in pic_do_pending_ints(), as if
there were a breakpoint:
----
db{0}> c
Stopped in pid 0.97 (system) at netbsd:pic_do_pending_ints+0x4ac: ldr
r1, [r11, -#0x06c]
db{3}> c
Stopped in pid 0.20 (system) at netbsd:pic_do_pending_ints+0x4ac: ldr
r1, [r11, -#0x06c]
db{1}> c
----
This address is also always the same, pic.c:451
https://nxr.netbsd.org/xref/src/sys/arch/arm/pic/pic.c#451
>How-To-Repeat:
Enter DDB from serial console on RPI2.
>Fix:
N/A
Home |
Main Index |
Thread Index |
Old Index