Thank You Daniel,
I have exactly the same (ext:lisp-implementation-vcs-id) output.
Can you send me the stdout of your (uncached/fresh) ./configure ? I would try to compare it with mine watching out for some difference.
I did install these debian packages libgc-dev libffi-dev libatomic-ops-dev pkg-config libgmp-dev libx11-dev qtcreator qtbase5-dev qt5-default cl-quicklisp in addition to whatever I had before on my machine.
Further, quicklisp gave me these versions in $HOME/quicklisp/dists/quicklisp/software alexandria-20170830-git bordeaux-threads-v0.8.6 lparallel-20160825-git Is there some difference to yours ?
Best Regards, Robert
Daniel Kochmański daniel@turtleware.eu writes:
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 Robert.Larice@t-online.de 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