* [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