public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug record/28057] New: FAIL: gdb.btrace/tsx.exp: speculation indication
@ 2021-07-06 12:08 vries at gcc dot gnu.org
  2021-07-06 12:12 ` [Bug record/28057] " vries at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: vries at gcc dot gnu.org @ 2021-07-06 12:08 UTC (permalink / raw)
  To: gdb-prs

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

            Bug ID: 28057
           Summary: FAIL: gdb.btrace/tsx.exp: speculation indication
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: record
          Assignee: unassigned at sourceware dot org
          Reporter: vries at gcc dot gnu.org
  Target Milestone: ---

Recently I started to see this fail with trunk:
...
(gdb) record instruction-history^M
1          0x00000000004004ab <main+4>: call   0x4004b7 <test>^M
2          0x00000000004004c6 <test+15>:        mov    $0x1,%eax^M
3          0x00000000004004cb <test+20>:        ret    ^M
(gdb) FAIL: gdb.btrace/tsx.exp: speculation indication
...

Looking in older testlogs, I see instead:
...
(gdb) record instruction-history^M
1          0x00000000004004aa <main+4>: call   0x4004b6 <test>^M
2       ?  0x00000000004004b6 <test+0>: xbegin 0x4004c5 <test+15>^M
3       ?  0x00000000004004bc <test+6>: mov    $0x0,%eax^M
4          0x00000000004004c1 <test+11>:        xend   ^M
5          0x00000000004004c4 <test+14>:        ret    ^M
(gdb) PASS: gdb.btrace/tsx.exp: speculation indication
...

This FAIL doesn't seem to be due to a gdb regression, I'm running into the same
fail with gdb-10-branch branchpoint, while at the time when that was current, I
didn't see this failure.

I've got this processor:
...
model name      : Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz
...
which according to
https://ark.intel.com/content/www/us/en/ark/products/88192/intel-core-i7-6600u-processor-4m-cache-up-to-3-40-ghz.html
is a "skylake" one.

Reading here (
https://en.wikipedia.org/wiki/Transactional_Synchronization_Extensions ):
...
In June 2021, Intel published a microcode update that further disables
TSX/TSX-NI on various Xeon and Core processor models from Skylake through
Coffee Lake and Whiskey Lake as a mitigation for unreliable behavior of a
performance counter in the Performance Monitoring Unit (PMU).[26] By default,
with the updated microcode, the processor would still indicate support for RTM
but would always abort the transaction.
...
it seems that the fail could be triggered by this microcode update.

Footnote refers to
https://www.intel.com/content/www/us/en/support/articles/000059422/processors.html
.

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug record/28057] FAIL: gdb.btrace/tsx.exp: speculation indication
  2021-07-06 12:08 [Bug record/28057] New: FAIL: gdb.btrace/tsx.exp: speculation indication vries at gcc dot gnu.org
@ 2021-07-06 12:12 ` vries at gcc dot gnu.org
  2021-07-06 12:19 ` vries at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: vries at gcc dot gnu.org @ 2021-07-06 12:12 UTC (permalink / raw)
  To: gdb-prs

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

Tom de Vries <vries at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |markus.t.metzger at intel dot com

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug record/28057] FAIL: gdb.btrace/tsx.exp: speculation indication
  2021-07-06 12:08 [Bug record/28057] New: FAIL: gdb.btrace/tsx.exp: speculation indication vries at gcc dot gnu.org
  2021-07-06 12:12 ` [Bug record/28057] " vries at gcc dot gnu.org
@ 2021-07-06 12:19 ` vries at gcc dot gnu.org
  2021-07-06 12:25 ` markus.t.metzger at intel dot com
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: vries at gcc dot gnu.org @ 2021-07-06 12:19 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> ---
It would be great if skip_tsx_tests can detect this new situation.

The article mentions a new CPUID bit CPUID.07H.0H.EDX[11](RTM_ALWAYS_ABORT). 
But perhaps there's an easier way.

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug record/28057] FAIL: gdb.btrace/tsx.exp: speculation indication
  2021-07-06 12:08 [Bug record/28057] New: FAIL: gdb.btrace/tsx.exp: speculation indication vries at gcc dot gnu.org
  2021-07-06 12:12 ` [Bug record/28057] " vries at gcc dot gnu.org
  2021-07-06 12:19 ` vries at gcc dot gnu.org
@ 2021-07-06 12:25 ` markus.t.metzger at intel dot com
  2021-07-12 11:26 ` [Bug testsuite/28057] " vries at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: markus.t.metzger at intel dot com @ 2021-07-06 12:25 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #2 from Markus Metzger <markus.t.metzger at intel dot com> ---
Thanks, Tom, for reporting this.

The tsx.exp test is already very flexible and allows all combinations of
success and abort that I could think of at that time.  In this new situation it
looks like xbegin itself does not retire and instead faults to the handler.

The easiest fix would be to add this to the expected patterns.  I'll send a
patch.

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug testsuite/28057] FAIL: gdb.btrace/tsx.exp: speculation indication
  2021-07-06 12:08 [Bug record/28057] New: FAIL: gdb.btrace/tsx.exp: speculation indication vries at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2021-07-06 12:25 ` markus.t.metzger at intel dot com
@ 2021-07-12 11:26 ` vries at gcc dot gnu.org
  2021-07-12 11:31 ` vries at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: vries at gcc dot gnu.org @ 2021-07-12 11:26 UTC (permalink / raw)
  To: gdb-prs

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

Tom de Vries <vries at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|record                      |testsuite

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug testsuite/28057] FAIL: gdb.btrace/tsx.exp: speculation indication
  2021-07-06 12:08 [Bug record/28057] New: FAIL: gdb.btrace/tsx.exp: speculation indication vries at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2021-07-12 11:26 ` [Bug testsuite/28057] " vries at gcc dot gnu.org
@ 2021-07-12 11:31 ` vries at gcc dot gnu.org
  2021-07-12 15:25 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: vries at gcc dot gnu.org @ 2021-07-12 11:31 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #3 from Tom de Vries <vries at gcc dot gnu.org> ---
(In reply to Markus Metzger from comment #2)
> Thanks, Tom, for reporting this.
> 
> The tsx.exp test is already very flexible and allows all combinations of
> success and abort that I could think of at that time.  In this new situation
> it looks like xbegin itself does not retire and instead faults to the
> handler.
> 
> The easiest fix would be to add this to the expected patterns.  I'll send a
> patch.

I haven't seen an update on this, and I'm in a bit of a hurry, because I'd like
to fix the gdb-11-branch before the first release goes out.  So I went ahead
and submitted a patch:
https://sourceware.org/pipermail/gdb-patches/2021-July/180824.html .

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug testsuite/28057] FAIL: gdb.btrace/tsx.exp: speculation indication
  2021-07-06 12:08 [Bug record/28057] New: FAIL: gdb.btrace/tsx.exp: speculation indication vries at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2021-07-12 11:31 ` vries at gcc dot gnu.org
@ 2021-07-12 15:25 ` cvs-commit at gcc dot gnu.org
  2021-07-12 15:33 ` cvs-commit at gcc dot gnu.org
  2021-07-12 15:35 ` vries at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-07-12 15:25 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tom de Vries <vries@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=16e7bd3b25bb5715e5161926713094a2982c9c7a

commit 16e7bd3b25bb5715e5161926713094a2982c9c7a
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jul 12 17:24:59 2021 +0200

    [gdb/testsuite] Fix gdb.btrace/tsx.exp on system with tsx disabled in
microcode

    Recently I started to see this fail with trunk:
    ...
    (gdb) record instruction-history^M
    1          0x00000000004004ab <main+4>: call   0x4004b7 <test>^M
    2          0x00000000004004c6 <test+15>:        mov    $0x1,%eax^M
    3          0x00000000004004cb <test+20>:        ret    ^M
    (gdb) FAIL: gdb.btrace/tsx.exp: speculation indication
    ...

    This is due to an intel microcode update (1) that disables Intel TSX by
default.

    Fix this by updating the pattern.

    Tested on x86_64-linux, with both gcc 7.5.0 and clang 12.0.1.

    [1]
https://www.intel.com/content/www/us/en/support/articles/000059422/processors.html

    gdb/testsuite/ChangeLog:

    2021-07-12  Tom de Vries  <tdevries@suse.de>

            PR testsuite/28057
            * gdb.btrace/tsx.exp: Add pattern for system with tsx disabled in
            microcode.

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug testsuite/28057] FAIL: gdb.btrace/tsx.exp: speculation indication
  2021-07-06 12:08 [Bug record/28057] New: FAIL: gdb.btrace/tsx.exp: speculation indication vries at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2021-07-12 15:25 ` cvs-commit at gcc dot gnu.org
@ 2021-07-12 15:33 ` cvs-commit at gcc dot gnu.org
  2021-07-12 15:35 ` vries at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-07-12 15:33 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #5 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The gdb-11-branch branch has been updated by Tom de Vries
<vries@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d6771741f3a1350e108ea8685fbcdb44c047f885

commit d6771741f3a1350e108ea8685fbcdb44c047f885
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jul 12 17:33:42 2021 +0200

    [gdb/testsuite] Fix gdb.btrace/tsx.exp on system with tsx disabled in
microcode

    Recently I started to see this fail with trunk:
    ...
    (gdb) record instruction-history^M
    1          0x00000000004004ab <main+4>: call   0x4004b7 <test>^M
    2          0x00000000004004c6 <test+15>:        mov    $0x1,%eax^M
    3          0x00000000004004cb <test+20>:        ret    ^M
    (gdb) FAIL: gdb.btrace/tsx.exp: speculation indication
    ...

    This is due to an intel microcode update (1) that disables Intel TSX by
default.

    Fix this by updating the pattern.

    Tested on x86_64-linux, with both gcc 7.5.0 and clang 12.0.1.

    [1]
https://www.intel.com/content/www/us/en/support/articles/000059422/processors.html

    gdb/testsuite/ChangeLog:

    2021-07-12  Tom de Vries  <tdevries@suse.de>

            PR testsuite/28057
            * gdb.btrace/tsx.exp: Add pattern for system with tsx disabled in
            microcode.

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug testsuite/28057] FAIL: gdb.btrace/tsx.exp: speculation indication
  2021-07-06 12:08 [Bug record/28057] New: FAIL: gdb.btrace/tsx.exp: speculation indication vries at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2021-07-12 15:33 ` cvs-commit at gcc dot gnu.org
@ 2021-07-12 15:35 ` vries at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: vries at gcc dot gnu.org @ 2021-07-12 15:35 UTC (permalink / raw)
  To: gdb-prs

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

Tom de Vries <vries at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED
   Target Milestone|---                         |11.1

--- Comment #6 from Tom de Vries <vries at gcc dot gnu.org> ---
Patch fixing test-case committed to trunk and gdb-11-branch, marking
resolved-fixed.

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-07-12 15:35 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-06 12:08 [Bug record/28057] New: FAIL: gdb.btrace/tsx.exp: speculation indication vries at gcc dot gnu.org
2021-07-06 12:12 ` [Bug record/28057] " vries at gcc dot gnu.org
2021-07-06 12:19 ` vries at gcc dot gnu.org
2021-07-06 12:25 ` markus.t.metzger at intel dot com
2021-07-12 11:26 ` [Bug testsuite/28057] " vries at gcc dot gnu.org
2021-07-12 11:31 ` vries at gcc dot gnu.org
2021-07-12 15:25 ` cvs-commit at gcc dot gnu.org
2021-07-12 15:33 ` cvs-commit at gcc dot gnu.org
2021-07-12 15:35 ` vries at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).