This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch] testsuite: Fix "ERROR: no fileid for"
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: "Maciej W. Rozycki" <macro at codesourcery dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Sun, 16 Feb 2014 19:10:18 +0100
- Subject: Re: [patch] testsuite: Fix "ERROR: no fileid for"
- Authentication-results: sourceware.org; auth=none
- References: <20140206205814 dot GA18495 at host2 dot jankratochvil dot net> <alpine dot DEB dot 1 dot 10 dot 1402062122440 dot 18199 at tp dot orcam dot me dot uk> <20140207151018 dot GA20010 at host2 dot jankratochvil dot net>
Hi Maciej,
ping: I expect you are fine with this "incomplete" fix so I will check it in.
Jan
On Fri, 07 Feb 2014 16:10:18 +0100, Jan Kratochvil wrote:
> On Thu, 06 Feb 2014 23:09:25 +0100, Maciej W. Rozycki wrote:
> > Can you provide a more elaborate log of your test session?
>
> $ echo 'set gdbserver_reconnect_p 1' >test.exp;runtest test.exp
>
> > What are the exact conditions for this problem to trigger?
>
> If GDB does not run and the testsuite tries to close down it errors.
>
>
> > I'm asking because I fear your change could defeat the purpose of the
> > commit you referred to if there's a catastrophic failure causing GDB to
> > crash while running gdb.base/solib-disc.exp -- in such a case an instance
> > of gdbserver would stay behind running, ruining the remaining part of the
> > test suite in environments where only a single TCP port is available for
> > the RSP connection.
>
> If GDB has crashed then gdb_spawn_id still exists (although it does not work).
> So my patch does not change anything. And also currently it will leave the
> stale gdbserver running anyway.
>
> In general if gdb_spawn_id does not exist then send_gdb + gdb_expect just do
> not make sense anyway. So this patch just prevents the error in such case.
>
> The killing of stale gdbserver could be improved multiple ways (also as
> suggested by Pedro in the original thread) but that is IMO outside of the
> scope of this patch. Apparently if there is no good response from GDB then
> gdb_finish() should try to call gdb_start just to kill that gdbserver, IIUC.
>
>
> Thanks,
> Jan