public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
From: "vries at gcc dot gnu.org" <sourceware-bugzilla@sourceware.org>
To: gdb-prs@sourceware.org
Subject: [Bug testsuite/28504] New: FAIL: gdb.arch/i386-sse.exp: check contents of data[2]
Date: Wed, 27 Oct 2021 12:02:25 +0000	[thread overview]
Message-ID: <bug-28504-4717@http.sourceware.org/bugzilla/> (raw)

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

            Bug ID: 28504
           Summary: FAIL: gdb.arch/i386-sse.exp: check contents of data[2]
           Product: gdb
           Version: 11.1
            Status: NEW
          Severity: normal
          Priority: P2
         Component: testsuite
          Assignee: unassigned at sourceware dot org
          Reporter: vries at gcc dot gnu.org
  Target Milestone: ---

FTR, I ran into a cluster of failures on OBS (only showing one FAIL per
test-case), all on the same machine:
...
binaries-testsuite.openSUSE_Factory.x86_64/gdb-testresults/gdb-x86_64-suse-linux-m64.-fno-PIE.-no-pie.sum:
FAILs:
FAIL: gdb.arch/i386-sse.exp: check contents of data[2]
FAIL: gdb.base/call-ar-st.exp: print print_small_structs (timeout)
FAIL: gdb.base/callfuncs.exp: call function with many float arguments.
FAIL: gdb.base/dfp-test.exp: backtrace function with correct _Decimal32
arguments.
FAIL: gdb.base/varargs.exp: print find_max_float_real(4, fc1, fc2, fc3, fc4)
FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse xorps

binaries-testsuite.openSUSE_Factory.x86_64/gdb-testresults/gdb-x86_64-suse-linux-m64.sum:
FAILs:
FAIL: gdb.arch/i386-sse.exp: check contents of data[2]
FAIL: gdb.base/call-ar-st.exp: print print_small_structs (timeout)
FAIL: gdb.base/callfuncs.exp: call function with many float arguments.
FAIL: gdb.base/dfp-test.exp: backtrace function with correct _Decimal32
arguments.
FAIL: gdb.base/varargs.exp: print find_max_float_real(4, fc1, fc2, fc3, fc4)
FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse xorps

binaries-testsuite.openSUSE_Factory.x86_64/gdb-testresults/gdb-x86_64-suse-linux-m32.-fno-PIE.-no-pie.sum:
FAILs:
FAIL: gdb.arch/i386-sse.exp: check contents of data[2]
FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse xorps
...

The first FAIL looks like:
...
(gdb) PASS: gdb.arch/i386-sse.exp: check contents of data[1]
print data[2]^M
$36 = {f = {0, 0, 0, 0}}^M
(gdb) FAIL: gdb.arch/i386-sse.exp: check contents of data[2]
...

The FAILs extends over 8 elements (elements 2-9):
...
PASS: gdb.arch/i386-sse.exp: check contents of data[1]
FAIL: gdb.arch/i386-sse.exp: check contents of data[2]
FAIL: gdb.arch/i386-sse.exp: check contents of data[3]
FAIL: gdb.arch/i386-sse.exp: check contents of data[4]
FAIL: gdb.arch/i386-sse.exp: check contents of data[5]
FAIL: gdb.arch/i386-sse.exp: check contents of data[6]
FAIL: gdb.arch/i386-sse.exp: check contents of data[7]
FAIL: gdb.arch/i386-sse.exp: check contents of data[8]
FAIL: gdb.arch/i386-sse.exp: check contents of data[9]
PASS: gdb.arch/i386-sse.exp: check contents of data[10]
...

I wonder if this is a dcache bug of some sort.

Dcache line size is 64 bytes.

The data array has 16 elements, of size 16 each:
...
(gdb) p sizeof(data[0])
$3 = 16
...

4 elements fit into a dcache line.  The failure stretches over the size of two
dcache lines.

OTOH, looking at:
...
(gdb) PASS: gdb.reverse/i386-sse-reverse.exp: verify xmm1 after reverse xorps
info register xmm2^M
xmm2           {v8_bfloat16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
v4_float = {0x0, 0x0,\
 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>},
v8_int16 = {0x0, 0x0\
, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 =
{0x0, 0x0}, uint\
128 = 0x0}^M
(gdb) FAIL: gdb.reverse/i386-sse-reverse.exp: verify xmm2 after reverse xorps
...
the problem is related to xmm2, and in the previous test-case the data[2]
element is copied from xmm2.  So perhaps it's register-related?

Anyway, we could extend the gdb.arch/i386-sse.exp test-case to print the
registers after the update, before they're written back to data, to possibly
narrow down this problem in the future.

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

             reply	other threads:[~2021-10-27 12:02 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-27 12:02 vries at gcc dot gnu.org [this message]
2021-10-27 13:01 ` [Bug testsuite/28504] " vries at gcc dot gnu.org
2021-11-18 11:38 ` vries at gcc dot gnu.org
2021-11-22 11:43 ` vries at gcc dot gnu.org

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=bug-28504-4717@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=gdb-prs@sourceware.org \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).