diff options
author | Jay Berkenbilt <ejb@ql.org> | 2010-06-06 15:32:08 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2010-06-06 15:32:08 +0200 |
commit | 9496b2cb20bfd0551e9510b6ccb41ca950d2c8ee (patch) | |
tree | d4dd988984a8730331087b8b7e7afc513aeb2164 /TODO | |
parent | 64dc738859bac0dd71a3b0e61ba2d2c171d9eecd (diff) | |
download | qpdf-9496b2cb20bfd0551e9510b6ccb41ca950d2c8ee.tar.zst |
fix memory leak
git-svn-id: svn+q:///qpdf/trunk@976 71b93d88-0707-0410-a8cf-f5a4172ac649
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 44 |
1 files changed, 0 insertions, 44 deletions
@@ -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> 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 ==== |