Why is the following error happening in the REPL?

> (define c (make-condition-variable))
> (define m (make-mutex))
> (mutex-unlock! m c)
*** ERROR IN ##thread-deadlock-action! -- Deadlock detected

If I do call mutex-unlock! from a thread, it does not raise this error:

> (thread-start! (make-thread (lambda () (mutex-unlock! m c) (println "ok"))))
#<thread #2>
1> (condition-variable-broadcast! c)
=> ok

Is there a way to invoke mutex-unlock! from the top-level without raising the deadlock error?

Thanks,

--Vijay