Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* Multi-packet gdb server request/response - problem?
@ 2013-12-10 12:23 Ivo Raisr
  2013-12-10 21:46 ` Philippe Waroquiers
  2013-12-11 11:43 ` Yao Qi
  0 siblings, 2 replies; 6+ messages in thread
From: Ivo Raisr @ 2013-12-10 12:23 UTC (permalink / raw)
  To: gdb

https://sourceware.org/gdb/onlinedocs/gdb/Overview.htmlGood morning all!

I use gdb 7.6 (on Solaris 11.1 x86 if that matters) which
is used to talk to a remote gdb server stub implementation (inside
valgrind, if that matters).

gdb is invoked as follows:
$ gdb --quiet -l 60 --nx ./my_binary

After the instrumented binary (with remote gdb server stub
implementation) starts, gdb is commanded to talk to it:
(gdb) set debug remote 1
(gdb) target remote | valgrind-gdb-relay --along-with-other-options

Then the conversation starts (seemingly correctly) with:
-----------
  Sending packet:
$qSupported:multiprocess+;xmlRegisters=i386;qRelocInsn+#b5...relaying
data       between gdb and process 12033
  Ack
  Packet received:
PacketSize=3fff;QStartNoAckMode+;QPassSignals+;qXfer:auxv:read+;
     qXfer:features:read+
  Packet qSupported (supported-packets) is supported
  Sending packet: $QStartNoAckMode#b0...Ack
  Packet received: OK
...
-----------

After a while, program gets stopped.
If I then enter:
(gdb) continue
conversation continues (approx 40 packets are exchanged) but then
abruptly ends with error:

Sending packet: $s#73...Sending packet: $mfe7c852c,4#34...Packet
received: T0505:08f8fe37;04:e8f7fe37;08:4d761100;thread:1;
Reply contains invalid hex digit 84

Please take a particular note that in this case gdb did not wait for a reply
to its '$s' packet but instead immediately issued another '$mfe7c852c,4'
packet.

This is also verified by dumping packets on the other side in the gdb
server stub implementation:
- read from gdb $s#73$mfe7c852c,4#34
- write to gdb $T0505:08f8fe37;04:e8f7fe37;08:4d761100;thread:1;#d8$0*"00#dc

So on the wires it looks like:
- gdb wrote two requests without waiting for a response for the first one
- gdb received two concatenated responses for these two requests
- requests and responses alone look well-formed

My questions are:
- Is multi-packet request/response supported by gdb?
- In other words, is that gdb's behaviour intentional?
- If yes, then why it cannot handle multi-packet response?
- If no, then is that a bug?

I was trying to confirm this with a protocol description available at
https://sourceware.org/gdb/onlinedocs/gdb/Overview.html
but in vain.

Should you need more information, let me know.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-12-12 16:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-10 12:23 Multi-packet gdb server request/response - problem? Ivo Raisr
2013-12-10 21:46 ` Philippe Waroquiers
     [not found]   ` <CANXv6=vFYfEDLPVHv_TRK4VTLmFX6c+2hvmodM9dg3gcJA4_jQ@mail.gmail.com>
2013-12-12 15:14     ` Fwd: " Ivo Raisr
2013-12-12 15:44       ` Ivo Raisr
2013-12-12 16:46         ` Pedro Alves
2013-12-11 11:43 ` Yao Qi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox