Juergen Boemmels <[EMAIL PROTECTED]> wrote: > But in t/pmc/io_2.pasm is a more nasty problem. The sweep 0 call does > (sometimes) not trigger the destruction of the PMC containing the > IO-Object, even though it is not connected to the root-set.
> In trace_system_areas the variable env is not initialised, and in this > area was a pointer to the File from a previous call. Shouldn't the setjmp(3) call fill the C<jmp_buf env> variable? Anyway, if C<env> isn't filled totally, we would have the observed behavior. But ... > ... So the > garbage-collector marked the File as live. ... we still have a *big* problem here. During marking the system area, we might always detect stale objects and mark them live. This isn't a problem for plain objects, but objects that need timely destruction will not get destroyed properly. And valgrind still does report unitialized memory on the stack. > bye > boe BTW good analysis, thanks leo