Re: [Linaro-TCWG-CI] 2 patches in gdb: FAIL: 5 regressions on aarch64

2024-02-13 Thread Guinevere Larsen

Hi!

I just checked out this regression but I think there's something odd 
going on in the setup that is running the tests. When I run the test 
locally, the relevant part of the logs looks like this:


    (gdb) PASS: gdb.threads/threadcrash.exp: test_live_inferior: 
continue to breakpoint: running to breakpoint

    print $_inferior_thread_count^M
    $1 = 7^M
    (gdb) PASS: gdb.threads/threadcrash.exp: test_live_inferior: 
$thread_count == 7

    thread apply all backtrace^M
    ^M
< lots of GDB output >
    (gdb) PASS: gdb.threads/threadcrash.exp: test_live_inferior: Get 
thread information
    PASS: gdb.threads/threadcrash.exp: test_live_inferior: $unwind_fail 
== false
    PASS: gdb.threads/threadcrash.exp: test_live_inferior: 
$thread_count == [llength $test_list]


Whereas the failed log reads like this:

    (gdb) PASS: gdb.threads/threadcrash.exp: test_live_inferior: 
continue to breakpoint: running to breakpoint

    print $_inferior_thread_count
    $1 = 7PASS: gdb.threads/threadcrash.exp: test_live_inferior: 
$thread_count == 7


    (gdb) PASS: gdb.threads/threadcrash.exp: test_live_inferior: Get 
thread information
    PASS: gdb.threads/threadcrash.exp: test_live_inferior: $unwind_fail 
== false
    FAIL: gdb.threads/threadcrash.exp: test_live_inferior: 
$thread_count == [llength $test_list]

    thread apply all backtrace

Notice how the gdb command to "apply all backtrace", which is used to 
create the test_list variable, happens after checking if the variable 
has been set correctly.


I have no clue how things can get so out of sync...

--
Cheers,
Guinevere Larsen
She/Her/Hers

On 13/02/2024 17:09, ci_not...@linaro.org wrote:

Dear contributor, our automatic CI has detected problems related to your 
patch(es).  Please find some details below.  If you have any questions, please 
follow up on linaro-toolchain@lists.linaro.org mailing list, Libera's 
#linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the 
usual project channel.

We appreciate that it might be difficult to find the necessary logs or 
reproduce the issue locally. If you can't get what you need from our CI within 
minutes, let us know and we will be happy to help.

In gdb_check master-aarch64 after:

   | 2 patches in gdb
   | Patchwork URL: https://patchwork.sourceware.org/patch/85659
   | f687941ee52 gdb/testsuite: reduce gdb.threads/threadcrash.exp reliance on 
libc symbols
   | 2e746d0ae56 gdb/testsuite: fix gdb.threads/threadcrash.exp on 32-bit arm 
targets
   | ... applied on top of baseline commit:
   | 7e4208a3f5d [gdb/tdep] Fix reverse execution of LDR(immediate) T4

FAIL: 5 regressions

regressions.sum:
=== gdb tests ===

Running gdb:gdb.threads/threadcrash.exp ...
FAIL: gdb.threads/threadcrash.exp: test_corefile: $thread_count == [llength 
$test_list]
FAIL: gdb.threads/threadcrash.exp: test_corefile: getting thread count (got 
interactive prompt)
FAIL: gdb.threads/threadcrash.exp: test_corefile: loading_corefile
FAIL: gdb.threads/threadcrash.exp: test_gcore: $thread_count == [llength 
$test_list]
FAIL: gdb.threads/threadcrash.exp: test_live_inferior: $thread_count == 
[llength $test_list]


You can find the failure logs in *.log.1.xz files in
  - 
https://ci.linaro.org/job/tcwg_gdb_check--master-aarch64-precommit/1701/artifact/artifacts/artifacts.precommit/00-sumfiles/
The full lists of regressions and progressions as well as configure and make 
commands are in
  - 
https://ci.linaro.org/job/tcwg_gdb_check--master-aarch64-precommit/1701/artifact/artifacts/artifacts.precommit/notify/
The list of [ignored] baseline and flaky failures are in
  - 
https://ci.linaro.org/job/tcwg_gdb_check--master-aarch64-precommit/1701/artifact/artifacts/artifacts.precommit/sumfiles/xfails.xfail

The configuration of this build is:
CI config tcwg_gdb_check master-aarch64

-8<--8<--8<--
The information below can be used to reproduce a debug environment:

Current build   : 
https://ci.linaro.org/job/tcwg_gdb_check--master-aarch64-precommit/1701/artifact/artifacts
Reference build : 
https://ci.linaro.org/job/tcwg_gdb_check--master-aarch64-build/814/artifact/artifacts


___
linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org
To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org


Re: [Linaro-TCWG-CI] 2 patches in gdb: FAIL: 5 regressions on aarch64

2024-02-13 Thread Thiago Jung Bauermann

Hello Guinevere,

Guinevere Larsen  writes:

> I just checked out this regression but I think there's something odd going on 
> in the setup
> that is running the tests. When I run the test locally, the relevant part of 
> the logs
> looks like this:
>
>     (gdb) PASS: gdb.threads/threadcrash.exp: test_live_inferior: continue to 
> breakpoint:
> running to breakpoint
>     print $_inferior_thread_count^M
>     $1 = 7^M
>     (gdb) PASS: gdb.threads/threadcrash.exp: test_live_inferior: 
> $thread_count == 7
>     thread apply all backtrace^M
>     ^M
> < lots of GDB output >
>     (gdb) PASS: gdb.threads/threadcrash.exp: test_live_inferior: Get thread 
> information
>     PASS: gdb.threads/threadcrash.exp: test_live_inferior: $unwind_fail == 
> false
>     PASS: gdb.threads/threadcrash.exp: test_live_inferior: $thread_count == 
> [llength
> $test_list]
>
> Whereas the failed log reads like this:
>
>     (gdb) PASS: gdb.threads/threadcrash.exp: test_live_inferior: continue to 
> breakpoint:
> running to breakpoint
>     print $_inferior_thread_count
>     $1 = 7PASS: gdb.threads/threadcrash.exp: test_live_inferior: 
> $thread_count == 7
>
>     (gdb) PASS: gdb.threads/threadcrash.exp: test_live_inferior: Get thread 
> information
>     PASS: gdb.threads/threadcrash.exp: test_live_inferior: $unwind_fail == 
> false
>     FAIL: gdb.threads/threadcrash.exp: test_live_inferior: $thread_count == 
> [llength
> $test_list]
>     thread apply all backtrace
>
> Notice how the gdb command to "apply all backtrace", which is used to create 
> the test_list
> variable, happens after checking if the variable has been set correctly.
>
> I have no clue how things can get so out of sync...

It gets out of sync because the gdb_test_multiple pattern in
test_thread_count doesn't include the GDB prompt, so that function can
return before GDB prints the prompt. In this case, this pattern in
thread_apply_all will immediately match and make it return before
constructing $test_list:

  -re "$::gdb_prompt " {
  pass $gdb_test_name
  }

That is why the "Get thread information" test passed right after the GDB
prompt printed after the "$thread_count == 7" test.

This patch makes the testcase work reliably for me, in a machine where I
could often reproduce the failure from the CI:

diff --git a/gdb/testsuite/gdb.threads/threadcrash.exp 
b/gdb/testsuite/gdb.threads/threadcrash.exp
index 3905ad6f9362..944fbcac1b18 100644
--- a/gdb/testsuite/gdb.threads/threadcrash.exp
+++ b/gdb/testsuite/gdb.threads/threadcrash.exp
@@ -28,7 +28,7 @@ proc test_thread_count {} {
 set thread_count 0
 
 gdb_test_multiple "print \$_inferior_thread_count" "getting thread count" {
-   -re ".* = (\[0-9]+).*" {
+   -re ".* = (\[0-9]+)\r\n$::gdb_prompt " {
set thread_count $expect_out(1,string)
gdb_assert {$thread_count == 7}
}

-- 
Thiago
___
linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org
To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org


Re: [Linaro-TCWG-CI] 2 patches in gdb: FAIL: 5 regressions on aarch64

2024-02-13 Thread Thiago Jung Bauermann


Hello again,

Thiago Jung Bauermann  writes:

> diff --git a/gdb/testsuite/gdb.threads/threadcrash.exp 
> b/gdb/testsuite/gdb.threads/threadcrash.exp
> index 3905ad6f9362..944fbcac1b18 100644
> --- a/gdb/testsuite/gdb.threads/threadcrash.exp
> +++ b/gdb/testsuite/gdb.threads/threadcrash.exp
> @@ -28,7 +28,7 @@ proc test_thread_count {} {
>  set thread_count 0
>  
>  gdb_test_multiple "print \$_inferior_thread_count" "getting thread 
> count" {
> - -re ".* = (\[0-9]+).*" {
> + -re ".* = (\[0-9]+)\r\n$::gdb_prompt " {
>   set thread_count $expect_out(1,string)
>   gdb_assert {$thread_count == 7}
>   }

It occurred to me that this gdb_test_multiple call is very similar to
the function get_valueof in lib/gdb.exp, so one suggestion is to use
that function instead. It uses "-re -wrap" so it expects the GDB prompt.

-- 
Thiago
___
linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org
To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org


RE: [Linaro-TCWG-CI] gcc patch #85687: FAIL: 3 regressions on arm

2024-02-13 Thread Andrew Pinski (QUIC)
This does not make sense at all. The patch only touches aarch64 code and does 
NOT even touch arm code so there can't be any regressions with arm.

Thanks,
Andrew Pinski

> -Original Message-
> From: ci_not...@linaro.org 
> Sent: Tuesday, February 13, 2024 9:34 PM
> To: Andrew Pinski (QUIC) 
> Subject: [Linaro-TCWG-CI] gcc patch #85687: FAIL: 3 regressions on arm
> 
> Dear contributor, our automatic CI has detected problems related to your
> patch(es).  Please find some details below.  If you have any questions, please
> follow up on linaro-toolchain@lists.linaro.org mailing list, Libera's 
> #linaro-tcwg
> channel, or ping your favourite Linaro toolchain developer on the usual 
> project
> channel.
> 
> We appreciate that it might be difficult to find the necessary logs or 
> reproduce
> the issue locally. If you can't get what you need from our CI within minutes, 
> let
> us know and we will be happy to help.
> 
> In gcc_check master-arm after:
> 
>   | gcc patch https://patchwork.sourceware.org/patch/85687
>   | Author: Andrew Pinski 
>   | Date:   Tue Feb 13 15:22:32 2024 -0800
>   |
>   | aarch64: Reword error message for mismatch guard size and probing
> interval [PR90155]
>   |
>   | The error message is not clear what options are being taked about 
> when it
> says the values
>   | need to match; plus there is a wrong quotation dealing with the
> diagnostic.
>   | So this changes the error message to be exactly talking about the 
> param
> options that
>   | are being taked about and now with the options, it needs the quoting.
>   |
>   | ... 8 lines of the commit log omitted.
>   | ... applied on top of baseline commit:
>   | 5f2cd521347 libstdc++: C++ item p2442 is version 1 only
> 
> FAIL: 3 regressions
> 
> regressions.sum:
>   === g++ tests ===
> 
> Running g++:g++.dg/guality/guality.exp ...
> FAIL: g++.dg/guality/pr55665.C -O2 -flto -fno-use-linker-plugin -flto-
> partition=none  line 23 p == 40
> 
> Running g++:g++.target/arm/arm.exp ...
> XPASS: g++.target/arm/bfloat_cpp_typecheck.C (test for bogus messages, line
> 10)
> XPASS: g++.target/arm/bfloat_cpp_typecheck.C (test for bogus messages, line
> 11)
> 
> 
> You can find the failure logs in *.log.1.xz files in
>  - https://ci.linaro.org/job/tcwg_gcc_check--master-arm-
> precommit/6107/artifact/artifacts/artifacts.precommit/00-sumfiles/
> The full lists of regressions and progressions as well as configure and make
> commands are in
>  - https://ci.linaro.org/job/tcwg_gcc_check--master-arm-
> precommit/6107/artifact/artifacts/artifacts.precommit/notify/
> The list of [ignored] baseline and flaky failures are in
>  - https://ci.linaro.org/job/tcwg_gcc_check--master-arm-
> precommit/6107/artifact/artifacts/artifacts.precommit/sumfiles/xfails.xfail
> 
> The configuration of this build is:
> CI config tcwg_gcc_check master-arm
> 
> -8<--8<--8<
> --
> The information below can be used to reproduce a debug environment:
> 
> Current build   : https://ci.linaro.org/job/tcwg_gcc_check--master-arm-
> precommit/6107/artifact/artifacts
> Reference build : https://ci.linaro.org/job/tcwg_gcc_check--master-arm-
> build/1714/artifact/artifacts
___
linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org
To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org