[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#13611: SEGV during SMOB GC
From: |
Mike Gran |
Subject: |
bug#13611: SEGV during SMOB GC |
Date: |
Tue, 5 Feb 2013 08:29:48 -0800 (PST) |
> From: Ludovic Courtès <address@hidden>
> Is there any chance that you’re using a GC 7.3 pre-release?
Using gc-7.2b-2.fc17.i686
on Linux 3.6.10-2.fc17.i686 #1 SMP
> There was a similar report on IRC, and the fix appears to be:
It does fix my SEGV
> (Note that on 2.0 SMOB mark procedures are unnecessary.)
Cool. Let's yank it from the manual. Case closed.
Yet...
For what it is worth, I decided to get som statistics on how
often smob_mark is called from a thread with scm_i_current_thread
== NULL vs how often it is called from a thread where it is
not null.
I wrote the attached patch, and then, using the same little
library as in my initial report, I ran
(use-modules (smobbug))
;; Create a SMOB type
(handlesmob-init)
(for-each (lambda (x) (gc))
(iota 1000))
(gc-smob-mark-report)
This returned
Count of GC SMOB marks from null thread: 176
Count of GC SMOB marks from current thread: 825
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?
-Mike
smob_gc_mark_report.patch
Description: Text Data