ports/154050: [patch] lang/sbcl: disable all threaded mailbox tests in sb-concurrency

Anonymous swell.k at gmail.com
Sun Jan 16 03:10:07 UTC 2011


>Number:         154050
>Category:       ports
>Synopsis:       [patch] lang/sbcl: disable all threaded mailbox tests in sb-concurrency
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan 16 03:10:06 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Anonymous
>Release:        FreeBSD 9.0-CURRENT amd64
>Organization:
>Environment:
/head at r217454M
THREADS option enabled
>Description:
Since r216641 even more mailbox tests fail, actually all with same error.
>How-To-Repeat:
The build fails after all contrib tests are performed

  $ make
  [...]
  ; /usr/ports/lang/sbcl/work/sbcl-1.0.43/contrib/sb-concurrency/tests/ASDF-TMP-test-mailbox.fasl written
  ; compilation finished in 0:00:00.074
  Doing 15 pending tests of 15 tests total.
  [...]
   SB-CONCURRENCY-TEST::MAILBOX.SINGLE-PRODUCER-MULTIPLE-CONSUMERS
  FFFaattaall  eerrrroorr  ''thread was already on queue.F' aatta ll ienrer o2r2 2' thread was already on queue.i'n  afti llei n/usr/src/lib/libthr/thread/thr_cond.ce  (2e2r2r nion  =f i0l)e
   /usr/src/lib/libthr/thread/thr_cond.c (errno = 0)
  thread was already on queue.' at line 222 in file /usr/src/lib/libthr/thread/thr_cond.c (errno = 0)
  fatal error encountered in SBCL pid 96002(tid 34612012032):
  SIGABRT received.
  [...]
  ; compiling (DEFUN ENABLE-CALL-COUNTING-FOR-FUNCTION ...)
  ; compiling (DEFUN TEST-0 ...)
  ; compiling (DEFUN TEST ...)
  ; compiling (PROVIDE (QUOTE SB-SPROF))

  ; SYS:CONTRIB;SB-SPROF;SB-SPROF.FASL.NEWEST written
  ; compilation finished in 0:00:00.749
  * true
  gmake: Leaving directory `/usr/ports/lang/sbcl/work/sbcl-1.0.43/contrib/sb-sprof'

  WARNING! Some of the contrib modules did not build successfully or pass
  their self-tests. Failed contribs:"
    sb-concurrency
        188.39 real        31.33 user         4.25 sys
  *** Error code 1

Now, here is a dumb shortcut for sb-concurrency tests

  $ make install clean # pre r216641 or with below patch applied
  $ make patch
  $ cd $(make -V WRKSRC)
  $ echo "
      (require 'asdf)
      (require 'sb-concurrency \"contrib/sb-concurrency/sb-concurrency.asd\")
      (asdf:operate 'asdf:test-op 'sb-concurrency)
    " | XDG_CACHE_HOME=/tmp sbcl --noinform --disable-debugger \
    --no-sysinit --no-userinit

Let's use it on libthr from r216640.

  *
  ("ASDF")
  *
  NIL
  *
  ; loading system definition from /usr/local/lib/sbcl/sb-rt/sb-rt.asd into
  ; #<PACKAGE "ASDF0">
  ; registering #<SYSTEM SB-RT> as SB-RT
  Doing 15 pending tests of 15 tests total.
   SB-CONCURRENCY-TEST::QUEUE.1 SB-CONCURRENCY-TEST::QUEUE.2
   SB-CONCURRENCY-TEST::QUEUE.3 SB-CONCURRENCY-TEST::QUEUE.4
   SB-CONCURRENCY-TEST::QUEUE.5 SB-CONCURRENCY-TEST::QUEUE.T.1
   SB-CONCURRENCY-TEST::QUEUE.T.2 SB-CONCURRENCY-TEST::QUEUE.T.3
   SB-CONCURRENCY-TEST::MAILBOX-TRIVIA.1 SB-CONCURRENCY-TEST::MAILBOX-TRIVIA.2
   SB-CONCURRENCY-TEST::MAILBOX-TRIVIA.3
   SB-CONCURRENCY-TEST::MAILBOX.SINGLE-PRODUCER-SINGLE-CONSUMER
   SB-CONCURRENCY-TEST::MAILBOX.SINGLE-PRODUCER-MULTIPLE-CONSUMERS
   SB-CONCURRENCY-TEST::MAILBOX.MULTIPLE-PRODUCERS-SINGLE-CONSUMER
   SB-CONCURRENCY-TEST::MAILBOX.MULTIPLE-PRODUCERS-MULTIPLE-CONSUMERS
  No tests failed.
  #<ASDF:TEST-OP NIL {1003227E41}>
  *

And r216642 already fails (r216641 was broken - missing thr_sleepq.c)

  *
  ("ASDF")
  *
  NIL
  *
  ; loading system definition from /usr/local/lib/sbcl/sb-rt/sb-rt.asd into
  ; #<PACKAGE "ASDF0">
  ; registering #<SYSTEM SB-RT> as SB-RT
  Doing 15 pending tests of 15 tests total.
   SB-CONCURRENCY-TEST::QUEUE.1 SB-CONCURRENCY-TEST::QUEUE.2
   SB-CONCURRENCY-TEST::QUEUE.3 SB-CONCURRENCY-TEST::QUEUE.4
   SB-CONCURRENCY-TEST::QUEUE.5 SB-CONCURRENCY-TEST::QUEUE.T.1
   SB-CONCURRENCY-TEST::QUEUE.T.2 SB-CONCURRENCY-TEST::QUEUE.T.3
   SB-CONCURRENCY-TEST::MAILBOX-TRIVIA.1 SB-CONCURRENCY-TEST::MAILBOX-TRIVIA.2
   SB-CONCURRENCY-TEST::MAILBOX-TRIVIA.3
   SB-CONCURRENCY-TEST::MAILBOX.SINGLE-PRODUCER-SINGLE-CONSUMER
   SB-CONCURRENCY-TEST::MAILBOX.SINGLE-PRODUCER-MULTIPLE-CONSUMERS
  Fatal error 'thread was already on queue.' at line 222 in file /usr/src/lib/libthr/thread/thr_cond.c (errno = 0)
  fatal error encounteredF in SBCL pid 26799Fa(tid 34418383872)at:
  taSIGABRT received.

>Fix:
--- a.diff begins here ---
Index: lang/sbcl/files/patch-disable-failing-tests
===================================================================
RCS file: /a/.cvsup/ports/lang/sbcl/files/patch-disable-failing-tests,v
retrieving revision 1.1
diff -u -p -r1.1 patch-disable-failing-tests
--- lang/sbcl/files/patch-disable-failing-tests	15 Oct 2010 23:04:07 -0000	1.1
+++ lang/sbcl/files/patch-disable-failing-tests	15 Jan 2011 06:32:51 -0000
@@ -10,11 +10,12 @@
      (unknown-protocol ()
 --- contrib/sb-concurrency/tests/test-mailbox.lisp~
 +++ contrib/sb-concurrency/tests/test-mailbox.lisp
-@@ -181,6 +185,7 @@
-   (:errors   . 0)
-   (:timeouts . 0))
+@@ -40,7 +40,7 @@
  
-+#-(and sb-thread freebsd)
- (deftest mailbox.interrupts-safety.1
-     (multiple-value-bind (received garbage errors timeouts)
-         (test-mailbox-producers-consumers
+ ;;; FIXME: Several tests disabled on Darwin due to hangs. Something not right
+ ;;; with mailboxes -- or possibly semaphores -- there.
+-#+(and sb-thread (not darwin))
++#+(and sb-thread (not (or darwin freebsd)))
+ (progn
+ 
+ ;; Dummy struct for ATOMIC-INCF to work.
--- a.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list