>> Is that expected that GC is sometimes called from a >> thread where scm_i_current_thread is null and sometimes >> called from a thread where scm_i_current_thread is >> not null? > > Can you check whether your GC was built with --enable-parallel-mark? > > I’m confident that the SMOB mark procedure is never called with null > scm_i_current_thread with 7.2 compiled with the default options (the > GnuTLS bindings rely on this, and I had not seen any such report until > someone tried with GC 7.3pre, which uses the parallel marker by > default.)
It looks like fedora gc rpms do use --enable-parallel-mark for x86 architectures. You can see that here: http://pkgs.fedoraproject.org/cgit/gc.git/tree/gc.spec?h=f17 But it looks like it has been that way for a long time. Since 2005 at least. -Mike