Package: xpdf Version: 3.04-13 Running buster, just about any PDF I view with xpdf causes memory leaks. It is aggravated by paging up and down through the document. If you page up and down from top to bottom and back often enough, you will run out of memory.
At first I thought this was a long standing upstream bug, and most of the time it doesn't bite me. But it bit me enough to check. I compiled xpdf 4.03 from www.xpdfreader.com and no leak. I compiled xpdf 3.04 from the same source, and no leak. So sadly it appears to be a Debian-specific breakage. So I compiled the Debian source package leaving debug symbols in, and ran it inside valgrind, getting the report pasted below. It seems like tiles are not being properly freed, but I haven't found why yet. Thanks, - Chris ==31681== Memcheck, a memory error detector ==31681== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==31681== Using Valgrind-3.14.0 and LibVEX; rerun with -h for copyright info ==31681== Command: xpdf.real /tmp/redacted.pdf ==31681== ==31681== ==31681== HEAP SUMMARY: ==31681== in use at exit: 230,683,823 bytes in 11,908 blocks ==31681== total heap usage: 71,505 allocs, 59,597 frees, 341,659,666 bytes allocated ==31681== ==31681== 3 bytes in 1 blocks are definitely lost in loss record 32 of 2,868 ==31681== at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x4D3D873: systempapername (in /usr/lib/x86_64-linux-gnu/libpaper.so.1.1.2) ==31681== by 0x125A79: XPDFParams::XPDFParams(char const*) (XPDFParams.cc:708) ==31681== by 0x115BCA: main (xpdf.cc:156) ==31681== ==31681== 88 (24 direct, 64 indirect) bytes in 1 blocks are definitely lost in loss record 2,109 of 2,868 ==31681== at 0x4835DEF: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x124F8E: XPDFParams::createDefaultKeyBindings() (XPDFParams.cc:921) ==31681== by 0x125B23: XPDFParams::XPDFParams(char const*) (XPDFParams.cc:795) ==31681== by 0x115BCA: main (xpdf.cc:156) ==31681== ==31681== 88 (24 direct, 64 indirect) bytes in 1 blocks are definitely lost in loss record 2,110 of 2,868 ==31681== at 0x4835DEF: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x124FC6: XPDFParams::createDefaultKeyBindings() (XPDFParams.cc:923) ==31681== by 0x125B23: XPDFParams::XPDFParams(char const*) (XPDFParams.cc:795) ==31681== by 0x115BCA: main (xpdf.cc:156) ==31681== ==31681== 88 (24 direct, 64 indirect) bytes in 1 blocks are definitely lost in loss record 2,111 of 2,868 ==31681== at 0x4835DEF: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x124FFE: XPDFParams::createDefaultKeyBindings() (XPDFParams.cc:925) ==31681== by 0x125B23: XPDFParams::XPDFParams(char const*) (XPDFParams.cc:795) ==31681== by 0x115BCA: main (xpdf.cc:156) ==31681== ==31681== 88 (24 direct, 64 indirect) bytes in 1 blocks are definitely lost in loss record 2,112 of 2,868 ==31681== at 0x4835DEF: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x125036: XPDFParams::createDefaultKeyBindings() (XPDFParams.cc:927) ==31681== by 0x125B23: XPDFParams::XPDFParams(char const*) (XPDFParams.cc:795) ==31681== by 0x115BCA: main (xpdf.cc:156) ==31681== ==31681== 904 (56 direct, 848 indirect) bytes in 1 blocks are definitely lost in loss record 2,703 of 2,868 ==31681== at 0x4835DEF: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x11AA1C: PDFCore::addPage(int, int) (PDFCore.cc:832) ==31681== by 0x11B5FB: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:523) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x11696E: PDFCore::displayPage(int, double, int, bool, bool) (PDFCore.cc:300) ==31681== by 0x12ECC1: displayPage (XPDFViewer.cc:483) ==31681== by 0x12ECC1: XPDFViewer::XPDFViewer(XPDFApp*, GooString const*, int, GooString*, bool, GooString*, GooString*) (XPDFViewer.cc:320) ==31681== by 0x11D3DF: XPDFApp::open(GooString const*, int, GooString*, GooString*) (XPDFApp.cc:228) ==31681== by 0x116282: main (xpdf.cc:305) ==31681== ==31681== 904 (56 direct, 848 indirect) bytes in 1 blocks are definitely lost in loss record 2,704 of 2,868 ==31681== at 0x4835DEF: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x11AA1C: PDFCore::addPage(int, int) (PDFCore.cc:832) ==31681== by 0x11B5FB: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:523) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x11696E: PDFCore::displayPage(int, double, int, bool, bool) (PDFCore.cc:300) ==31681== by 0x12837A: displayPage (XPDFViewer.cc:483) ==31681== by 0x12837A: XPDFViewer::zoomComboBoxCbk(_WidgetRec*, void*, void*) (XPDFViewer.cc:2510) ==31681== by 0x4A43BB6: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== by 0x4A449F9: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== by 0x493A21F: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== by 0x493B00A: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== by 0x506A063: XtCallActionProc (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0) ==31681== by 0x50724DE: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0) ==31681== ==31681== 1,256 (896 direct, 360 indirect) bytes in 28 blocks are definitely lost in loss record 2,739 of 2,868 ==31681== at 0x4835DEF: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x1227A8: copy (GooString.h:85) ==31681== by 0x1227A8: XPDFParams::parseFontFile(GooList*, GooString*, int) (XPDFParams.cc:1408) ==31681== by 0x1241F1: XPDFParams::parseLine(char*, GooString*, int) (XPDFParams.cc:1076) ==31681== by 0x124807: XPDFParams::parseFile(GooString*, _IO_FILE*) (XPDFParams.cc:1013) ==31681== by 0x1241C5: XPDFParams::parseLine(char*, GooString*, int) (XPDFParams.cc:1050) ==31681== by 0x124807: XPDFParams::parseFile(GooString*, _IO_FILE*) (XPDFParams.cc:1013) ==31681== by 0x1241C5: XPDFParams::parseLine(char*, GooString*, int) (XPDFParams.cc:1050) ==31681== by 0x124807: XPDFParams::parseFile(GooString*, _IO_FILE*) (XPDFParams.cc:1013) ==31681== by 0x125B77: XPDFParams::XPDFParams(char const*) (XPDFParams.cc:868) ==31681== by 0x115BCA: main (xpdf.cc:156) ==31681== ==31681== 1,808 (112 direct, 1,696 indirect) bytes in 2 blocks are definitely lost in loss record 2,763 of 2,868 ==31681== at 0x4835DEF: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x11AA1C: PDFCore::addPage(int, int) (PDFCore.cc:832) ==31681== by 0x11B5FB: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:523) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x11E6E0: XPDFCore::resizeCbk(_WidgetRec*, void*, void*) (XPDFCore.cc:1138) ==31681== by 0x4912233: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== by 0x49DB7C2: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== by 0x504EE97: XtConfigureWidget (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0) ==31681== by 0x4927030: XmeConfigureObject (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== by 0x49252BF: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== by 0x4925D64: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== by 0x49DB7C2: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== ==31681== 2,352 (896 direct, 1,456 indirect) bytes in 28 blocks are definitely lost in loss record 2,778 of 2,868 ==31681== at 0x4835DEF: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x122789: copy (GooString.h:85) ==31681== by 0x122789: XPDFParams::parseFontFile(GooList*, GooString*, int) (XPDFParams.cc:1408) ==31681== by 0x1241F1: XPDFParams::parseLine(char*, GooString*, int) (XPDFParams.cc:1076) ==31681== by 0x124807: XPDFParams::parseFile(GooString*, _IO_FILE*) (XPDFParams.cc:1013) ==31681== by 0x1241C5: XPDFParams::parseLine(char*, GooString*, int) (XPDFParams.cc:1050) ==31681== by 0x124807: XPDFParams::parseFile(GooString*, _IO_FILE*) (XPDFParams.cc:1013) ==31681== by 0x1241C5: XPDFParams::parseLine(char*, GooString*, int) (XPDFParams.cc:1050) ==31681== by 0x124807: XPDFParams::parseFile(GooString*, _IO_FILE*) (XPDFParams.cc:1013) ==31681== by 0x125B77: XPDFParams::XPDFParams(char const*) (XPDFParams.cc:868) ==31681== by 0x115BCA: main (xpdf.cc:156) ==31681== ==31681== 2,712 (168 direct, 2,544 indirect) bytes in 3 blocks are definitely lost in loss record 2,793 of 2,868 ==31681== at 0x4835DEF: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x11AA1C: PDFCore::addPage(int, int) (PDFCore.cc:832) ==31681== by 0x11B5FB: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:523) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x116DE0: PDFCore::gotoPrevPage(int, bool, bool) (PDFCore.cc:988) ==31681== by 0x122533: XPDFCore::gotoPrevPage(int, bool, bool) (XPDFCore.cc:333) ==31681== by 0x12F202: XPDFViewer::execCmd(GooString*, _XEvent*) (XPDFViewer.cc:757) ==31681== by 0x12F382: XPDFViewer::keyPressCbk(void*, unsigned long, unsigned int, _XEvent*) (XPDFViewer.cc:620) ==31681== by 0x11EB83: XPDFCore::inputCbk(_WidgetRec*, void*, void*) (XPDFCore.cc:1247) ==31681== by 0x491243D: _XmDrawingAreaInput (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== by 0x50724DE: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0) ==31681== by 0x50729C4: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0) ==31681== ==31681== 12,656 (784 direct, 11,872 indirect) bytes in 14 blocks are definitely lost in loss record 2,838 of 2,868 ==31681== at 0x4835DEF: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x11AA1C: PDFCore::addPage(int, int) (PDFCore.cc:832) ==31681== by 0x11B5FB: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:523) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x117121: gotoNextPage (PDFCore.cc:963) ==31681== by 0x117121: PDFCore::gotoNextPage(int, bool) (PDFCore.cc:947) ==31681== by 0x1224F0: XPDFCore::gotoNextPage(int, bool) (XPDFCore.cc:325) ==31681== by 0x12F202: XPDFViewer::execCmd(GooString*, _XEvent*) (XPDFViewer.cc:757) ==31681== by 0x12F382: XPDFViewer::keyPressCbk(void*, unsigned long, unsigned int, _XEvent*) (XPDFViewer.cc:620) ==31681== by 0x11EB83: XPDFCore::inputCbk(_WidgetRec*, void*, void*) (XPDFCore.cc:1247) ==31681== by 0x491243D: _XmDrawingAreaInput (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== by 0x50724DE: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0) ==31681== by 0x50729C4: ??? (in /usr/lib/x86_64-linux-gnu/libXt.so.6.0.0) ==31681== ==31681== 757,350 bytes in 1 blocks are possibly lost in loss record 2,852 of 2,868 ==31681== at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x4F53C5D: SplashBitmap::SplashBitmap(int, int, int, SplashColorMode, bool, bool, GooList*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4F376CC: SplashOutputDev::startPage(int, GfxState*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4E78E3A: Gfx::Gfx(PDFDoc*, OutputDev*, int, Dict*, double, double, PDFRectangle const*, PDFRectangle const*, int, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE3B9: Page::createGfx(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE633: Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x11AD00: PDFCore::needTile(PDFCorePage*, int, int) (PDFCore.cc:924) ==31681== by 0x11BBAF: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:724) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x11696E: PDFCore::displayPage(int, double, int, bool, bool) (PDFCore.cc:300) ==31681== by 0x12ECC1: displayPage (XPDFViewer.cc:483) ==31681== by 0x12ECC1: XPDFViewer::XPDFViewer(XPDFApp*, GooString const*, int, GooString*, bool, GooString*, GooString*) (XPDFViewer.cc:320) ==31681== by 0x11D3DF: XPDFApp::open(GooString const*, int, GooString*, GooString*) (XPDFApp.cc:228) ==31681== ==31681== 1,389,276 bytes in 1 blocks are possibly lost in loss record 2,854 of 2,868 ==31681== at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x4F53C5D: SplashBitmap::SplashBitmap(int, int, int, SplashColorMode, bool, bool, GooList*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4F376CC: SplashOutputDev::startPage(int, GfxState*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4E78E3A: Gfx::Gfx(PDFDoc*, OutputDev*, int, Dict*, double, double, PDFRectangle const*, PDFRectangle const*, int, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE3B9: Page::createGfx(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE633: Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x11AD00: PDFCore::needTile(PDFCorePage*, int, int) (PDFCore.cc:924) ==31681== by 0x11BBAF: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:724) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x11696E: PDFCore::displayPage(int, double, int, bool, bool) (PDFCore.cc:300) ==31681== by 0x12837A: displayPage (XPDFViewer.cc:483) ==31681== by 0x12837A: XPDFViewer::zoomComboBoxCbk(_WidgetRec*, void*, void*) (XPDFViewer.cc:2510) ==31681== by 0x4A43BB6: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== ==31681== 1,514,700 bytes in 2 blocks are possibly lost in loss record 2,855 of 2,868 ==31681== at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x4F53C5D: SplashBitmap::SplashBitmap(int, int, int, SplashColorMode, bool, bool, GooList*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4F376CC: SplashOutputDev::startPage(int, GfxState*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4E78E3A: Gfx::Gfx(PDFDoc*, OutputDev*, int, Dict*, double, double, PDFRectangle const*, PDFRectangle const*, int, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE3B9: Page::createGfx(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE633: Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x11AD00: PDFCore::needTile(PDFCorePage*, int, int) (PDFCore.cc:924) ==31681== by 0x11BBAF: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:724) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x11E6E0: XPDFCore::resizeCbk(_WidgetRec*, void*, void*) (XPDFCore.cc:1138) ==31681== by 0x4912233: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== by 0x49DB7C2: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== ==31681== 2,273,040 bytes in 1 blocks are possibly lost in loss record 2,856 of 2,868 ==31681== at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x4F53C0C: SplashBitmap::SplashBitmap(int, int, int, SplashColorMode, bool, bool, GooList*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4F376CC: SplashOutputDev::startPage(int, GfxState*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4E78E3A: Gfx::Gfx(PDFDoc*, OutputDev*, int, Dict*, double, double, PDFRectangle const*, PDFRectangle const*, int, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE3B9: Page::createGfx(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE633: Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x11AD00: PDFCore::needTile(PDFCorePage*, int, int) (PDFCore.cc:924) ==31681== by 0x11BBAF: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:724) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x11696E: PDFCore::displayPage(int, double, int, bool, bool) (PDFCore.cc:300) ==31681== by 0x12ECC1: displayPage (XPDFViewer.cc:483) ==31681== by 0x12ECC1: XPDFViewer::XPDFViewer(XPDFApp*, GooString const*, int, GooString*, bool, GooString*, GooString*) (XPDFViewer.cc:320) ==31681== by 0x11D3DF: XPDFApp::open(GooString const*, int, GooString*, GooString*) (XPDFApp.cc:228) ==31681== ==31681== 4,167,828 bytes in 1 blocks are possibly lost in loss record 2,858 of 2,868 ==31681== at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x4F53C0C: SplashBitmap::SplashBitmap(int, int, int, SplashColorMode, bool, bool, GooList*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4F376CC: SplashOutputDev::startPage(int, GfxState*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4E78E3A: Gfx::Gfx(PDFDoc*, OutputDev*, int, Dict*, double, double, PDFRectangle const*, PDFRectangle const*, int, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE3B9: Page::createGfx(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE633: Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x11AD00: PDFCore::needTile(PDFCorePage*, int, int) (PDFCore.cc:924) ==31681== by 0x11BBAF: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:724) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x11696E: PDFCore::displayPage(int, double, int, bool, bool) (PDFCore.cc:300) ==31681== by 0x12837A: displayPage (XPDFViewer.cc:483) ==31681== by 0x12837A: XPDFViewer::zoomComboBoxCbk(_WidgetRec*, void*, void*) (XPDFViewer.cc:2510) ==31681== by 0x4A43BB6: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== ==31681== 4,167,828 bytes in 3 blocks are possibly lost in loss record 2,859 of 2,868 ==31681== at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x4F53C5D: SplashBitmap::SplashBitmap(int, int, int, SplashColorMode, bool, bool, GooList*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4F376CC: SplashOutputDev::startPage(int, GfxState*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4E78E3A: Gfx::Gfx(PDFDoc*, OutputDev*, int, Dict*, double, double, PDFRectangle const*, PDFRectangle const*, int, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE3B9: Page::createGfx(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE633: Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x11AD00: PDFCore::needTile(PDFCorePage*, int, int) (PDFCore.cc:924) ==31681== by 0x11BBAF: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:724) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x116DE0: PDFCore::gotoPrevPage(int, bool, bool) (PDFCore.cc:988) ==31681== by 0x122533: XPDFCore::gotoPrevPage(int, bool, bool) (XPDFCore.cc:333) ==31681== by 0x12F202: XPDFViewer::execCmd(GooString*, _XEvent*) (XPDFViewer.cc:757) ==31681== ==31681== 4,546,080 bytes in 2 blocks are possibly lost in loss record 2,860 of 2,868 ==31681== at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x4F53C0C: SplashBitmap::SplashBitmap(int, int, int, SplashColorMode, bool, bool, GooList*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4F376CC: SplashOutputDev::startPage(int, GfxState*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4E78E3A: Gfx::Gfx(PDFDoc*, OutputDev*, int, Dict*, double, double, PDFRectangle const*, PDFRectangle const*, int, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE3B9: Page::createGfx(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE633: Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x11AD00: PDFCore::needTile(PDFCorePage*, int, int) (PDFCore.cc:924) ==31681== by 0x11BBAF: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:724) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x11E6E0: XPDFCore::resizeCbk(_WidgetRec*, void*, void*) (XPDFCore.cc:1138) ==31681== by 0x4912233: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== by 0x49DB7C2: ??? (in /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4) ==31681== ==31681== 6,058,800 bytes in 2 blocks are possibly lost in loss record 2,862 of 2,868 ==31681== at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x11F51A: gmalloc (gmem.h:41) ==31681== by 0x11F51A: gmallocn (gmem.h:115) ==31681== by 0x11F51A: XPDFCore::updateTileData(PDFCoreTile*, int, int, int, int, bool) (XPDFCore.cc:1276) ==31681== by 0x119BFE: PDFCore::clippedRedrawRect(PDFCoreTile*, int, int, int, int, int, int, int, int, int, int, bool, bool) (PDFCore.cc:2171) ==31681== by 0x119CFF: PDFCore::redrawCbk(void*, int, int, int, int, bool) (PDFCore.cc:2068) ==31681== by 0x1165D5: dump (CoreOutputDev.cc:53) ==31681== by 0x1165D5: CoreOutputDev::dump() (CoreOutputDev.cc:46) ==31681== by 0x4E79047: Gfx::go(bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4E7954E: Gfx::display(Object*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE688: Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x11AD00: PDFCore::needTile(PDFCorePage*, int, int) (PDFCore.cc:924) ==31681== by 0x11BBAF: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:724) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x11E6E0: XPDFCore::resizeCbk(_WidgetRec*, void*, void*) (XPDFCore.cc:1138) ==31681== ==31681== 8,586,504 bytes in 2 blocks are possibly lost in loss record 2,863 of 2,868 ==31681== at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x11F51A: gmalloc (gmem.h:41) ==31681== by 0x11F51A: gmallocn (gmem.h:115) ==31681== by 0x11F51A: XPDFCore::updateTileData(PDFCoreTile*, int, int, int, int, bool) (XPDFCore.cc:1276) ==31681== by 0x119BFE: PDFCore::clippedRedrawRect(PDFCoreTile*, int, int, int, int, int, int, int, int, int, int, bool, bool) (PDFCore.cc:2171) ==31681== by 0x119CFF: PDFCore::redrawCbk(void*, int, int, int, int, bool) (PDFCore.cc:2068) ==31681== by 0x1165D5: dump (CoreOutputDev.cc:53) ==31681== by 0x1165D5: CoreOutputDev::dump() (CoreOutputDev.cc:46) ==31681== by 0x4E79047: Gfx::go(bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4E7954E: Gfx::display(Object*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE688: Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x11AD00: PDFCore::needTile(PDFCorePage*, int, int) (PDFCore.cc:924) ==31681== by 0x11BBAF: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:724) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x11696E: PDFCore::displayPage(int, double, int, bool, bool) (PDFCore.cc:300) ==31681== ==31681== 12,503,484 bytes in 3 blocks are possibly lost in loss record 2,864 of 2,868 ==31681== at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x4F53C0C: SplashBitmap::SplashBitmap(int, int, int, SplashColorMode, bool, bool, GooList*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4F376CC: SplashOutputDev::startPage(int, GfxState*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4E78E3A: Gfx::Gfx(PDFDoc*, OutputDev*, int, Dict*, double, double, PDFRectangle const*, PDFRectangle const*, int, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE3B9: Page::createGfx(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE633: Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x11AD00: PDFCore::needTile(PDFCorePage*, int, int) (PDFCore.cc:924) ==31681== by 0x11BBAF: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:724) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x116DE0: PDFCore::gotoPrevPage(int, bool, bool) (PDFCore.cc:988) ==31681== by 0x122533: XPDFCore::gotoPrevPage(int, bool, bool) (XPDFCore.cc:333) ==31681== by 0x12F202: XPDFViewer::execCmd(GooString*, _XEvent*) (XPDFViewer.cc:757) ==31681== ==31681== 16,671,312 bytes in 3 blocks are possibly lost in loss record 2,865 of 2,868 ==31681== at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x11F51A: gmalloc (gmem.h:41) ==31681== by 0x11F51A: gmallocn (gmem.h:115) ==31681== by 0x11F51A: XPDFCore::updateTileData(PDFCoreTile*, int, int, int, int, bool) (XPDFCore.cc:1276) ==31681== by 0x119BFE: PDFCore::clippedRedrawRect(PDFCoreTile*, int, int, int, int, int, int, int, int, int, int, bool, bool) (PDFCore.cc:2171) ==31681== by 0x119CFF: PDFCore::redrawCbk(void*, int, int, int, int, bool) (PDFCore.cc:2068) ==31681== by 0x1165D5: dump (CoreOutputDev.cc:53) ==31681== by 0x1165D5: CoreOutputDev::dump() (CoreOutputDev.cc:46) ==31681== by 0x4E79047: Gfx::go(bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4E7954E: Gfx::display(Object*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE688: Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x11AD00: PDFCore::needTile(PDFCorePage*, int, int) (PDFCore.cc:924) ==31681== by 0x11BBAF: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:724) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x116DE0: PDFCore::gotoPrevPage(int, bool, bool) (PDFCore.cc:988) ==31681== ==31681== 19,449,864 bytes in 14 blocks are possibly lost in loss record 2,866 of 2,868 ==31681== at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x4F53C5D: SplashBitmap::SplashBitmap(int, int, int, SplashColorMode, bool, bool, GooList*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4F376CC: SplashOutputDev::startPage(int, GfxState*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4E78E3A: Gfx::Gfx(PDFDoc*, OutputDev*, int, Dict*, double, double, PDFRectangle const*, PDFRectangle const*, int, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE3B9: Page::createGfx(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE633: Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x11AD00: PDFCore::needTile(PDFCorePage*, int, int) (PDFCore.cc:924) ==31681== by 0x11BBAF: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:724) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x117121: gotoNextPage (PDFCore.cc:963) ==31681== by 0x117121: PDFCore::gotoNextPage(int, bool) (PDFCore.cc:947) ==31681== by 0x1224F0: XPDFCore::gotoNextPage(int, bool) (XPDFCore.cc:325) ==31681== by 0x12F202: XPDFViewer::execCmd(GooString*, _XEvent*) (XPDFViewer.cc:757) ==31681== ==31681== 58,349,592 bytes in 14 blocks are possibly lost in loss record 2,867 of 2,868 ==31681== at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x4F53C0C: SplashBitmap::SplashBitmap(int, int, int, SplashColorMode, bool, bool, GooList*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4F376CC: SplashOutputDev::startPage(int, GfxState*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4E78E3A: Gfx::Gfx(PDFDoc*, OutputDev*, int, Dict*, double, double, PDFRectangle const*, PDFRectangle const*, int, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE3B9: Page::createGfx(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, XRef*) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE633: Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x11AD00: PDFCore::needTile(PDFCorePage*, int, int) (PDFCore.cc:924) ==31681== by 0x11BBAF: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:724) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x117121: gotoNextPage (PDFCore.cc:963) ==31681== by 0x117121: PDFCore::gotoNextPage(int, bool) (PDFCore.cc:947) ==31681== by 0x1224F0: XPDFCore::gotoNextPage(int, bool) (XPDFCore.cc:325) ==31681== by 0x12F202: XPDFViewer::execCmd(GooString*, _XEvent*) (XPDFViewer.cc:757) ==31681== ==31681== 77,799,456 bytes in 14 blocks are possibly lost in loss record 2,868 of 2,868 ==31681== at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==31681== by 0x11F51A: gmalloc (gmem.h:41) ==31681== by 0x11F51A: gmallocn (gmem.h:115) ==31681== by 0x11F51A: XPDFCore::updateTileData(PDFCoreTile*, int, int, int, int, bool) (XPDFCore.cc:1276) ==31681== by 0x119BFE: PDFCore::clippedRedrawRect(PDFCoreTile*, int, int, int, int, int, int, int, int, int, int, bool, bool) (PDFCore.cc:2171) ==31681== by 0x119CFF: PDFCore::redrawCbk(void*, int, int, int, int, bool) (PDFCore.cc:2068) ==31681== by 0x1165D5: dump (CoreOutputDev.cc:53) ==31681== by 0x1165D5: CoreOutputDev::dump() (CoreOutputDev.cc:46) ==31681== by 0x4E79047: Gfx::go(bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4E7954E: Gfx::display(Object*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x4ECE688: Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) (in /usr/lib/x86_64-linux-gnu/libpoppler.so.82.0.0) ==31681== by 0x11AD00: PDFCore::needTile(PDFCorePage*, int, int) (PDFCore.cc:924) ==31681== by 0x11BBAF: PDFCore::update(int, int, int, double, int, bool, bool, bool) (PDFCore.cc:724) ==31681== by 0x122490: XPDFCore::update(int, int, int, double, int, bool, bool, bool) (XPDFCore.cc:297) ==31681== by 0x117121: gotoNextPage (PDFCore.cc:963) ==31681== by 0x117121: PDFCore::gotoNextPage(int, bool) (PDFCore.cc:947) ==31681== ==31681== LEAK SUMMARY: ==31681== definitely lost: 3,067 bytes in 82 blocks ==31681== indirectly lost: 19,880 bytes in 412 blocks ==31681== possibly lost: 218,235,114 bytes in 63 blocks ==31681== still reachable: 12,425,762 bytes in 11,351 blocks ==31681== suppressed: 0 bytes in 0 blocks ==31681== Reachable blocks (those to which a pointer was found) are not shown. ==31681== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==31681== ==31681== For counts of detected and suppressed errors, rerun with: -v ==31681== ERROR SUMMARY: 26 errors from 26 contexts (suppressed: 4 from 1)