public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug modula2/114886] New: gm2 testsuite arbitrarily reduces timeouts
@ 2024-04-29 9:42 ro at gcc dot gnu.org
2024-04-29 9:43 ` [Bug modula2/114886] " ro at gcc dot gnu.org
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: ro at gcc dot gnu.org @ 2024-04-29 9:42 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114886
Bug ID: 114886
Summary: gm2 testsuite arbitrarily reduces timeouts
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: modula2
Assignee: gaius at gcc dot gnu.org
Reporter: ro at gcc dot gnu.org
Target Milestone: ---
When bootstrapping the gcc-14 branch on sparc-sun-solaris2.11, quite a number
of gm2 tests FAILed due to timeouts.
I had seen this before and could trace this to the gm2 testsuite reducing way
beyond the default of 300 seconds (sometimes as low as 10 seconds). I think
this is badly misguided for a couple of reasons:
* If a test completes (PASS or FAIL) within the reduced reduced timeout, it
will do so with the default timeout, too.
* If a test takes either longer than the default timeout (either because
compilation of execution is particularly slow or because some step loops
indefinitely), reducing the timeout would give a result earlier. However,
I've rarely if ever seen such a case in all my testing.
* If a test takes longer than the reduced timeout, it will fail while it would
pass just fine with the default timeout.
* Using hardcoded timeouts is always wrong: while the values currenly used
may work one some particular target, it will cause failures on systems that
are either slower or under higher load. Besides, it is possible to globally
change the derfault in some expect snippet (like
global board_info
set board_info(unix,gcc,timeout) 600
(even differently per multilib if desired).
IMO this whole approach is completely misguided, has very little benefit even
in the best case, and demonstrably introduces failures that wouldn't exist
without
it.
I'm attaching my current hack for reference, but it's completely inappropriate
as is. It only identifies some (all?) places that need changing.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug modula2/114886] gm2 testsuite arbitrarily reduces timeouts
2024-04-29 9:42 [Bug modula2/114886] New: gm2 testsuite arbitrarily reduces timeouts ro at gcc dot gnu.org
@ 2024-04-29 9:43 ` ro at gcc dot gnu.org
2024-04-30 7:30 ` ro at gcc dot gnu.org
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: ro at gcc dot gnu.org @ 2024-04-29 9:43 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114886
--- Comment #1 from Rainer Orth <ro at gcc dot gnu.org> ---
Created attachment 58068
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=58068&action=edit
Hack to identify places that reduce timeouts.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug modula2/114886] gm2 testsuite arbitrarily reduces timeouts
2024-04-29 9:42 [Bug modula2/114886] New: gm2 testsuite arbitrarily reduces timeouts ro at gcc dot gnu.org
2024-04-29 9:43 ` [Bug modula2/114886] " ro at gcc dot gnu.org
@ 2024-04-30 7:30 ` ro at gcc dot gnu.org
2024-04-30 11:50 ` cvs-commit at gcc dot gnu.org
2024-04-30 11:53 ` ro at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: ro at gcc dot gnu.org @ 2024-04-30 7:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114886
Rainer Orth <ro at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
URL| |https://gcc.gnu.org/piperma
| |il/gcc-patches/2024-April/6
| |50222.html
Status|UNCONFIRMED |NEW
Last reconfirmed| |2024-04-30
Target Milestone|--- |14.2
Ever confirmed|0 |1
--- Comment #2 from Rainer Orth <ro at gcc dot gnu.org> ---
Proper patch posted.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug modula2/114886] gm2 testsuite arbitrarily reduces timeouts
2024-04-29 9:42 [Bug modula2/114886] New: gm2 testsuite arbitrarily reduces timeouts ro at gcc dot gnu.org
2024-04-29 9:43 ` [Bug modula2/114886] " ro at gcc dot gnu.org
2024-04-30 7:30 ` ro at gcc dot gnu.org
@ 2024-04-30 11:50 ` cvs-commit at gcc dot gnu.org
2024-04-30 11:53 ` ro at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-04-30 11:50 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114886
--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Rainer Orth <ro@gcc.gnu.org>:
https://gcc.gnu.org/g:aff63ac11099d100b6891f3bcc3dc6cbc4fad654
commit r15-69-gaff63ac11099d100b6891f3bcc3dc6cbc4fad654
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date: Tue Apr 30 13:49:28 2024 +0200
testsuite: gm2: Remove timeout overrides [PR114886]
A large number of gm2 tests are timing out even on current Solaris/SPARC
systems. As detailed in the PR, the problem is that the gm2 testsuite
artificially lowers many timeouts way below the DejaGnu default of 300
seconds, often as short as 10 seconds. The problem lies both in the
values (they may be appropriate for some targets, but too low for
others, especially under high load) and the fact that it uses absolute
values, overriding e.g. settings from a build-wide site.exp.
Therefore this patch removes all those overrides, restoring the
defaults.
Tested on sparc-sun-solaris2.11 (where all the previous timeouts are
gone) and i386-pc-solaris2.11.
2024-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
gcc/testsuite:
PR modula2/114886
* lib/gm2.exp: Don't load timeout-dg.exp.
Don't set gm2_previous_timeout.
Don't call dg-timeout.
(gm2_push_timeout, gm2_pop_timeout): Remove.
(gm2_init): Don't call dg-timeout.
* lib/gm2-torture.exp: Don't load timeout-dg.exp.
Don't set gm2_previous_timeout.
Don't call dg-timeout.
(gm2_push_timeout, gm2_pop_timeout): Remove.
* gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp: Don't
load timeout-dg.exp.
Don't call gm2_push_timeout, gm2_pop_timeout.
* gm2/examples/map/pass/examples-map-pass.exp: Don't call
gm2_push_timeout, gm2_pop_timeout.
* gm2/iso/run/pass/iso-run-pass.exp: Don't load timeout-dg.exp.
Don't call gm2_push_timeout, gm2_pop_timeout.
* gm2/pimlib/base/run/pass/pimlib-base-run-pass.exp: Don't load
timeout-dg.exp.
Don't call gm2_push_timeout, gm2_pop_timeout.
* gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp:
Don't call gm2_push_timeout, gm2_pop_timeout.
*
gm2/switches/whole-program/pass/run/switches-whole-program-pass-run.exp:
Don't load timeout-dg.exp.
Don't call gm2_push_timeout, gm2_pop_timeout.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug modula2/114886] gm2 testsuite arbitrarily reduces timeouts
2024-04-29 9:42 [Bug modula2/114886] New: gm2 testsuite arbitrarily reduces timeouts ro at gcc dot gnu.org
` (2 preceding siblings ...)
2024-04-30 11:50 ` cvs-commit at gcc dot gnu.org
@ 2024-04-30 11:53 ` ro at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: ro at gcc dot gnu.org @ 2024-04-30 11:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114886
Rainer Orth <ro at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|gaius at gcc dot gnu.org |ro at gcc dot gnu.org
--- Comment #4 from Rainer Orth <ro at gcc dot gnu.org> ---
Fixed for GCC 15.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-04-30 11:53 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-29 9:42 [Bug modula2/114886] New: gm2 testsuite arbitrarily reduces timeouts ro at gcc dot gnu.org
2024-04-29 9:43 ` [Bug modula2/114886] " ro at gcc dot gnu.org
2024-04-30 7:30 ` ro at gcc dot gnu.org
2024-04-30 11:50 ` cvs-commit at gcc dot gnu.org
2024-04-30 11:53 ` ro at gcc dot gnu.org
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).