Hi all,
Recently I met a serious problem on 64bit machine. I am using guile1.0.

In scm_gc_mark of gc.c:
              if (len)
                {
                  for (x = 0; x < len - 2; x += 2, ++mem)
                    if (fields_desc[x] == 'p')
                      scm_gc_mark (*mem);
                  if (fields_desc[x] == 'p')
                    {
                      if (SCM_LAYOUT_TAILP (fields_desc[x + 1]))
****                    for (xx = *mem; xx; --xx)   ---- it seems that *mem value is not correct
                          scm_gc_mark (*++mem);
                      else
                        scm_gc_mark (*mem);
                    }
                }
If any of you have any idea, please tell me how to resolve it.
Thanks very much!


Ping



 


Reply via email to