Subject: bug#22130: closed (Re: bug#22130: dmd: respawn test failures)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 06 Jan 2016 22:57:02 +0000

Your bug report

#22130: dmd: respawn test failures

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
22130: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22130
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#22130: dmd: respawn test failures
From: [email-masked] (Ludovic Courtès)
To: Mark H Weaver <[email-masked]>
Cc: [email-masked]
Date: Wed, 06 Jan 2016 23:56:39 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Mark H Weaver <[email-masked]> skribis:

> + deco -s t-socket-759 status dmd
> Started: (test1 test2 dmd)
> Stopped: ()
> + grep started
> + deco -s t-socket-759 status test1
>   It is started.
> + grep started
> + deco -s t-socket-759 status test2
>   It is started.
> + test -f t-service1-pid-759
> + cat t-log-759

The problem here is that the PID file for ‘service1’ is not ready when
we ‘test -f’ it right after ‘deco status test1’ has told us the service
is started.  That’s because there’s a small window during which the
service is started but has not created its PID file yet.

Fixed in dmd commit f33f81f.

We’ll backport it in Guix or make a dmd release.

Thanks,
Ludo’.

Subject: dmd: respawn test failures
From: Mark H Weaver <[email-masked]>
To: [email-masked]
Date: Wed, 09 Dec 2015 11:26:02 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

In DMD, the "respawn.sh" test fails quite consistently on armhf, and has
sometimes failed on mips64el and x86_64 as well.  Here's a copy of
test-suite.log from a recent failure on armhf:

--8<---------------cut here---------------start------------->8---
===================================
   GNU dmd 0.2: ./test-suite.log
===================================

# TOTAL: 3
# PASS:  2
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: tests/respawn
===================

+ dmd --version
dmd (GNU dmd) 0.2
Copyright (C) 2013 Ludovic Court?s
Copyright (C) 2002, 2003 Wolfgang J?hrling
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
+ deco --version
deco (GNU dmd) 0.2
Copyright (C) 2013 Ludovic Court?s
Copyright (C) 2002, 2003 Wolfgang J?hrling
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
+ socket=t-socket-759
+ conf=t-conf-759
+ log=t-log-759
+ stamp=t-stamp-759
+ service1_pid=t-service1-pid-759
+ service2_pid=t-service2-pid-759
+ pid=t-pid-759
+ deco='deco -s t-socket-759'
+ trap 'cat t-log-759 || true ;
  rm -f t-socket-759 t-conf-759 t-stamp-759 t-log-759 t-pid-759 t-service1-pid-759 t-service2-pid-759 ;
  test -f t-pid-759 && kill `cat t-pid-759` || true ;
  test -f t-service1-pid-759 && kill `cat t-service1-pid-759` || true ;
  test -f t-service2-pid-759 && kill `cat t-service2-pid-759` || true ;
  rm -f t-service1-pid-759 t-service2-pid-759' EXIT
+ cat
+ rm -f t-pid-759
+ wait_for_file t-pid-759
+ i=0
+ test -f t-pid-759
+ test 0 -lt 20
+ sleep 0.3
+ dmd -I -s t-socket-759 -c t-conf-759 -l t-log-759 --pid=t-pid-759
++ expr 0 + 1
+ i=1
+ test -f t-pid-759
+ test 1 -lt 20
+ sleep 0.3
++ expr 1 + 1
+ i=2
+ test -f t-pid-759
+ test -f t-pid-759
++ cat t-pid-759
+ dmd_pid=774
+ kill -0 774
+ test -S t-socket-759
+ deco -s t-socket-759 status dmd
Started: (test1 test2 dmd)
Stopped: ()
+ grep started
+ deco -s t-socket-759 status test1
  It is started.
+ grep started
+ deco -s t-socket-759 status test2
  It is started.
+ test -f t-service1-pid-759
+ cat t-log-759
2015-12-09 16:15:18 Service dmd has been started.
2015-12-09 16:15:18 Service test1 has been started.
2015-12-09 16:15:18 Service test2 has been started.
2015-12-09 16:15:19 Started: (test1 test2 dmd)
2015-12-09 16:15:19 Stopped: ()
2015-12-09 16:15:19 Status of test1:
2015-12-09 16:15:19   It is started.
2015-12-09 16:15:19   Running value is 786.
2015-12-09 16:15:19   It is enabled.
2015-12-09 16:15:19   Provides (test1).
2015-12-09 16:15:19   Requires ().
2015-12-09 16:15:19   Conflicts with ().
2015-12-09 16:15:19   Will be respawned.
2015-12-09 16:15:20 Status of test2:
2015-12-09 16:15:20   It is started.
2015-12-09 16:15:20   Running value is 787.
2015-12-09 16:15:20   It is enabled.
2015-12-09 16:15:20   Provides (test2).
2015-12-09 16:15:20   Requires ().
2015-12-09 16:15:20   Conflicts with ().
2015-12-09 16:15:20   Will be respawned.
+ rm -f t-socket-759 t-conf-759 t-stamp-759 t-log-759 t-pid-759 t-service1-pid-759 t-service2-pid-759
+ test -f t-pid-759
+ true
+ test -f t-service1-pid-759
+ true
+ test -f t-service2-pid-759
+ true
+ rm -f t-service1-pid-759 t-service2-pid-759

--8<---------------cut here---------------end--------------->8---

      Mark