Ticket #968 (closed defect: fixed)
apparent GC issue on x8632
| Reported by: | gb | Owned by: | gb |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Runtime (threads, GC) | Version: | trunk |
| Keywords: | Cc: |
Description
See http://clozure.com/pipermail/openmcl-devel/2012-May/013568.html
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.

