Bug 73496 - cairooutputdev memory leak
Summary: cairooutputdev memory leak
Status: RESOLVED INVALID
Alias: None
Product: poppler
Classification: Unclassified
Component: cairo backend (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Windows (All)
: medium normal
Assignee: poppler-bugs
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-11 09:36 UTC by nameX
Modified: 2014-07-24 05:44 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description nameX 2014-01-11 09:36:29 UTC
i use pdftocairo.exe get too many memory leak.
almost every pdf with text has it.
Comment 1 Adrian Johnson 2014-01-11 09:48:17 UTC
It is the font cache in cairo. You can free it with http://www.cairographics.org/manual/cairo-Error-handling.html#cairo-debug-reset-static-data

Why is this a problem? The memory is freed when the process exits.
Comment 2 nameX 2014-01-11 15:14:27 UTC
use cairo_debug_reset_static_data(void),I get this:


Debug Error!

Program: H:\poppler\windows\Debug\pdftocairo.exe

R6010
- abort() has been called
Comment 3 Adrian Johnson 2014-01-12 04:47:35 UTC
(In reply to comment #2)
> - abort() has been called

This is documented in the linked I provided in comment 1:

 "WARNING: It is only safe to call this function when there are no active cairo
 objects remaining, (ie. the appropriate destroy functions have been called as
 necessary). If there are active cairo objects, this call is likely to cause a
 crash, (eg. an assertion failure due to a hash table being destroyed when
 non-empty)."
Comment 4 Jason Crain 2014-01-12 19:28:56 UTC
nameX, you need to post more details about how you are detecting memory leaks.  I'm on Debian testing; I ran pdftocairo through valgrind and I don't see any major issues.  I see C++ static initializers, cairo font caching, and cms caching in GfxState.cc, but nothing that really looks like a memory leak.
Comment 5 Jason Crain 2014-07-24 05:44:51 UTC
closing because of no response


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.