[pkg-fgfs-crew] Bug#750939: Bug#750939: flightgear: Occasional deadlock when processing key input

Rebecca N. Palmer rebecca_palmer at zoho.com
Mon Oct 27 14:11:03 UTC 2014


> 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.



More information about the pkg-fgfs-crew mailing list