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

Re: [MI/RFC] Emit ^running via observer.


On Thursday 26 June 2008 20:03:09 Daniel Jacobowitz wrote:
> On Thu, Jun 26, 2008 at 07:58:05PM +0400, Vladimir Prus wrote:
> > On Thursday 26 June 2008 07:20:14 Nick Roberts wrote:
> > >  > I've checked in the following, which differs from original by extra test
> > >  > strictness.  
> > > 
> > > Thanks.
> > > 
> > >  >              Further, I've converted mi-async.exp to use the helper
> > >  > functions. Nick, as it stands now it does not seem that mi-async.exp tests
> > >  > async behaviour at all -- it merely changes that we get ^running for CLI
> > >  > commands, and we get that in both sync and async mode. Do you think it
> > >  > worthwhile to rename the test or move its content somewhere else?
> > > 
> > > The tests appear to fail now. 
> > 
> > Which tests? With unmodified CVS state, all MI tests pass for me both in sync
> > and async mode. But indeed, if I make mi-async.exp not force async mode, it
> > starts to fail....
> 
> Not for me.
> 
> (gdb)
> start
> &"start\n"
> ~"Temporary breakpoint 1 at 0x400635: file /space/fsf/commit/src/gdb/testsuite/gdb.mi/basics.c, line 62.\n"
> ~"Starting program: /space/fsf/x86-64/commit-gdb/gdb/testsuite/gdb.mi/basics \n"
> =thread-created,id="1"
> ^running
> *running,thread-id="all"
> *stopped,reason="breakpoint-hit",disp="del",bkptno="1",thread-id="1",frame={addr="0x0000000000400635",func="main",args=[],file="/space/fsf/commit/src/gdb/testsuite/gdb.mi/basics.c",fullname="/space/fsf/commit/src/gdb/testsuite/gdb.mi/basics.c",line="62"}
> FAIL: gdb.mi/mi-async.exp: start: send

The test expects (gdb) after *running. I don't actually understand how it can not be
output -- the command is handled by mi_execute_command, which prints prompts at the
end. Ah wait, except for this early exit path:

      if (args.action == EXECUTE_COMMAND_SUPPRESS_PROMPT)
	/* The command is executing synchronously.  Bail out early
	   suppressing the finished prompt.  */
	return;

and then:

==20541== Conditional jump or move depends on uninitialised value(s)
==20541==    at 0x80DCD38: mi_execute_command (mi-main.c:1138)

I'll fix this shortly -- one way or another.

- Volodya


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