Re: Loading "lparallel" hangs

Daniel Kochmański <[email protected]>
Newsgroups gmane.lisp.ecl.general
Organization TurtleWare
Message-ID <[email protected]>
Hey Robert,

I can't reproduce the problem with the newest ECL code (from git
develop branch) on my host. lparallel works fine and this snippet does 
terminate after timeout.

CL-USER> (ext:lisp-implementation-vcs-id)
"ba6e6ddde780c097918673f16c7aba05f354d022"

Best regards,
Daniel

W dniu nie, 02.09.2018 o godzinie 12∶27 +0200, użytkownik Robert Larice
napisał:
> I tried to understand where the issue is located.
> 
> In :lparallel file lparallel-20160825-git/src/thread-util.lisp
> there is a stanza which tries to check for the implementation
>   of the :timeout capability
> 
> > ;;; Check for timeout parameter in bordeaux-threads:condition-wait.
> > (eval-when (:compile-toplevel :execute)
> >   ;; use special to defeat compiler analysis
> >   (defparameter *condition-wait* #'bordeaux-threads:condition-wait)
> > 
> >   (flet ((has-condition-wait-timeout-p ()
> >   ...
> 
> I tried to minimise this to a small standalone piece
> which can be used to examine the issue:
> 
> (ql:quickload :bordeaux-threads)
> 
> (let ((lock (bordeaux-threads:make-lock))
>       (cvar (bordeaux-threads:make-condition-variable)))
>   (bordeaux-threads:with-lock-held (lock)
>     (bordeaux-threads:condition-wait cvar lock :timeout 0.001)))
> 
> I think the :timeout doesn't seem to work properly and thus the
>   condition-wait waits forever.
> 
> Can you help me to understand this better and to work around it ?
> 
> Regards
>   Robert Larice
> 
> 
> Robert Larice <[email protected]> writes:
> 
> > Hello,
> > 
> >   can you provide me some hints for the following problem ?
> > 
> >   I've compiled ecl from git on a debian stretch machine.
> >   Then I've tried to compile the "qt" example,
> >     which did hang when loading "lparallel"
> >   So I started "ecl" from a shell,
> >   and did execute
> >     (ql:quickload :lparallel)
> >   which presents me:
> >   > To load "lparallel":
> >   > Load 1 ASDF system:
> >   >   lparallel
> >   > ; Loading "lparallel"
> >   then the process fell silent.
> >   "top" doesn't show "ecl" to consume cpu cycles.
> >   Its waiting for something and doesn't proceed.
> > 
> > Regards,
> >   Robert Larice
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.