Bug 18182

Summary: Remote serial gdb no longer works since mid-April
Product: Base System Reporter: Greg Lehey <grog>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 5.0-CURRENT   
Hardware: Any   
OS: Any   

Description Greg Lehey 2000-04-24 01:30:00 UTC
 
 	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.
Comment 1 Jeroen Ruigrok van der Werven freebsd_committer freebsd_triage 2000-04-30 14:41:57 UTC
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? 
Comment 2 Joerg Wunsch freebsd_committer freebsd_triage 2001-08-13 12:48:45 UTC
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?
Comment 3 Sheldon Hearn freebsd_committer freebsd_triage 2002-01-18 16:14:39 UTC
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.