Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH][gdb/testsuite] Ignore DEBUGINFOD_URLS
@ 2021-03-31 12:33 Tom de Vries
  2021-03-31 13:04 ` Simon Marchi via Gdb-patches
  0 siblings, 1 reply; 3+ messages in thread
From: Tom de Vries @ 2021-03-31 12:33 UTC (permalink / raw)
  To: gdb-patches

Hi,

On openSUSE Tumbleweed, DEBUGINFOD_URLS is now defined by default:
...
$ echo $DEBUGINFOD_URLS
https://debuginfod.opensuse.org/
...

With DEBUGINFOD_URLS defined we run into:
...
FAIL: gdb.mi/mi-sym-info.exp: List all functions from debug information only \
  (timeout)
...
as reported in PR27667.

There's a latency of ~0.5s per request, which is ok-ish for interactive usage.
But the symbol-info-functions command ends up issuing 21 source requests,
which means we easily run into the 10s timeout.

Fix this by unsetting DEBUGINFOD_URLS in default_gdb_init.

Any comments?

Thanks,
- Tom

[gdb/testsuite] Ignore DEBUGINFOD_URLS

gdb/testsuite/ChangeLog:

2021-03-31  Tom de Vries  <tdevries@suse.de>

	PR testsuite/27667
	* lib/gdb.exp (default_gdb_init): Unset DEBUGINFOD_URLS.

---
 gdb/testsuite/lib/gdb.exp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 73fea3a104d..d18aec648d9 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -5270,6 +5270,10 @@ proc default_gdb_init { test_file_name } {
     # tests.
     setenv TERM "dumb"
 
+    # If DEBUGINFOD_URLS is set, gdb will try to download sources and
+    # debug info for f.i. system libraries.  Prevent this.
+    unsetenv DEBUGINFOD_URLS
+
     # Ensure that GDBHISTFILE and GDBHISTSIZE are removed from the
     # environment, we don't want these modifications to the history
     # settings.

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

* Re: [PATCH][gdb/testsuite] Ignore DEBUGINFOD_URLS
  2021-03-31 12:33 [PATCH][gdb/testsuite] Ignore DEBUGINFOD_URLS Tom de Vries
@ 2021-03-31 13:04 ` Simon Marchi via Gdb-patches
  2021-03-31 13:21   ` Tom de Vries
  0 siblings, 1 reply; 3+ messages in thread
From: Simon Marchi via Gdb-patches @ 2021-03-31 13:04 UTC (permalink / raw)
  To: Tom de Vries, gdb-patches

On 2021-03-31 8:33 a.m., Tom de Vries wrote:> Hi,
> 
> On openSUSE Tumbleweed, DEBUGINFOD_URLS is now defined by default:
> ...
> $ echo $DEBUGINFOD_URLS
> https://debuginfod.opensuse.org/
> ...
> 
> With DEBUGINFOD_URLS defined we run into:
> ...
> FAIL: gdb.mi/mi-sym-info.exp: List all functions from debug information only \
>   (timeout)
> ...
> as reported in PR27667.
> 
> There's a latency of ~0.5s per request, which is ok-ish for interactive usage.
> But the symbol-info-functions command ends up issuing 21 source requests,
> which means we easily run into the 10s timeout.
> 
> Fix this by unsetting DEBUGINFOD_URLS in default_gdb_init.
> 
> Any comments?
> 
> Thanks,
> - Tom
> 
> [gdb/testsuite] Ignore DEBUGINFOD_URLS
> 
> gdb/testsuite/ChangeLog:
> 
> 2021-03-31  Tom de Vries  <tdevries@suse.de>
> 
> 	PR testsuite/27667
> 	* lib/gdb.exp (default_gdb_init): Unset DEBUGINFOD_URLS.
> 
> ---
>  gdb/testsuite/lib/gdb.exp | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
> index 73fea3a104d..d18aec648d9 100644
> --- a/gdb/testsuite/lib/gdb.exp
> +++ b/gdb/testsuite/lib/gdb.exp
> @@ -5270,6 +5270,10 @@ proc default_gdb_init { test_file_name } {
>      # tests.
>      setenv TERM "dumb"
>  
> +    # If DEBUGINFOD_URLS is set, gdb will try to download sources and
> +    # debug info for f.i. system libraries.  Prevent this.
> +    unsetenv DEBUGINFOD_URLS
> +
>      # Ensure that GDBHISTFILE and GDBHISTSIZE are removed from the
>      # environment, we don't want these modifications to the history
>      # settings.
> 

I think this is OK, we want to reduce external influence on the tests as
much as possible.

However, I could imagine we could have a "debuginfod" board file, which
runs all tests with a controlled debuginfod server it spawns itself, and
it would set DEBUGINFOD_URLS accordingly.  It could override gdb_compile
to feed all compiled binaries to the debuginfod server, something like
that.

Simon

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

* Re: [PATCH][gdb/testsuite] Ignore DEBUGINFOD_URLS
  2021-03-31 13:04 ` Simon Marchi via Gdb-patches
@ 2021-03-31 13:21   ` Tom de Vries
  0 siblings, 0 replies; 3+ messages in thread
From: Tom de Vries @ 2021-03-31 13:21 UTC (permalink / raw)
  To: Simon Marchi, gdb-patches

On 3/31/21 3:04 PM, Simon Marchi wrote:
> On 2021-03-31 8:33 a.m., Tom de Vries wrote:> Hi,
>>
>> On openSUSE Tumbleweed, DEBUGINFOD_URLS is now defined by default:
>> ...
>> $ echo $DEBUGINFOD_URLS
>> https://debuginfod.opensuse.org/
>> ...
>>
>> With DEBUGINFOD_URLS defined we run into:
>> ...
>> FAIL: gdb.mi/mi-sym-info.exp: List all functions from debug information only \
>>   (timeout)
>> ...
>> as reported in PR27667.
>>
>> There's a latency of ~0.5s per request, which is ok-ish for interactive usage.
>> But the symbol-info-functions command ends up issuing 21 source requests,
>> which means we easily run into the 10s timeout.
>>
>> Fix this by unsetting DEBUGINFOD_URLS in default_gdb_init.
>>
>> Any comments?
>>
>> Thanks,
>> - Tom
>>
>> [gdb/testsuite] Ignore DEBUGINFOD_URLS
>>
>> gdb/testsuite/ChangeLog:
>>
>> 2021-03-31  Tom de Vries  <tdevries@suse.de>
>>
>> 	PR testsuite/27667
>> 	* lib/gdb.exp (default_gdb_init): Unset DEBUGINFOD_URLS.
>>
>> ---
>>  gdb/testsuite/lib/gdb.exp | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
>> index 73fea3a104d..d18aec648d9 100644
>> --- a/gdb/testsuite/lib/gdb.exp
>> +++ b/gdb/testsuite/lib/gdb.exp
>> @@ -5270,6 +5270,10 @@ proc default_gdb_init { test_file_name } {
>>      # tests.
>>      setenv TERM "dumb"
>>  
>> +    # If DEBUGINFOD_URLS is set, gdb will try to download sources and
>> +    # debug info for f.i. system libraries.  Prevent this.
>> +    unsetenv DEBUGINFOD_URLS
>> +
>>      # Ensure that GDBHISTFILE and GDBHISTSIZE are removed from the
>>      # environment, we don't want these modifications to the history
>>      # settings.
>>
> 
> I think this is OK, we want to reduce external influence on the tests as
> much as possible.
> 
> However, I could imagine we could have a "debuginfod" board file, which
> runs all tests with a controlled debuginfod server it spawns itself, and
> it would set DEBUGINFOD_URLS accordingly.  It could override gdb_compile
> to feed all compiled binaries to the debuginfod server, something like
> that.

I also thought about that possibility.

Anyway, such a board file could define something like:
...
proc gdb_init { args } {
  set res [default_gdb_init {*}$args]
  setenv DEBUGINFOD_URLS "..."
  return $res
}
...

Committed, with the test for info exists env(DEBUGINFOD_URLS) added.

Thanks,
- Tom

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

end of thread, other threads:[~2021-03-31 13:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-31 12:33 [PATCH][gdb/testsuite] Ignore DEBUGINFOD_URLS Tom de Vries
2021-03-31 13:04 ` Simon Marchi via Gdb-patches
2021-03-31 13:21   ` Tom de Vries

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox