This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gdbserver delayed packet event issue


Hi,
I am seeing an issue with the gdb remote debugging, this is gdb 7.1.50
version. I have marked the erroneous states with line --> below.

gdbserver sometimes gets a delayed event for the packet
QStartNoAckMode sent from the host. In the case pasted below gdbserver
gets two events clubbed together when the client has sent the second
"QStartNoAckMode" packet after its timeout. At this stage, gdbserver
ends up sending two "$OK" while the client is expecting only one and
the state gets messed up between client and server.

1) It seems that the client does not handle issues with the network.
Instead it assumes the packet is lost on a timeout.
2) Why doesn't gdbserver get an event on the first request itself. I
used writeshark on the client side to confirm the packet is being
sent. And tcpdump on the remote side to see that the packet does come
in at the target.

Any help is appreciated

Thanks,
Karthik

----------
getpkt ("qSupported");  [sending ack]
[sent ack]
putpkt ("$PacketSize=3fff;QPassSignals+;qXfer:libraries:read+;qXfer:auxv:read+;qXfer:spu:read+;qXfer:spu:write+;qXfer:siginfo:read+;qXfer:siginfo:write+;qXfer:features:read+;QStartNoAckMode+;qXfer:osdata:read+;multiprocess+;QNonStop+;qXfer:threads:read+#31");
[looking for ack]
[received '+' (0x2b)]
-->handling possible serial event
-->getpkt ("QStartNoAckMode");  [sending ack]
-->[sent ack]
-->[noack mode enabled]
-->putpkt ("$OK#9a"); [noack mode]
-->handling possible serial event
-->getpkt ("QStartNoAckMode");  [no ack sent]
-->[noack mode enabled]
-->putpkt ("$OK#9a"); [noack mode]
handling possible serial event
[getpkt: discarding char '+']
getpkt ("Hg0");  [no ack sent]
putpkt ("$OK#9a"); [noack mode]
handling possible serial event
getpkt ("qXfer:features:read:target.xml:0,fff");  [no ack sent]
putpkt ("$l<?xml version="1.0"?>
<!-- Copyright (C) 2009, 2010 Free Software Foundation, Inc.

 *!Copying and distribution of this file, with or without modification,
 *!are permitted in any medium without royalty provided the copyright
 *!notice and this notice are preserved.  -->

<!DOCTYPE target SYSTEM "gdb-target.dtd">
<target>
  <xi:include href="arm-core.xml"/>
  <xi:include href="arm-vfpv2.xml"/>
</target>
#44"); [noack mode]
handling possible serial event
readchar: Got EOF
[getpkt: discarding char 'ÿ']
-------


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]