[Gbbopen-developer] portable threads on sbcl 64bit linux tests fail with pristine source

Antony Sequeira antony.sequeira at gmail.com
Wed Oct 24 01:12:26 EDT 2007


Hi
Thanks for the quick fix. The tests now ran without me making any changes to
portable-threads.lisp  and portable-threads-test.lisp

Here is the features list
cl-user::*features*
(:PORTABLE-THREADS-2.2 :PORTABLE-THREADS :SB-BSD-SOCKETS-ADDRINFO :ASDF
  :SB-THREAD :ANSI-CL :COMMON-LISP :SBCL :UNIX :SB-DOC :SB-TEST :SB-LDB
  :SB-PACKAGE-LOCKS :SB-UNICODE :SB-EVAL :SB-SOURCE-LOCATIONS
  :IEEE-FLOATING-POINT :X86-64 :ELF :LINUX :GENCGC
 :STACK-GROWS-DOWNWARD-NOT-UPWARD :C-STACK-IS-CONTROL-STACK :LINKAGE-TABLE
  :COMPARE-AND-SWAP-VOP :UNWIND-TO-FRAME-AND-CALL-VOP
  :STACK-ALLOCATABLE-CLOSURES :ALIEN-CALLBACKS :OS-PROVIDES-DLOPEN
  :OS-PROVIDES-PUTWC)

Here is the output from the test run
PORTABLE-THREADS-USER> (portable-threads-tests)
;; Starting portable threads tests...
;; Performing basic lock tests...
;;   Timing nonrecursive locking... 0.912 seconds
;;   Timing recursive locking... 0.868 seconds
;;   Timing condition-variable locking... 0.932 seconds
;;   Checking with a non-lock object...
;;   Recursive locking with a recursive lock...
;;   Recursive locking with a non-recursive lock...
;;   Testing with-lock-held returned values...
;; Basic lock tests completed
;; Testing atomic-incf/decf...
;; Atomic-incf/decf test completed.
;; Performing with-timeout tests...
;; With-timeout tests completed
;; Performing basic thread tests...
;;   Timing (sleep 10), runtime should be 0 seconds... 0 seconds
;;   Timing 10000 (sleep 0)s... 0.0 seconds
;;   Timing 10000 throwable (sleep 0)s... 0.0 seconds
;; Basic thread completed
;; Performing nonrecursive lock contention tests...
;; Nonrecursive lock contention tests completed
;; Performing recursive lock contention tests...
;; Recursive lock contention tests completed
;; Performing condition-variable wait & signal tests...
;;    Waiting on CV...
;;    Continuing on CV...
;; Condition-variable wait & signal tests completed
;; Performing condition-variable wait & broadcast tests...
;;    Waiting on broadcast CV...
;;    Also continuing on broadcast CV...
;; Condition-variable wait & broadcast tests completed
;; Performing condition-variable-wait-with-timeout (non-timeout) tests...
;;    Waiting-with-timeout on CV...
;;    Continuing on waiting-with-timout CV...
;; Condition-variable wait-with-timeout (non-timeout) tests completed
;; Performing condition-variable wait-with-timeout (timeout) tests...
;;    Waiting-with-timeout (forever) on CV...
;;    Continuing without CV...
;; Condition-variable wait-with-timeout (timeout) tests completed
;; Timing 10000 condition-variable wait & signals... 0.092 seconds
;; Condition-variable wait & signal timing test completed
;; Performing thread timing tests...
;;   Timing 10000 spawn-threads... 2.372 seconds
;;   Timing 10000 spawn and die threads... 2.324 seconds
;; Thread timing tests completed
;; Performing hibernate/awaken thread tests...
;;   Hibernate ready signal received.
;;   Awakening thread...
;;   Awake signal received, signaling proceed.
;;   Waiting for rehibernate signal...
;;   Rehibernate ready signal received.
;;   Trying symbol-value-in-thread on hibernating thread...
;;   Re-awakening thread...
;;   Trying with-timeout on a hibernating thread...
;; Hibernate/awaken thread tests completed
;; Performing symbol-value-in-thread tests...
;; Symbol-value-in-thread tests completed
;; Checking for unreclaimed threads...
;; Portable threads tests completed.
NIL
PORTABLE-THREADS-USER>

On 10/23/07, Dan Corkill <corkill at gbbopen.org> wrote:
>
> > I changed all uses of
> > most-positive-fixnum
> > to some large value that fits in 32 bit
>
> Antony,
>
> Thanks for reporting this.  I don't have a 64-bit Linux available for
> SBCL 64-bit testing, so you are on the front line here!
>
> I've updated both portable-threads.lisp and
> test/portable-threads-test.lisp in SVN (and created a new archive file),
> that should address the most-positive-fixnum sleep issue.
>
> > The second change was to reduce the thread count in
> >   ;; Do spawn and die timing:
> >   (let ((iterations
> >          ;; Spawning in OpenMCL is slow (10K works, but we don't want to wait)
> >          #+openmcl
> >          1000
> >          #-openmcl
> >          100)
> > ;;         10000)
> >
> > cause at 10000 my machine froze up.
>
> Please let me know if your machine still freezes at 10000 with the new
> files.  If it still does, I'm curious as to where between 1000 and 10000
> it fails. (Is 5000 OK?  If not, 2000? ...)
>
> Also, please let me know the value of *features* on your SBCL.
>
> Thanks again!
>
> -- Dan
>
>

-- 
-Antony Sequeira

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the Gbbopen-developer mailing list