On Miércoles 18 Febrero 2009, Ross Lonstein wrote:
> On Sat, Feb 14, 2009 at 08:45:35PM +0100, Gbor Melis wrote:
> > There is a whole lot of interrupt, timer and thread related fixes
> > to be committed in time for 1.0.26. There is a fair chance that
> > this problem will also be cured. If not, please rereport it here.
> Noting your commit, I pulled 126.96.36.199 from git and built with
> sb-thread from 1.0.25. I see the nine "not ok" messages followed by:
> ::: UNEXPECTED-FAILURE (:WITH-TIMEOUT :MANY-AT-THE-SAME-TIME)
> ::: Running (:WITH-TIMEOUT :DEAD-THREAD)
> ::: Success (:WITH-TIMEOUT :DEAD-THREAD)
> ::: Running (:HASH-CACHE :INTERRUPT)
> which hangs indefinitely (which is to say, more than 30 minutes
> chewing cpu time before I killed it).
> Let me know if you want a trace, etc.
> - Ross
Let's try to isolate this. What does this do in itself?
(format t "~%not ok~%"))
If it prints "not ok", could you please compile sbcl with QSHOW noise like this:
diff --git a/src/runtime/runtime.h b/src/runtime/runtime.h
index 01f4031..836ebfa 100644
@@ -29,8 +29,8 @@
#define thread_mutex_unlock(l) 0
-/* #define QSHOW */ /* Enable low-level debugging output? */
-/* #define QSHOW_SAFE */ /* Enable blocking interrupts for each SHOW. */
+#define QSHOW /* Enable low-level debugging output? */
+#define QSHOW_SAFE /* Enable blocking interrupts for each SHOW. */
@@ -80,7 +80,7 @@ extern sigset_t blockable_sigset;
* necessarily reentrant. But it can still be very convenient for
* figuring out what's going on when you have a signal handling
* problem.. */
-#define QSHOW_SIGNALS 0
+#define QSHOW_SIGNALS 1
#define FSHOW_SIGNAL FSHOW
and repeat the experiment? Even if the small test case doesn't fail the QSHOW output of "sh
run-test.sh timer.impure.lisp" may be informative.