[RFA,2/3] Fix gdb.multi/multi-arch-exec.exp blocking under high load/slow gdb

Message ID 20190323200022.28689-3-philippe.waroquiers@skynet.be
State New, archived
Headers

Commit Message

Philippe Waroquiers March 23, 2019, 8 p.m. UTC
  When running multi-arch-exec.exp under valgrind, the test succeeds
when the machine is not loaded, but blocks when the machine is highly
loaded (e.g. when running the testsuite with valgrind with -j X
where X is one more than the nr of available cores).

The problem is that the hello program dies too early due to the alarm (30).

So, increase the alarm timer.
Note that this does not make the test take longer (it takes about
3.5 seconds on my system).  As I understand, the alarm is just there
to avoid hello staying there forever in case of another problem.

2019-03-23  Philippe Waroquiers  <philippe.waroquiers@skynet.be>

	* gdb.multi/hello.c (main): Increase alarm timer.
---
 gdb/testsuite/gdb.multi/hello.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Kevin Buettner March 24, 2019, 10:57 p.m. UTC | #1
On Sat, 23 Mar 2019 21:00:21 +0100
Philippe Waroquiers <philippe.waroquiers@skynet.be> wrote:

> When running multi-arch-exec.exp under valgrind, the test succeeds
> when the machine is not loaded, but blocks when the machine is highly
> loaded (e.g. when running the testsuite with valgrind with -j X
> where X is one more than the nr of available cores).
> 
> The problem is that the hello program dies too early due to the alarm (30).
> 
> So, increase the alarm timer.
> Note that this does not make the test take longer (it takes about
> 3.5 seconds on my system).  As I understand, the alarm is just there
> to avoid hello staying there forever in case of another problem.
> 
> 2019-03-23  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
> 
> 	* gdb.multi/hello.c (main): Increase alarm timer.

Okay.

Kevin
  

Patch

diff --git a/gdb/testsuite/gdb.multi/hello.c b/gdb/testsuite/gdb.multi/hello.c
index c079a18edd..b742a7345f 100644
--- a/gdb/testsuite/gdb.multi/hello.c
+++ b/gdb/testsuite/gdb.multi/hello.c
@@ -48,7 +48,7 @@  main()
 {
   int tmpx;
 
-  alarm (30);
+  alarm (240);
 
   bar();
   tmpx = hello(glob);