Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Patrick Palka <patrick@parcs.ath.cx>
To: Sergio Durigan Junior <sergiodj@redhat.com>
Cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: Re: Racy failures on gdb.base/gdbinit-history.exp (native-extended-gdbserver/-m64) (was: Re: [PATCH] Don't truncate the history file when history size is unlimited)
Date: Thu, 23 Jul 2015 19:33:00 -0000	[thread overview]
Message-ID: <CA+C-WL8tbu72AbMKCOSP-4jCgS2aC7A0aGOfmuCBf5fQHt2k3w@mail.gmail.com> (raw)
In-Reply-To: <87mvym67i5.fsf_-_@redhat.com>

On Thu, Jul 23, 2015 at 2:42 PM, Sergio Durigan Junior
<sergiodj@redhat.com> wrote:
> On Tuesday, June 16 2015, Patrick Palka wrote:
>
>> We still do not handle "set history size unlimited" correctly.  In
>> particular, after writing to the history file, we truncate the history
>> even if it is unlimited.
>>
>> This patch makes sure that we do not call history_truncate_file() if the
>> history is not stifled (i.e. if it's unlimited).  This bug causes the
>> history file to be truncated to zero on exit when one has "set history
>> size unlimited" in their gdbinit file.  Although this code exists in GDB
>> 7.8, the bug is masked by a pre-existing bug that's been only fixed in
>> GDB 7.9 (PR gdb/17820).
>
> Hey Patrick,
>
> Looking at the BuildBot logs today, I found that this new test is
> failing occasionally on native-extended-gdbserver testing.  Take a look
> at the following build:
>
>   <http://gdb-build.sergiodj.net/builders/Debian-x86_64-native-extended-gdbserver-m64/builds/1429>
>
> You can see that gdb.base/gdbinit-history.exp failed:
>
>   PASS -> FAIL: gdb.base/gdbinit-history.exp: truncation: appending: server show commands
>   PASS -> FAIL: gdb.base/gdbinit-history.exp: truncation: creating: server show commands
>
> The gdb.log is here:
>
>   <http://gdb-build.sergiodj.net/cgit/Debian-x86_64-native-extended-gdbserver-m64/.git/plain/gdb.log?id=2abe37b834f73838c68e1f843bdd612cef4a2ae3>
>
> I haven't really investigated to determine what's going on here, but let
> me know if you need any help with this.

Thanks for the heads up.

When doing gdb_exit followed by gdb_start, in the output log sometimes
we have (this is printed shortly before the first FAIL)

(gdb) ...
Remote debugging from host 127.0.0.1
monitor exit
spawn ...
GNU gdb (GDB) 7.10.50.20150723-cvs
...

Other times we have (this is printed shortly before the second FAIL)

(gdb) ...
Remote debugging from host 127.0.0.1
monitor exit
(gdb) spawn ...
GNU gdb (GDB) 7.10.50.20150723-cvs
...

The literal difference being the "(gdb) " prompt printed before the
"spawn" message.  In the first case (where the "(gdb) " prefix is not
there) the history file does not seem to be written/appended to.  In
the second case (when the "(gdb) " prefix is there) the history file
is properly written/appended to (but it still FAILs because we're
missing the command history from before the first case).  So the race,
if there is one, may have something to do with whether or not the
"(gdb) " prompt gets printed after doing "monitor exit".  Or maybe
not.  I'll do more analysis later.


  reply	other threads:[~2015-07-23 19:33 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-09 19:28 [PATCH] Don't truncate the history file when history size is unlimited Patrick Palka
2015-06-15 15:25 ` Pedro Alves
2015-06-15 16:01   ` Patrick Palka
2015-06-15 16:18     ` Pedro Alves
2015-06-16 14:53 ` Patrick Palka
2015-06-16 15:00   ` Patrick Palka
2015-06-17 13:14     ` Pedro Alves
2015-06-17 12:46   ` Pedro Alves
2015-07-23 18:42   ` Racy failures on gdb.base/gdbinit-history.exp (native-extended-gdbserver/-m64) (was: Re: [PATCH] Don't truncate the history file when history size is unlimited) Sergio Durigan Junior
2015-07-23 19:33     ` Patrick Palka [this message]
2015-07-24 14:03       ` Patrick Palka
2015-07-24 14:16         ` Patrick Palka
2015-08-13 15:18     ` Patrick Palka
2015-08-13 22:28       ` Racy failures on gdb.base/gdbinit-history.exp (native-extended-gdbserver/-m64) Sergio Durigan Junior
2015-08-13 23:26         ` Pedro Alves
2015-08-14  0:46           ` Sergio Durigan Junior
2015-08-17 13:16           ` Patrick Palka
2015-08-17 13:28             ` Patrick Palka
2015-08-17 14:03               ` Pedro Alves
2015-08-17 20:10                 ` Patrick Palka
2015-08-17 23:29                   ` Patrick Palka
2015-09-10 13:44                     ` Pedro Alves
2015-09-10 15:30                       ` Sergio Durigan Junior

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CA+C-WL8tbu72AbMKCOSP-4jCgS2aC7A0aGOfmuCBf5fQHt2k3w@mail.gmail.com \
    --to=patrick@parcs.ath.cx \
    --cc=gdb-patches@sourceware.org \
    --cc=sergiodj@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox