Apparently the garbage collection in GUILEv2 can do a mark pass over
material without actually protecting it from collection, possibly
because the garbage collector can run in a separate thread. At least,
the attempt to print such remaining live smobs still seen by a mark pass
leads to crashes, so disable this memory leak detection mechanism on
GUILEv2.
static SCM readout ();
};
-#ifndef NDEBUG
+// This does not appear to work with GUILEv2's garbage collector:
+// Objects are found in the GC phase but printing them will crash at
+// least some, so they are apparently not protected in spite of being
+// included in the GC scans. So it would appear that scanning smobs
+// is not equivalent to marking them. Ugh.
+#if !defined(NDEBUG) && !GUILEV2
#define ASSERT_LIVE_IS_ALLOWED(arg) \
do { \
static parsed_dead pass_here; \