Ticket #732 (closed bug: fixed)
Coroutine contexts not getting freed
Reported by: | coke | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | core | Version: | trunk |
Severity: | high | Keywords: | tcl blocker memory |
Cc: | Language: | tcl | |
Patch status: | Platform: |
Description
running valgrind against tcl to identify memory leaks, I found that the context in Coroutine's invoke is not getting freed. This leaks 24K in a trivial {puts hi} for partcl.
It looks like for Subs, the contexts are getting properly freed. Coroutine extends from Sub, and should be calling Parrot_Sub_destroy. However, that uses the line:
GETATTR_Sub_sub(interp, pmc, sub);
To determine which Parrot_sub to clean up: I'm guessing doesn't work when you're not a Sub but a Coroutine.
Change History
Note: See
TracTickets for help on using
tickets.