Hi,

Roland Orre <[EMAIL PROTECTED]> writes:

> I need hints on how to find occasional segmentation faults
> and missed GC references. This relates to 64 bit machines.

Is it x86-64, IA64, or something else?

The Git repository (the future 1.8.6) contains an important bug fix for
IA64.  I think there were x86-64-related during the 1.8.x series, too.
Thus, I'd suggest using the latest Guile on these platforms.

> My modules have worked perfectly fine on 32 bit machines but
> on 64 bits I occasionally get something like
> #<freed cell 0x2...; GC missed a reference> if I run that
> code fast, which indicates a threading problem (I do not use
> threads in this case, but seems like guile does). This does
> not occur if I run guile through gdb. This happens not too often
> but it seems to be related to string->symbol symbol->string.

Is it reproducible?

> My bigger problem though is frequently occurring 
> segmentation faults or otherwise corrupt pointers.
>
>  If I then run the code in gdb I can get
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x2ae316e4f070 (LWP 6699)]
> 0x00002ae314b9d091 in scm_gc_mark_dependencies (p=0x97c) at
> gc-mark.c:441
> 441      if (SCM_GC_MARK_P (ptr))
> Current language:  auto; currently c

Likewise, is it reproducible?  Can you show the full backtrace (it
should show where 0x97c comes from)?

Hope this helps,
Ludovic.



Reply via email to