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.