emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#28779: closed (tests/workers.scm failure)


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#28779: closed (tests/workers.scm failure)
Date: Fri, 17 Nov 2017 10:11:01 +0000

Your message dated Fri, 17 Nov 2017 11:10:18 +0100
with message-id <address@hidden>
and subject line Re: bug#28779: tests/workers.scm failure
has caused the debbugs.gnu.org bug report #28779,
regarding tests/workers.scm failure
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
28779: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=28779
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: tests/workers.scm failure Date: Tue, 10 Oct 2017 15:48:42 +0000
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.



--- End Message ---
--- Begin Message --- Subject: Re: bug#28779: tests/workers.scm failure Date: Fri, 17 Nov 2017 11:10:18 +0100 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)
Eric Bavier <address@hidden> skribis:

> Looks good to me.

Pushed as 232b3d31016439b5600e47d845ffb7c9a4ee4723.

Thanks,
Ludo’.


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]