
As said before, 20% is here:
The question is, why isn't that 20% being collected?
I think I made not clear enough that valgrind will mark everything allocated via operator new(unsigned, Inkscape::GC::ScanPolicy... ) as a leak because no one writes corresponding deletes for that. This does not tell anything about if it actually leaks when the Boehm GC is enabled.
Your statement on the tracker item was that you were surprised that I saw no leak outside the GC. My strategy to show that there is at least some of the huge memory increase due to allocation through the GC was that I looked at what valgrind describes as leak (but really is GC-allocated), and indeed a part of that grew with the overall increase. That part is what I mailed you the backtrace of.
Since we are seeing a lot of leaked memory from conventional malloc(),
I cannot comment on the 80% not GC-allocated but valgrind does not tell me about it. You mention it would be leaking bitmap memory. Why wouldn't valgrind show that? Can you explain?
Regards, ralf