This is the mail archive of the gdb-prs@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]

[Bug mi/20431] New: Missing MI prompts after sync execution MI command (-exec-continue, etc.) errors


https://sourceware.org/bugzilla/show_bug.cgi?id=20431

            Bug ID: 20431
           Summary: Missing MI prompts after sync execution MI command
                    (-exec-continue, etc.) errors
           Product: gdb
           Version: 7.11
            Status: NEW
          Severity: normal
          Priority: P2
         Component: mi
          Assignee: unassigned at sourceware dot org
          Reporter: palves at redhat dot com
  Target Milestone: ---

gdb 7.11 introduced an MI regression: a failing MI sync execution command
misses printing the MI prompt, and then all subsequent command miss it too:

 $ gdb-7.11.1 -i=mi
 [...]
 p 1
 &"p 1\n"
 ~"$1 = 1"
 ~"\n"
 ^done
 (gdb)                                        <<< prompted ok
 -exec-continue
 ^error,msg="The program is not being run."   <<< missing prompt after this
 print 1
 &"print 1\n"
 ~"$2 = 1"
 ~"\n"
 ^done                                        <<< missing prompt after this


gdb 7.10.1 behaved correctly, even with "set mi-async on":

 -exec-continue
 ^error,msg="The program is not being run."
 (gdb)                                        <<< prompted ok

etc.

Bisecting points at:

0b333c5e7d6c3fc65d37ffa11bd21ba52c4adb25 is the first bad commit
commit 0b333c5e7d6c3fc65d37ffa11bd21ba52c4adb25
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Sep 9 18:23:23 2015 +0100

    Merge async and sync code paths some more

    This patch makes the execution control code use largely the same
    mechanisms in both sync- and async-capable targets.  This means using
    continuations and use the event loop to react to target events on sync
    targets as well.  The trick is to immediately mark infrun's event loop
    source after resume instead of calling wait_for_inferior.  Then
    fetch_inferior_event is adjusted to do a blocking wait on sync
    targets.

which is not that surprising.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

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