On Sunday 18 November 2007 09:48:30 Mehmet Yavuz Selim Soyturk wrote:
I did not test it with Valgrind (I'm not sure how to use it), but I
see increasing memory usage in the task manager.
.sub _ :main
loop:
$P0 = new 'Integer'
$P0 = 27
$P1 = new 'PMCProxy', $P0
goto loop
.end
I traced the context creation and freeing (parrot -D80) but everything there
matched up, so I finally narrowed things down to the affected lines in
PMCProxy. Your initial instinct was good, so nice catch and good test case.
Thanks. That suppressed the leak in my first test cases. But I think
I think that the leak is at CParrot_PCCINVOKE.
I tested it that way:
test.pmc
#include parrot/parrot.h
pmclass Test
dynpmc
group pjs_group
hll Pjs {
void set_integer_native(INTVAL ignore) {
int i;
for(i=0;i1000;i++) {
# New Ticket Created by Mehmet Yavuz Selim Soyturk
# Please include the string: [perl #47572]
# in the subject line of all future correspondence about this issue.
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=47572
If you have defined an .HLL in your program, any pmc leaks. I could
On Sunday 18 November 2007 08:08:25 Mehmet Yavuz Selim Soyturk wrote:
If you have defined an .HLL in your program, any pmc leaks. I could
track the problem down to PMCProxy::init_pmc.
If these lines of PMCProxy::init_pmc are removed, the leak disappears:
if
[Sorry chromatic, forgot to send to the list]
Did you happen to catch which PMC it is that's leaking?
I don't know which PMC, but the leak happens when you create a
PMCProxy with init_pmc.
Also, is this with PIR or PBC or both?
Both.
Do you have a short test case that Valgrind catches?
I