Search
19:02:32
karlosz
so i audited the vops to make sure i wasn't leaving any objects in non-descriptors
19:02:58
karlosz
GC debugging verifies that some objects are pointing into old spaces
19:03:15
karlosz
i guess the only possible scenario i see is that pseudo atomic isn't working like its supposed to
19:03:25
karlosz
how else would you get garbage values like that
19:03:34
karlosz
but i don't understand how it wouldn't be working
21:00:23
stassats
karlosz: +sb-thread increases register pressure
21:00:38
stassats
karlosz: what happens if you do -sb-thread but take out one descriptor register?
21:18:12
karlosz
is it okay to pack pseudo atomic 16/16
21:18:42
stassats
one thread, no interrupts - pseudo atomic hardly matters
21:19:25
stassats
other than as a signal to trap for gcing
21:19:25
karlosz
doesn't GC get signalled in pseudo atomic sometimes?
21:19:47
stassats
well, it isn't dying at the first allocation
21:21:49
karlosz
i guess you're right since the signal is synchronous
21:22:33
karlosz
it doesn't seem to be related with specials handling
21:22:47
karlosz
it seems to be conses holding on to invalid pointers
21:22:55
karlosz
or something stuffing invalid pointers into conses
21:23:28
stassats
heap-allocated conses?
21:25:58
karlosz
but im only able to reproduce that very rarely
21:26:32
karlosz
or at least im only able to have gc catch that in precheck very rarely
21:26:37
stassats
how long is that list or is the cdr corrupted too?
21:27:52
karlosz
the car points to an object thats valid
21:27:58
karlosz
its just in old space as verified by gc
21:28:18
karlosz
so thats why im getting weird errors with the wrong objects floating around
21:28:21
stassats
not a forwarding pointer?
21:28:34
karlosz
does ldb point out forwarding pointers?
21:28:40
karlosz
no ldb printed it as a normal instance
21:28:51
karlosz
and GC said that page was freed, even