all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eric Bavier <bavier@cray.com>
To: 28779@debbugs.gnu.org
Subject: bug#28779: tests/workers.scm failure
Date: Tue, 10 Oct 2017 15:48:42 +0000	[thread overview]
Message-ID: <BN6PR11MB1716104DFEB0F233C68756E5B7750@BN6PR11MB1716.namprd11.prod.outlook.com> (raw)

Roughly 1 in 2 runs of tests/workers.scm fails on my system.  Output:

========================================================
   GNU Guix 0.13.0.3413-984e3-dirty: ./test-suite.log
========================================================

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

.. contents:: :depth: 2

FAIL: tests/workers
===================

test-name: enqueue
location: /home/users/bavier/src/guix/tests/workers.scm:26
source:
+ (test-equal
+   "enqueue"
+   4242
+   (let* ((pool (make-pool))
+          (result 0)
+          (#{1+!}# (let ((lock (make-mutex)))
+                     (lambda ()
+                       (with-mutex lock (set! result (+ result 1)))))))
+     (let loop ((i 4242))
+       (unless
+         (zero? i)
+         (pool-enqueue! pool #{1+!}#)
+         (loop (- i 1))))
+     (let poll ()
+       (unless
+         (pool-idle? pool)
+         (pk 'busy result)
+         (sleep 1)
+         (poll)))
+     result))
expected-value: 4242
actual-value: 4241
result: FAIL


To me the reason seems to be that the 'pool-idle? procedure indicates whether or not the task queue is empty, not whether all tasks have completed execution, so the poll loop exits before all 1+! updates are finished and the test fails.  

Most failures show "actual-value: 4241", but I have also seen "actual-value: 4239" and "actual-value: 4240", which points to a race condition.

On this system '(current-processor-count) => 128'

Eric Bavier, Scientific Libraries, Cray Inc.

             reply	other threads:[~2017-10-10 15:50 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-10 15:48 Eric Bavier [this message]
2017-11-16  8:29 ` bug#28779: tests/workers.scm failure Ludovic Courtès
2017-11-17  2:58   ` Eric Bavier
2017-11-17 10:10     ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BN6PR11MB1716104DFEB0F233C68756E5B7750@BN6PR11MB1716.namprd11.prod.outlook.com \
    --to=bavier@cray.com \
    --cc=28779@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.