This is the mail archive of the
mailing list for the GDB project.
Re: internal-error: target_xfer_partial: Assertion `*xfered_len > 0' failed
- From: Christo <christo dot crause at gmail dot com>
- To: gdb at sourceware dot org
- Cc: christo dot crause at gmail dot com
- Date: Sat, 02 Jun 2018 08:23:03 +0200
- Subject: Re: internal-error: target_xfer_partial: Assertion `*xfered_len > 0' failed
- References: <firstname.lastname@example.org> <email@example.com>
On Fri, 2018-06-01 at 06:36 +0200, Christo wrote:
> On Wed, 2018-05-30 at 22:09 +0200, Christo wrote:
> > I get this error both on avr-gdb 7.10.1 (Installed by Linux Mint) and gdb 8.0 (which I
> > compiled
> > from source). I don't see this error if I don't load the file with debug info into gdb.
> > Also
> > no
> > error if I use gdb 7.0.1 or 6.6 (both also compiled by me).
> I tested on gdb 8.1 compiled for AVR and still see "Saw new packet start in middle of old one"
> message, but now gdb seems to ignore the packet error and just continue without the internal
> error message. I still would like to know where the problem is so that it can be fixed, else
> gdb may end up with incomplete information of the flash memory content on the controller.
I suspect that the culprit was on my server side, where I transmitted responses as Pascal
strings, which prepends the length of the string to the data stream. I suspect that gdb
filtered out the extra data at the start of the replies successfully in many (but not all)
cases. Anyway, sending the replies as byte streams without a length prefix seems to have
eliminated my problem.