Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom de Vries <tdevries@suse.de>
To: Thiago Jung Bauermann <thiago.bauermann@linaro.org>,
	gdb-patches@sourceware.org
Subject: Re: [PATCH] gdb.gdb/python-helper.exp: Increase timeout values
Date: Sun, 6 Sep 2026 17:58:06 +0200	[thread overview]
Message-ID: <a7a3f8d6-c6f0-4822-b8c2-c9bcce903cd9@suse.de> (raw)
In-Reply-To: <20260906040140.158197-1-thiago.bauermann@linaro.org>

On 9/6/26 6:01 AM, Thiago Jung Bauermann wrote:
> In the three Linux machines I tested (my x86_64 laptop and two aarch64
> servers), gdb.gdb/python-helper.exp has this timeout failure:
> 
> FAIL: gdb.gdb/python-helper.exp: pretty print type instance flags (timeout)
> 
> And the slower aarch64 server also has this one:
> 
> FAIL: gdb.gdb/python-helper.exp: start inner gdb (timeout)
> 
> Fix these failures by using timeout factors.  For the latter, a 2x factor
> is enough.  For the former, I needed 8x.  It appears that the "pretty print
> type instance flags" test is quite demanding.

I tried to see if I could reproduce this.  I ended up writing a patch ( 
https://sourceware.org/pipermail/gdb-patches/2026-September/230135.html 
) for some timeout but I have no idea whether it's the same root cause 
or not.  You may want to test it.

Assuming it's not, LGTM.

Approved-By: Tom de Vries <tdevries@suse.de>

> ---
> 
> I actually noticed these failures because I compared GDB 17.2 test
> results with GDB 18 ones. OK to also push to the branch?
> 

This makes me wonder if we're dealing with a performance regression 
here, but yeah, I suppose it's ok.

Thanks,
- Tom


>   gdb/testsuite/gdb.gdb/python-helper.exp | 40 ++++++++++++++-----------
>   1 file changed, 22 insertions(+), 18 deletions(-)
> 
> diff --git a/gdb/testsuite/gdb.gdb/python-helper.exp b/gdb/testsuite/gdb.gdb/python-helper.exp
> index d84e48166995..bcd94b2e6ae5 100644
> --- a/gdb/testsuite/gdb.gdb/python-helper.exp
> +++ b/gdb/testsuite/gdb.gdb/python-helper.exp
> @@ -91,19 +91,21 @@ proc test_python_helper {} {
>       # little clearer when trying to unpick which GDB is active.
>       gdb_test_no_output -prompt $outer_prompt_re  "set prompt (outer-gdb) " "set outer gdb prompt"
>   
> -    # Send a command to the outer GDB to continue the inner GDB.  The
> -    # stop is being detected from the inner GDB, hence the use of -i
> -    # here.
> -    gdb_test_multiple "continue" "start inner gdb" {
> -	-re "received signal SIGSEGV.* in GC_.*$outer_prompt_re" {
> -	    # Some versions of the GC used by Guile cause a SEGV
> -	    # during stack probing.  Ignore this and carry on.
> -	    send_gdb "continue\n"
> -	    exp_continue
> -	}
> -	-i "$inferior_spawn_id"
> -	-re "\r\n$gdb_prompt $" {
> -	    pass $gdb_test_name
> +    with_timeout_factor 2 {
> +	# Send a command to the outer GDB to continue the inner GDB.  The
> +	# stop is being detected from the inner GDB, hence the use of -i
> +	# here.
> +	gdb_test_multiple "continue" "start inner gdb" {
> +	    -re "received signal SIGSEGV.* in GC_.*$outer_prompt_re" {
> +		# Some versions of the GC used by Guile cause a SEGV
> +		# during stack probing.  Ignore this and carry on.
> +		send_gdb "continue\n"
> +		exp_continue
> +	    }
> +	    -i "$inferior_spawn_id"
> +	    -re "\r\n$gdb_prompt $" {
> +		pass $gdb_test_name
> +	    }
>   	}
>       }
>   
> @@ -172,11 +174,13 @@ proc test_python_helper {} {
>   		    " int_stuff = \{ bit_size = $decimal, bit_offset = $decimal \}\}"]
>       gdb_test -prompt $outer_prompt_re "print *val->m_type->main_type" $answer "pretty print type->main_type"
>   
> -    # Test printing instance flags using an artificial type.
> -    set answer [string_to_regexp {instance_flags = [VOLATILE|DATA_SPACE|ADDRESS_CLASS(3)]}]
> -    gdb_test -prompt $outer_prompt_re \
> -	"print *make_type_with_harvard_address_space (make_cv_type (0, 1, make_type_with_address_class (val->m_type, 3)), 2)" \
> -	"${answer}.*" "pretty print type instance flags"
> +    with_timeout_factor 8 {
> +	# Test printing instance flags using an artificial type.
> +	set answer [string_to_regexp {instance_flags = [VOLATILE|DATA_SPACE|ADDRESS_CLASS(3)]}]
> +	gdb_test -prompt $outer_prompt_re \
> +	    "print *make_type_with_harvard_address_space (make_cv_type (0, 1, make_type_with_address_class (val->m_type, 3)), 2)" \
> +	    "${answer}.*" "pretty print type instance flags"
> +    }
>   
>       # Send the continue to the outer GDB, which resumes the inner GDB,
>       # we then detect the prompt from the inner GDB, hence the use of


  reply	other threads:[~2026-09-06 15:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-06  4:01 Thiago Jung Bauermann
2026-09-06 15:58 ` Tom de Vries [this message]
2026-09-06 20:13   ` Thiago Jung Bauermann
2026-09-07  1:02     ` Simon Marchi
2026-09-07  4:21       ` Thiago Jung Bauermann
2026-09-06 18:52 ` Simon Marchi

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=a7a3f8d6-c6f0-4822-b8c2-c9bcce903cd9@suse.de \
    --to=tdevries@suse.de \
    --cc=gdb-patches@sourceware.org \
    --cc=thiago.bauermann@linaro.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