Fixed in fda17c20a3d088fccab1671c8881bd217d83d5f6 on the stable-2.0
branch, which will become Guile 2.0.12.
Thanks,
Mark
Your patch does solve this issue, but I'm not 100% why the problem
occurs in the first place, as the lock should have been unlocked when
the throw occurred.
If I catch the wrong type error explicitly, then there is no problem.
scheme@(guile-user)> (catch #t (lambda () (strerror 1.5)) list)
$1 =
Calling strerror with a non-integer argument causes guile to hang.
e.g.:
(strerror 1.5)
It's a locking issue, which is solved by the following trivial patch:
--- a/libguile/error.c
+++ b/libguile/error.c
@@ -121,10 +121,12 @@ SCM_DEFINE (scm_strerror, "strerror", 1, 0, 0,
#define FUNC_NAME s_sc