| Summary: | Remote serial gdb no longer works since mid-April | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Greg Lehey <grog> |
| Component: | kern | Assignee: | freebsd-bugs (Nobody) <bugs> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 5.0-CURRENT | ||
| Hardware: | Any | ||
| OS: | Any | ||
Responsible Changed From-To: gnats-admin->freebsd-bugs Misfiled PR. Greg, I saw a few mails from you on this subject, either on -current or on -committers. And I also think I read that solved something with regard to this. Can you elaborate and if needed reassign the PR or close it or whatever other action is needed? State Changed From-To: open->feedback Greg, i've been using remote gdb a lot lately, it seems to work for me (@9600 Bd though). Does your problem still exist, and do you perhaps more datapoints? State Changed From-To: feedback->closed Automatic feedback timeout. If additional feedback that warrants the re-opening of this PR is available but not included in the audit trail, please include the feedback in a reply to this message (preserving the Subject line) and ask that the PR be re-opened. |
Since about mid-April, remote kernel debugging has become non-functional: there are so many transmission errors on the link that communication is effectively impossible. Debugging printouts in the kernel show that the input routines are dropping several characters in sucession. The following examples are from a dual processor Celeron, but this does not appear to be an SMP bug. Older SP kernels work, and current SP kernels do not. No older SMP kernel is available for testing, but I am currently building one. This example shows that there is no trouble entering gdb from the keyboard (ctrl-alt-esc). This works reliably. On the other hand, a breakpoint placed on execve repeatedly fails to communicate, to the point where it is no longer possible to resume execution. This looks like an interrupt problem, but I checked the ipl at the execve entry point, and as expected it was set to 0. $ gdb -k GNU gdb 4.18 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-unknown-freebsd". Debugger (msg=0xc0354709 "manual escape to debugger") at ../../i386/i386/db_interface.c:325 325 } (kgdb) bt #0 Debugger (msg=0xc0354709 "manual escape to debugger") at ../../i386/i386/db_interface.c:325 #1 0xc02e088a in scgetc (sc=0xc03aca80, flags=0x2) at ../../dev/syscons/syscons.c:3124 #2 0xc02dd2d1 in sckbdevent (thiskbd=0xc03a51a0, event=0x0, arg=0xc03aca80) at ../../dev/syscons/syscons.c:634 #3 0xc02d52c6 in atkbd_intr (kbd=0xc03a51a0, arg=0x0) at ../../dev/kbd/atkbd.c:462 #4 0xc0306814 in atkbd_isa_intr (arg=0xc03a51a0) at ../../isa/atkbd_isa.c:125 (kgdb) b execve Breakpoint 1 at 0xc01aa2bc: file ../../kern/kern_exec.c, line 103. (kgdb) c Continuing. Breakpoint 1, 0xc01aa2bc in execve (p=0xcf56b3c0, uap=0xcff72f80) at ../../kern/kern_exec.c:103 103 { (kgdb) bt #0 0xc01aa2bc in execve (Ignoring packet error, continuing... p=Reply contains invalid hex digit 116 ) at ../../kern/kern_exec.c:103 #1 0xc02f49e5 in syscall2 (frame={tf_fs = 0x2f, tf_es = 0x2f, tf_ds = 0x2f, tf_edi = 0x7c1c0, tf_esi = 0x7c0a0, tf_ebp = 0xbfbffc4c, tf_isp = 0xcff72fd4, tf_ebx = 0x7c170, tf_edx = 0x7c010, tf_ecx = 0x4, tf_eax = 0x3b, tf_trapno = 0xc, tf_err = 0x7, tf_eip = 0x20098411, tf_cs = 0x1f, tf_eflags = 0x292, tf_esp = 0xbfbffb7c, tf_ss = 0x2f}) at ../../i386/i386/trap.c:1130 #2 0x20098411 in ?? () #3 0xe0ff in ?? () #4 0xd90b in ??Ignoring packet error, continuing... ()Reply contains invalid hex digit 116 (kgdb) bt #0 0xc01aa2bc in execve (Ignoring packet error, continuing... p=Reply contains invalid hex digit 116 ) at ../../kern/kern_exec.c:103 ^C#1 0xc02f49e5 in syscall2 (Ignoring packet error, continuing... frame=Reply contains invalid hex digit 116 ) at ../../i386/i386/trap.c:1130 #2 0x20098411 in ??Ignoring packet error, continuing... ()Reply contains invalid hex digit 116 (kgdb) Fix: No fix known. How-To-Repeat: As shown above.