Rebecca, do you think there is a way to trigger this bug with certainty?
Even if that means modifying the sources to create an artificial trigger
for the bug?

It happens when naGC_swapfree finds that the Nasal dead list is full, so we can make it more likely by reducing that limit:

Description: Make #750939 more likely for testing
--- simgear-3.0.0.orig/simgear/nasal/gc.c
+++ simgear-3.0.0/simgear/nasal/gc.c
@@ -328,7 +328,7 @@ void naGC_swapfree(void** target, void*
     void* old;
     LOCK();
     old = doswap(target, val);
-    while(globals->ndead >= globals->deadsz)
+    while(globals->ndead >= 5)
         bottleneck();
     globals->deadBlocks[globals->ndead++] = old;
     UNLOCK();

With this, gdb --args fgfs --aircraft=b1900d --airport=NZNV and pressing 'v' a few times reliably triggers it, allowing me to confirm that the patch works.


--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to