From 9496b2cb20bfd0551e9510b6ccb41ca950d2c8ee Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sun, 6 Jun 2010 13:32:08 +0000 Subject: fix memory leak git-svn-id: svn+q:///qpdf/trunk@976 71b93d88-0707-0410-a8cf-f5a4172ac649 --- TODO | 44 -------------------------------------------- 1 file changed, 44 deletions(-) (limited to 'TODO') diff --git a/TODO b/TODO index 9776c73c..b18c459e 100644 --- a/TODO +++ b/TODO @@ -1,47 +1,3 @@ -Bug -=== - - * There is a memory leak that happens whenever object A refers to - object B which refers back to object A. We have the following - pattern: - - #include "PointerHolder.hh" - - class A - { - public: - PointerHolder a; - }; - - int main() - { - A a1; - a1.a = new A(); - a1.a.getPointer()->a = new A(); - a1.a.getPointer()->a.getPointer()->a = a1.a; - return 0; - } - - In order to fix this, we have to explicitly break circular - references, but we have to do this at a time that doesn't - completely destroy performance. - - To debug, configure with - - ./configure --disable-shared --disable-test-compare-images \ - CFLAGS=-g CXXFLAGS=-g - - Current code causes test failures. linearize segfaults on - hybrid-xref.pdf, and the test suite fails in various places. Maybe - because we don't do any kind of loop detection? - - Use valgrind --leak-check=full to see leak details. - - The file memory-leak.pdf is a minimal case that shows the problem. - - Files in trace having tracing to show which objects haven't been - allocated. - Next ==== -- cgit v1.2.3-54-g00ecf