[poppler] memory still reachable when calling Page::display()
Albert Astals Cid
aacid at kde.org
Sun Mar 29 11:13:47 PDT 2009
A Diumenge, 29 de març de 2009, Vincent Torri va escriure:
> Hey,
>
> With the following code:
>
> output_dev = new SplashOutputDev(splashModeXBGR8, 4, gFalse, white);
>
> [snip]
>
> page->page->display (output_dev,
> 72.0 * hscale,
> 72.0 * vscale,
> rotate,
> false, false, false,
> doc->pdfdoc->getCatalog ());
> color_ptr = output_dev->getBitmap ()->getDataPtr ();
>
> [snip]
>
> delete output_dev;
>
>
> valgrind reports those still reachable memories:
>
> ==25494== 3,376 bytes in 1 blocks are still reachable in loss record 50 of
> 55 ==25494== at 0x4C232CB: malloc (vg_replace_malloc.c:207)
> ==25494== by 0x5440CAA: _cmsCreateProfilePlaceholder (in
> /usr/lib/liblcms.so.1.0.16) ==25494== by 0x545708D: cmsCreateRGBProfile
> (in /usr/lib/liblcms.so.1.0.16) ==25494== by 0x5457408:
> cmsCreate_sRGBProfile (in /usr/lib/liblcms.so.1.0.16) ==25494== by
> 0x511A306: GfxColorSpace::setupColorProfiles() (GfxState.cc:305) ==25494==
> by 0x50F9BFA: Gfx::Gfx(XRef*, OutputDev*, int, Dict*, Catalog*, double,
> double, PDFRectangle*, PDFRectangle*, int, int (*)(void*), void*)
> (Gfx.cc:507) ==25494== by 0x514090F: Page::createGfx(OutputDev*, double,
> double, int, int, int, int, int, int, int, int, Catalog*, int (*)(void*),
> void*, int (*)(Annot*, void*), void*) (Page.cc:408) ==25494== by
> 0x5141124: Page::displaySlice(OutputDev*, double, double, int, int, int,
> int, int, int, int, int, Catalog*, int (*)(void*), void*, int (*)(Annot*,
> void*), void*) (Page.cc:437) ==25494== by 0x51412FC:
> Page::display(OutputDev*, double, double, int, int, int, int, Catalog*, int
> (*)(void*), void*, int (*)(Annot*, void*), void*) (Page.cc:371) ==25494==
> by 0x4E311D6: epdf_page_render (epdf_page.cpp:114)
>
>
> It seems that cmsCloseProfile() is not called on RGBProfile. I don't
> really know where to call it, though
This is a similar situation to previous mail, displayProfile created the first
time it's needed and not deleted anymore, however this should be more easy to
fix since we can provide frontends hooks for creation and deletion of the
color profiles.
As far as i remember Hal V. Engel was working on a patch to improve the "color
management" management.
Hal how is it going?
Albert
>
> regards
>
> Vincent Torri
> _______________________________________________
> poppler mailing list
> poppler at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/poppler
More information about the poppler
mailing list