Closed nneuss closed 9 years ago
What's the uname -a
of this platform? The *features*
after lparallel is loaded might give a hint, too. You could try the repository version of bordeaux-threads (https://github.com/sionescu/bordeaux-threads) which has a change to condition-wait
. It shouldn't matter, but it's something different.
I compared with another virtual machine both having precisely the same results of 'uname -a', sbcl version, and features. Nevertheless, for one lparallel:make-kernel did work, for the other not. But the good news is that your suggestion with updating bordeaux-threads helped! Thank you very much!
This is still curious, though. I wonder if the fasls somehow became stale; updating bordeaux-threads may have worked only because it forced recompilation.
Indeed, you are right. make-kernel now works also when recompiling the old bordeaux-threads library. Interesting. I did not yet meet that kind of problem before.
Hello, when trying to get a new Lparallel kernel with (make-kernel 2) I receive the error attached below. Does anyone have an idea what could be the reason? (On other architectures, I did not yet see this error.)
Thank you,
Nicolas
A function with declared result type NIL returned:
BORDEAUX-THREADS:CONDITION-WAIT [Condition of type SB-INT:SIMPLE-CONTROL-ERROR]
Restarts: 0: [ABORT] Abort thread (#<THREAD "lparallel" RUNNING {1004BD9483}>)
Backtrace: 0: (LPARALLEL.THREAD-UTIL:CONDITION-WAIT #<SB-THREAD:WAITQUEUE Anonymous condition variable {1004BE0293}> #<SB-THREAD:MUTEX "Anonymous lock" owner: #<SB-THREAD:THREAD "lparallel" RUNNING {1004BD9483}>> :.. 1: (LPARALLEL.CONS-QUEUE:POP-CONS-QUEUE/NO-LOCK #)
2: ((FLET #:WITHOUT-INTERRUPTS-BODY-647 :IN SB-THREAD::CALL-WITH-MUTEX))
3: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK :IN LPARALLEL.CONS-QUEUE:POP-CONS-QUEUE) {7FFFE7DAE5DB}> #<SB-THREAD:MUTEX "Anonymous lock" owner: #<SB-THREAD:THREAD "lparallel..
4: (LPARALLEL.CONS-QUEUE:POP-CONS-QUEUE #)
5: (LPARALLEL.KERNEL::HANDSHAKE/FROM-WORKER/START #S(LPARALLEL.KERNEL::WORKER :HANDSHAKE/FROM-WORKER #S(LPARALLEL.CONS-QUEUE:CONS-QUEUE :IMPL #S(LPARALLEL.RAW-QUEUE:RAW-QUEUE :HEAD NIL :TAIL NIL) :LOCK #..
6: (LPARALLEL.KERNEL::CALL-WITH-WORKER-CONTEXT #<CLOSURE (LAMBDA NIL :IN LPARALLEL.KERNEL::ENTER-WORKER-LOOP) {1004BE027B}> # #<LPARALLEL.KERNEL:KERNEL :NAME "lparallel" :WORKER-COUNT 2..
7: ((LAMBDA NIL :IN LPARALLEL.KERNEL::MAKE-WORKER-THREAD))
8: ((LAMBDA NIL :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
9: ((FLET #:WITHOUT-INTERRUPTS-BODY-1226 :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
10: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
11: ((FLET #:WITHOUT-INTERRUPTS-BODY-647 :IN SB-THREAD::CALL-WITH-MUTEX))
12: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) {7FFFE7DAEC8B}> #<SB-THREAD:MUTEX "thread result lock" owner: #<SB-THREAD:THR..
13: (SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE #<SB-THREAD:THREAD "lparallel" RUNNING {1004BD9483}> #S(SB-THREAD:SEMAPHORE :NAME "Thread setup semaphore" :%COUNT 0 :WAITCOUNT 0 :MUTEX #<SB-THREAD:MUTE..