Subject: bug#22012: 25.1.50; gdb broken by (json-string-format "doesn't start with `\"'!")

From: martin rudalics <[email-masked]>
Date: Sat, 28 Nov 2015 15:13:14 +0100

> Can you switch to that buffer and look what's at point?  And while at
 > that, post here the full contents of that buffer?

It just happened again while debugging xdisp.c.  The buffer is called
*partial-output-emacs.exe* (with a leading space) it contains 2295
characters and its position of point was 2.  The contents of that buffer
are hopefully in the attached file partial-output-emacs.txt (for reasons
that elude me I was not able to inline them with Thunderbird).

The contents of *backtrace* are:

Debugger entered--Lisp error: (json-string-format "doesn't start with `\"'!")
   signal(json-string-format ("doesn't start with `\"'!"))
   (if (char-equal (json-peek) 34) nil (message "%s ... %s" (current-buffer) (point)) (signal (quote json-string-format) (list "doesn't start with `\"'!")))
   json-read-string()
   json-read-object()
   apply(json-read-object nil)
   json-read()
   gdb-json-read-buffer(nil nil)
   gdb-json-partial-output()
   gdb-thread-list-handler-custom()
   gdb-thread-list-handler()
   apply(gdb-thread-list-handler nil)
   (save-current-buffer (set-buffer #<buffer *threads of emacs.exe*>) (apply (quote gdb-thread-list-handler) args))
   (with-current-buffer #<buffer *threads of emacs.exe*> (apply (quote gdb-thread-list-handler) args))
   (lambda (&rest args) (with-current-buffer #<buffer *threads of emacs.exe*> (apply (quote gdb-thread-list-handler) args)))()
   gdb-handle-reply(57)
   gdbmi-bnf-incomplete-record-result("57" (gdb-done . progressive))
   #[0 "\302\300\301\242\"\207" ["57" ((gdb-done . progressive)) gdbmi-bnf-incomplete-record-result] 3]()
   gdbmi-bnf-result-and-async-record-impl()
   gdbmi-bnf-async-record()
   gdbmi-bnf-out-of-band-record()
   gdbmi-bnf-output()

martin