Ticket #968 (closed defect: fixed)
apparent GC issue on x8632
|Reported by:||gb||Owned by:||gb|
|Component:||Runtime (threads, GC)||Version:||trunk|
I was unable to reproduce this after doing:
? (progn (egc nil) (set-lisp-heap-gc-threshold (ash 512 20)) (gc))
before calling (RUN), even when TEST/RUN created threads and RUN ran for 2500 iterations instead of 25. That suggests pretty strongly that this is a GC bug (or that the code involved in BIGNUM * FIXNUM multiplication doesn't follow register conventions correctly and that the failure occurs when such code is interrupted by GC in another thread.)
When a failure occurs, several words (in the "middle" of the result bignum) have incorrect values; the bignum is of the correct size and the words near both ends seem to be correct. This is also consistent with GC-related memory corruption.