poppler issues
https://gitlab.freedesktop.org/poppler/poppler/-/issues
2023-07-10T07:07:33Z
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1413
New user with "you have reached your project limit"?
2023-07-10T07:07:33Z
Aleks L
New user with "you have reached your project limit"?
I want to contribute to poppler. I just registered, but cannot fork poppler to create a merge request. What should I do?
I want to contribute to poppler. I just registered, but cannot fork poppler to create a merge request. What should I do?
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1412
poppler_get_available_signing_certificates needs improvements
2023-07-04T19:47:39Z
Albert Astals Cid
poppler_get_available_signing_certificates needs improvements
Remove the #ifdef for NSS and should check for CryptoSign::Factory::createActive() being potentially null.
Remove the #ifdef for NSS and should check for CryptoSign::Factory::createActive() being potentially null.
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1411
Hot to set a specific PDF version in pdftocairo?
2023-07-03T14:35:14Z
Daniel Dias Rodrigues
danieldiasr@gmail.com
Hot to set a specific PDF version in pdftocairo?
**This is not a bug, just a question.**
I have asked this in [Unix & Linux StackExchange](https://unix.stackexchange.com/questions/750396/how-to-change-pdf-version-output-in-pdftocairo) but without answer.
Command `pdftocairo` is an ut...
**This is not a bug, just a question.**
I have asked this in [Unix & Linux StackExchange](https://unix.stackexchange.com/questions/750396/how-to-change-pdf-version-output-in-pdftocairo) but without answer.
Command `pdftocairo` is an utility from [poppler-utils][1] package. It's a PDF to PNG/JPEG/PDF/PS/EPS/SVG converter using [Cairo][2]. I use this command to update a very old PDF from version 1.2 to 1.5, for example:
```shell
$ pdftocairo -pdf input.pdf output.pdf
```
The PDF version of the output PDF in my system is always 1.5:
- Linux Mint 21.1
- poppler-utils 22.02.0-2ubuntu0.1
- cairo 1.16.0
**My questions:**
**1)** Is possible to convert to a higher PDF version? Like 1.7?
**2)** There is ANY advantage in update a PDF version?
[1]: https://packages.debian.org/bookworm/poppler-utils
[2]: https://cairographics.org
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1410
Poppler renders patch 19.2 of Ghent PDF Output Suite V5.0 incorrectly
2023-07-10T09:08:23Z
Kevin Ottens
Poppler renders patch 19.2 of Ghent PDF Output Suite V5.0 incorrectly
The output for `pdftoppm -png -overprint` for `GWG192_DeviceN_Overprint_White_X1a.pdf` in incorrect in square d.
![GWG192_DeviceN_Overprint_White_X1a-1](/uploads/763883e6bb9a42202b0d19c9bf409f61/GWG192_DeviceN_Overprint_White_X1a-1.png)...
The output for `pdftoppm -png -overprint` for `GWG192_DeviceN_Overprint_White_X1a.pdf` in incorrect in square d.
![GWG192_DeviceN_Overprint_White_X1a-1](/uploads/763883e6bb9a42202b0d19c9bf409f61/GWG192_DeviceN_Overprint_White_X1a-1.png)
The expected result is to have a completely white square for d. I checked with Adobe Acrobat and it renders a white square indeed.
Here is the file I tested with:
[GWG192_DeviceN_Overprint_White_X1a.pdf](/uploads/1db7387c8c05bdbedee16dd92b18d78f/GWG192_DeviceN_Overprint_White_X1a.pdf)
I tried to investigate it but I guess I've been looking at the wrong places so far. I initially thought it could be a problem with the `setOverprintMask()` call in `SplashOutputDev::fill()` but convinced myself it's likely unrelated. Also tried to check the alpha declared on the src and dest in the state at time of filling but didn't seem conclusive either. Even ended up looking at the commands as seen by the parser but couldn't spot anything suspicious.
Since my knowledge of this code base is very limited so far, I'm hoping someone better in the topic will have better ideas to investigate this...
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1408
Unimplemented Feature: Unknown CID font collection, please report to poppler ...
2023-06-28T20:45:54Z
刘文
Unimplemented Feature: Unknown CID font collection, please report to poppler bugzilla.
When I use gdb to debug the file generated by Fuzz that timed out when executing the pdftops command, it prompts "Unimplemented Feature: Unknown CID font collection, please report to poppler bugzilla",however, the command eventually exec...
When I use gdb to debug the file generated by Fuzz that timed out when executing the pdftops command, it prompts "Unimplemented Feature: Unknown CID font collection, please report to poppler bugzilla",however, the command eventually executes successfully, and I'm unsure if this issue should be reported. We apologize if this inconveniences you.
version:23.06.0
reproduce: pdftops 1.pdf
My system OS:Ubuntu 20.04
Attach the file.
[1.pdf](/uploads/e594a9c072736085baeef50a96e34dc5/1.pdf)
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1406
Page emits "Bogus memory allocation size" and hangs with 100% core utilization
2023-07-12T22:09:06Z
Anatoly I
Page emits "Bogus memory allocation size" and hangs with 100% core utilization
Hi.
I'm trying to render the following page in 72 dpi jpeg using splash output dev.
[bad_page.pdf](/uploads/d0cf0c1c757c5a6787c3f7393feea0c6/bad_page.pdf)
Poppler ends up trying to allocate about 3.2Gig of memory, emits `Bogus memory ...
Hi.
I'm trying to render the following page in 72 dpi jpeg using splash output dev.
[bad_page.pdf](/uploads/d0cf0c1c757c5a6787c3f7393feea0c6/bad_page.pdf)
Poppler ends up trying to allocate about 3.2Gig of memory, emits `Bogus memory allocation size` to stderr, and then hangs with 100% core utilization.
I tried to debug this and it seems that something goes wrong in `doTilingPatternFill` because it calculates really huge numbers that later goes to `Splash::drawImage` as `w` and `h` params.
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1405
Poppler fails to draw smooth lines compared to MuPDF
2023-06-15T15:00:41Z
Med Medin
Poppler fails to draw smooth lines compared to MuPDF
With Okular (Poppler 23.05.0) the lines in some fonts aren't drawn correctly.
```
Poppler: 23.05.0
Operating System: Manjaro Linux
KDE Plasma Version: 5.27.5
KDE Frameworks Version: 5.106.0
Qt Version: 5.15.9
Kernel Version: 6.3.7-1-MAN...
With Okular (Poppler 23.05.0) the lines in some fonts aren't drawn correctly.
```
Poppler: 23.05.0
Operating System: Manjaro Linux
KDE Plasma Version: 5.27.5
KDE Frameworks Version: 5.106.0
Qt Version: 5.15.9
Kernel Version: 6.3.7-1-MANJARO (64-bit)
Graphics Platform: Wayland
```
[Untitled_1.pdf](/uploads/ad56dc73bf80fbe0ad9a8a03cb254857/Untitled_1.pdf)
![Screenshot_20230612_185434](/uploads/db29399416ccc340a97ed9c04826cefd/Screenshot_20230612_185434.png)
![Screenshot_20230612_185138](/uploads/4f02c5d83c4661018727419bdc89c828/Screenshot_20230612_185138.png)
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1404
Segfaults on a certain PDF file
2023-06-11T23:34:13Z
Lukas K.
Segfaults on a certain PDF file
This file somewhat reproducibly crashes poppler-based PDF viewers, evince and zathura in particular. To trigger the crash, flip through the pages.
The pdf file in question was generated by gluing together PDFs exported from draw.io with...
This file somewhat reproducibly crashes poppler-based PDF viewers, evince and zathura in particular. To trigger the crash, flip through the pages.
The pdf file in question was generated by gluing together PDFs exported from draw.io with `pdfunite`.
Version `23.05.0` from arch linux.
Backtrace:
```
#0 0x00007f02ddf806ac in Gfx::restoreState() (this=this@entry=0x7f02d013b220) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:5375
#1 0x00007f02ddf80717 in Gfx::popStateGuard() (this=0x7f02d013b220) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:5355
#2 0x00007f02ddf6b881 in Gfx::~Gfx() (this=this@entry=0x7f02d013b220, this=<optimized out>) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:606
#3 0x00007f02def4fefe in _free_type3_font_info(void*) (closure=0x7f02d0268bd0) at /usr/src/debug/poppler/poppler-23.05.0/poppler/CairoFontEngine.cc:423
#4 0x00007f02f2ee3c7f in _cairo_user_data_array_fini (array=0x7f02d00f3fe0) at ../cairo/src/cairo-array.c:392
#5 0x00007f02f2ef4981 in INT_cairo_font_face_destroy (font_face=0x7f02d00f3fd0) at ../cairo/src/cairo-font-face.c:189
#6 INT_cairo_font_face_destroy (font_face=0x7f02d00f3fd0) at ../cairo/src/cairo-font-face.c:171
#7 0x00007f02f2f26a8a in _cairo_scaled_font_fini_internal (scaled_font=0x7f02d0285730) at ../cairo/src/cairo-scaled-font.c:920
#8 0x00007f02f2f2e25d in INT_cairo_scaled_font_destroy (scaled_font=<optimized out>) at ../cairo/src/cairo-scaled-font.c:1408
#9 0x00007f02f2f27f7c in INT_cairo_scaled_font_create (font_face=<optimized out>, font_matrix=<optimized out>, ctm=<optimized out>, options=0x7f02de9fc810) at ../cairo/src/cairo-scaled-font.c:1224
#10 0x00007f02f2ef6249 in _cairo_gstate_ensure_scaled_font (gstate=0x7f02d0252c30) at ../cairo/src/cairo-gstate.c:1917
#11 _cairo_gstate_ensure_scaled_font (gstate=gstate@entry=0x7f02d0252c30) at ../cairo/src/cairo-gstate.c:1896
#12 0x00007f02f2ef640e in _cairo_gstate_show_text_glyphs (gstate=0x7f02d0252c30, glyphs=0x7f02d02819c0, num_glyphs=<optimized out>, info=0x0) at ../cairo/src/cairo-gstate.c:2006
#13 0x00007f02f2f48b96 in cairo_show_glyphs (num_glyphs=<optimized out>, glyphs=<optimized out>, cr=0x7f02d2bfceb0) at ../cairo/src/cairo.c:3687
#14 cairo_show_glyphs (cr=0x7f02d2bfceb0, glyphs=<optimized out>, num_glyphs=<optimized out>) at ../cairo/src/cairo.c:3667
#15 0x00007f02def54980 in CairoOutputDev::endString(GfxState*) (state=<optimized out>, this=0x7f02d0057de0) at /usr/src/debug/poppler/poppler-23.05.0/poppler/CairoOutputDev.cc:1553
#16 CairoOutputDev::endString(GfxState*) (this=0x7f02d0057de0, state=<optimized out>) at /usr/src/debug/poppler/poppler-23.05.0/poppler/CairoOutputDev.cc:1519
#17 0x00007f02ddf787e9 in Gfx::doShowText(GooString const*) (this=this@entry=0x7f02d013b050, s=0x7f02d01aab60) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:4033
#18 0x00007f02ddf7943a in Gfx::opShowText(Object*, int) (this=0x7f02d013b050, args=0x7f02de9fded0, numArgs=<optimized out>) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:3720
#19 0x00007f02ddf6bbfc in Gfx::go(bool) (this=this@entry=0x7f02d013b050, topLevel=topLevel@entry=true) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:684
#20 0x00007f02ddf6c797 in Gfx::display(Object*, bool) (this=0x7f02d013b050, obj=0x7f02de9fe1e0, topLevel=true) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:645
#21 0x00007f02ddfd94c2 in Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
(this=0x7f02d0040fc0, out=0x7f02d0057de0, hDPI=72, vDPI=72, rotate=<optimized out>, useMediaBox=false, crop=true, sliceX=-1, sliceY=-1, sliceW=-1, sliceH=-1, printing=false, abortCheckCbk=0x0, abortCheckCbkData=0x0, annotDisplayDecideCbk=0x0, annotDisplayDecideCbkData=0x0, copyXRef=false) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Page.cc:584
#22 0x00007f02def3c822 in _poppler_page_render(PopplerPage*, cairo_t*, bool, PopplerPrintFlags) (page=0x7f02d2ee4c70, cairo=0x7f02d2bfceb0, printing=<optimized out>, print_flags=<optimized out>)
at /usr/src/debug/poppler/poppler-23.05.0/glib/poppler-page.cc:331
#23 0x00007f02ec00942b in pdf_page_render (page=page@entry=0x7f02d2ee4c70, width=1722, height=971, rc=rc@entry=0x7f02d01fbb30) at ../evince/backend/pdf/ev-poppler.c:431
#24 0x00007f02ec009565 in pdf_document_render (document=<optimized out>, rc=0x7f02d01fbb30) at ../evince/backend/pdf/ev-poppler.c:457
#25 0x00007f02f3c26a06 in ev_job_render_run (job=0x55b681da9010) at ../evince/libview/ev-jobs.c:645
#26 0x00007f02f3c266b9 in ev_job_thread (job=0x55b681da9010) at ../evince/libview/ev-job-scheduler.c:184
#27 ev_job_thread_proxy (data=<optimized out>) at ../evince/libview/ev-job-scheduler.c:217
#28 0x00007f02f3a73cc5 in g_thread_proxy (data=0x55b681b008a0) at ../glib/glib/gthread.c:831
#29 0x00007f02f299544b in start_thread (arg=<optimized out>) at pthread_create.c:444
#30 0x00007f02f2a18e40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
```
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1402
compile fails on i686
2023-06-09T14:41:06Z
Thomas Trepl
compile fails on i686
**Problem:**
Compile fails at about 26% with:
```
[ 26%] Building CXX object CMakeFiles/poppler.dir/poppler/NSSCryptoSignBackend.cc.o
[ 26%] Building CXX object CMakeFiles/poppler.dir/poppler/GPGMECryptoSignBackend.cc.o
In Datei, einge...
**Problem:**
Compile fails at about 26% with:
```
[ 26%] Building CXX object CMakeFiles/poppler.dir/poppler/NSSCryptoSignBackend.cc.o
[ 26%] Building CXX object CMakeFiles/poppler.dir/poppler/GPGMECryptoSignBackend.cc.o
In Datei, eingebunden von /home/tmp/i686/poppler/build/poppler-23.06.0/poppler/GPGMECryptoSignBackend.cc:11:
/usr/include/gpgme.h:111:2: Fehler: #error GPGME was compiled with _FILE_OFFSET_BITS = 64, please see the section "Largefile support (LFS)" in the GPGME manual.
111 | #error GPGME was compiled with _FILE_OFFSET_BITS = 64, please see the section "Largefile support (LFS)" in the GPGME manual.
| ^~~~~
[ 26%] Building CXX object CMakeFiles/poppler.dir/poppler/JPEG2000Stream.cc.o
make[2]: *** [CMakeFiles/poppler.dir/build.make:1714: CMakeFiles/poppler.dir/poppler/GPGMECryptoSignBackend.cc.o] Fehler 1
make[2]: *** Es wird auf noch nicht beendete Prozesse gewartet …
make[1]: *** [CMakeFiles/Makefile2:429: CMakeFiles/poppler.dir/all] Fehler 2
make: *** [Makefile:146: all] Fehler 2
```
System: 32-bit Linux
Distro: Linux From Scratch
Relevant package versions:
* poppler 23.06.0
* gpgme 1.20.0
**Possible solution:**
I've added a '#include "config.h"' to poppler/GPGMECryptoSignBackend.cc by executing
```
sed -e "/#include \"GPGMECryptoSignBackend.h\"/i#include \"config.h\"" \
-i poppler/GPGMECryptoSignBackend.cc
```
With config.h included in GPGMECryptoSignBackend.cc, compile runs pretty fine.
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1401
crash in Gfx::restoreState
2023-06-11T22:49:46Z
Barnabás Pőcze
crash in Gfx::restoreState
* poppler version: 23.05.0
While scrolling/zomming/switching pages `evince` crashed inside poppler. I have not yet found a reliable way to reproduce the issue. This has already happened three times, but only with one particular PDF file...
* poppler version: 23.05.0
While scrolling/zomming/switching pages `evince` crashed inside poppler. I have not yet found a reliable way to reproduce the issue. This has already happened three times, but only with one particular PDF file in which has pages of different sizes.
```
#0 0x00007f946e5806ac in Gfx::restoreState() (this=this@entry=0x7f945d858740) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:5375
#1 0x00007f946e580717 in Gfx::popStateGuard() (this=0x7f945d858740) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:5355
#2 0x00007f946e56b881 in Gfx::~Gfx() (this=this@entry=0x7f945d858740, this=<optimized out>) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:606
#3 0x00007f94866bbefe in _free_type3_font_info(void*) (closure=0x7f945c2978e0) at /usr/src/debug/poppler/poppler-23.05.0/poppler/CairoFontEngine.cc:423
#4 0x00007f94a3981c7f in _cairo_user_data_array_fini (array=0x7f945e939480) at ../cairo/src/cairo-array.c:392
#5 0x00007f94a3992981 in INT_cairo_font_face_destroy (font_face=0x7f945e939470) at ../cairo/src/cairo-font-face.c:189
#6 INT_cairo_font_face_destroy (font_face=0x7f945e939470) at ../cairo/src/cairo-font-face.c:171
#7 0x00007f94a39c4a8a in _cairo_scaled_font_fini_internal (scaled_font=0x7f945d9e75d0) at ../cairo/src/cairo-scaled-font.c:920
#8 0x00007f94a39cc25d in INT_cairo_scaled_font_destroy (scaled_font=<optimized out>) at ../cairo/src/cairo-scaled-font.c:1408
#9 0x00007f94a39c5f7c in INT_cairo_scaled_font_create (font_face=<optimized out>, font_matrix=<optimized out>, ctm=<optimized out>, options=0x7f946effa7b0) at ../cairo/src/cairo-scaled-font.c:1224
#10 0x00007f94a3994249 in _cairo_gstate_ensure_scaled_font (gstate=0x7f945d7322d0) at ../cairo/src/cairo-gstate.c:1917
#11 _cairo_gstate_ensure_scaled_font (gstate=gstate@entry=0x7f945d7322d0) at ../cairo/src/cairo-gstate.c:1896
#12 0x00007f94a399440e in _cairo_gstate_show_text_glyphs (gstate=0x7f945d7322d0, glyphs=0x7f945e8ea140, num_glyphs=<optimized out>, info=0x0) at ../cairo/src/cairo-gstate.c:2006
#13 0x00007f94a39e6b96 in cairo_show_glyphs (num_glyphs=<optimized out>, glyphs=<optimized out>, cr=0x55600e93f080) at ../cairo/src/cairo.c:3687
#14 cairo_show_glyphs (cr=0x55600e93f080, glyphs=<optimized out>, num_glyphs=<optimized out>) at ../cairo/src/cairo.c:3667
#15 0x00007f94866c0980 in CairoOutputDev::endString(GfxState*) (state=<optimized out>, this=0x7f945c058090) at /usr/src/debug/poppler/poppler-23.05.0/poppler/CairoOutputDev.cc:1553
#16 CairoOutputDev::endString(GfxState*) (this=0x7f945c058090, state=<optimized out>) at /usr/src/debug/poppler/poppler-23.05.0/poppler/CairoOutputDev.cc:1519
#17 0x00007f946e5787e9 in Gfx::doShowText(GooString const*) (this=this@entry=0x7f945e937030, s=0x7f945da23d60) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:4033
#18 0x00007f946e579a7e in Gfx::opShowSpaceText(Object*, int) (this=0x7f945e937030, args=0x7f946effbed0, numArgs=<optimized out>) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:3808
#19 0x00007f946e56bbfc in Gfx::go(bool) (this=this@entry=0x7f945e937030, topLevel=topLevel@entry=true) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:684
#20 0x00007f946e56c797 in Gfx::display(Object*, bool) (this=0x7f945e937030, obj=0x7f946effc1e0, topLevel=true) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:645
#21 0x00007f946e5d94c2 in Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
(this=0x7f945c0af980, out=0x7f945c058090, hDPI=72, vDPI=72, rotate=<optimized out>, useMediaBox=false, crop=true, sliceX=-1, sliceY=-1, sliceW=-1, sliceH=-1, printing=false, abortCheckCbk=0x0, abortCheckCbkData=0x0, annotDisplayDecideCbk=0x0, annotDisplayDecideCbkData=0x0, copyXRef=false) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Page.cc:584
#22 0x00007f94866a8822 in _poppler_page_render(PopplerPage*, cairo_t*, bool, PopplerPrintFlags) (page=0x7f945c0fdb70, cairo=0x55600e93f080, printing=<optimized out>, print_flags=<optimized out>)
at /usr/src/debug/poppler/poppler-23.05.0/glib/poppler-page.cc:331
#23 0x00007f948673b42b in pdf_page_render (page=page@entry=0x7f945c0fdb70, width=455, height=342, rc=rc@entry=0x7f945dd3d7b0) at ../evince/backend/pdf/ev-poppler.c:431
#24 0x00007f948673b565 in pdf_document_render (document=<optimized out>, rc=0x7f945dd3d7b0) at ../evince/backend/pdf/ev-poppler.c:457
#25 0x00007f94a46b4a06 in ev_job_render_run (job=0x55600e59a700) at ../evince/libview/ev-jobs.c:645
#26 0x00007f94a46b46b9 in ev_job_thread (job=0x55600e59a700) at ../evince/libview/ev-job-scheduler.c:184
#27 ev_job_thread_proxy (data=<optimized out>) at ../evince/libview/ev-job-scheduler.c:217
#28 0x00007f94a4501cc5 in g_thread_proxy (data=0x55600e598c40) at ../glib/glib/gthread.c:831
#29 0x00007f94a340e44b in start_thread (arg=<optimized out>) at pthread_create.c:444
#30 0x00007f94a3491e40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
```
```
(gdb) frame 3
#3 0x00007f94866bbefe in _free_type3_font_info (closure=0x7f945c2978e0) at /usr/src/debug/poppler/poppler-23.05.0/poppler/CairoFontEngine.cc:423
Downloading source file /usr/src/debug/poppler/poppler-23.05.0/poppler/CairoFontEngine.cc
423 delete info->gfx;
(gdb) p *info
$1 = {
font = std::shared_ptr<GfxFont> (use count 1, weak count 0) = {
get() = 0x7f945e07b0b0
},
doc = 0x7f945c0552f0,
fontEngine = 0x7f945c055be0,
outputDev = 0x7f945e6605b0,
gfx = 0x7f945d858740
}
(gdb) p *info->gfx
$2 = {
doc = 0x7f945c0552f0,
xref = 0x7f945c055530,
catalog = 0x7f945c055660,
out = 0x7f945e6605b0,
subPage = true,
printCommands = false,
profileCommands = false,
commandAborted = false,
res = 0x7f945d84cc60,
updateLevel = 70,
state = 0x7f945e263590,
stackHeight = 195,
stateGuards = std::vector of length 1, capacity 2 = {1},
fontChanged = true,
clip = clipNone,
ignoreUndef = 0,
baseMatrix = {1, 0, 0, 1, -2, 11},
displayDepth = 0,
ocState = true,
mcStack = 0x0,
parser = 0x0,
formsDrawing = std::set with 0 elements,
charProcDrawing = std::set with 0 elements,
abortCheckCbk = 0x0,
abortCheckCbkData = 0x0
}
(gdb) p *info->gfx->out
$3 = {
_vptr.OutputDev = 0x7f945e3f6cd0,
defCTM = {6.9305145125234317e-310, 37.408003699999981, 41.839379299999983, 44.612974099999981, 46.382336299999984, 50.813711899999987},
defICTM = {53.467755199999985, 57.899130799999988, 60.553174099999985, 64.984549699999988, 68.969599699999989, 72.95464969999999},
profileHash = std::unique_ptr<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ProfileData, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ProfileData> > >> = {
get() = 0x0
},
displayprofile = std::shared_ptr<void> (empty) = {
get() = 0x0
},
defaultGrayProfile = std::shared_ptr<void> (empty) = {
get() = 0x0
},
defaultRGBProfile = std::shared_ptr<void> (empty) = {
get() = 0x0
},
defaultCMYKProfile = std::shared_ptr<void> (empty) = {
get() = 0x0
},
iccColorSpaceCache = {
entries = std::vector of length 0, capacity 5
}
}
```
I wonder if it may be a use-after-free of sorts since `gdb` does not show a symbol name next to the vtable pointer. In a call to `_free_type3_font_info()` that did not crash it showed:
```
(gdb) p *info->gfx->out
$2 = {
_vptr.OutputDev = 0x7f45c2841250 <vtable for CairoOutputDev+16>,
[...]
```
---
<details>
<summary>full call stack</summary>
```
#0 0x00007f946e5806ac in Gfx::restoreState() (this=this@entry=0x7f945d858740) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:5375
#1 0x00007f946e580717 in Gfx::popStateGuard() (this=0x7f945d858740) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:5355
#2 0x00007f946e56b881 in Gfx::~Gfx() (this=this@entry=0x7f945d858740, this=<optimized out>) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:606
#3 0x00007f94866bbefe in _free_type3_font_info(void*) (closure=0x7f945c2978e0) at /usr/src/debug/poppler/poppler-23.05.0/poppler/CairoFontEngine.cc:423
info = 0x7f945c2978e0
#4 0x00007f94a3981c7f in _cairo_user_data_array_fini (array=0x7f945e939480) at ../cairo/src/cairo-array.c:392
s = 0x7f945c28dc40
slots = <optimized out>
num_slots = <optimized out>
#5 0x00007f94a3992981 in INT_cairo_font_face_destroy (font_face=0x7f945e939470) at ../cairo/src/cairo-font-face.c:189
__PRETTY_FUNCTION__ = "cairo_font_face_destroy"
#6 INT_cairo_font_face_destroy (font_face=0x7f945e939470) at ../cairo/src/cairo-font-face.c:171
__PRETTY_FUNCTION__ = "cairo_font_face_destroy"
#7 0x00007f94a39c4a8a in _cairo_scaled_font_fini_internal (scaled_font=0x7f945d9e75d0) at ../cairo/src/cairo-scaled-font.c:920
__PRETTY_FUNCTION__ = "_cairo_scaled_font_fini_internal"
#8 0x00007f94a39cc25d in INT_cairo_scaled_font_destroy (scaled_font=<optimized out>) at ../cairo/src/cairo-scaled-font.c:1408
lru = 0x7f945d9e75d0
font_map = 0x55600e438d10
__PRETTY_FUNCTION__ = "cairo_scaled_font_destroy"
#9 0x00007f94a39c5f7c in INT_cairo_scaled_font_create (font_face=<optimized out>, font_matrix=<optimized out>, ctm=<optimized out>, options=0x7f946effa7b0) at ../cairo/src/cairo-scaled-font.c:1224
status = CAIRO_STATUS_SUCCESS
font_map = 0x55600e438d10
key = {
hash_entry = {
hash = 4267040028608201840
},
status = CAIRO_STATUS_SUCCESS,
ref_count = {
ref_count = 1072693248
},
user_data = {
size = 0,
num_elements = 0,
element_size = 0,
elements = 0x0
},
original_font_face = 0x7f945ebcb1e0,
font_face = 0x7f945ebcb1e0,
font_matrix = {
xx = 5.9776000000000007,
yx = 0,
xy = -0,
yy = -5.9776000000000007,
x0 = 0,
y0 = 0
},
ctm = {
xx = 1.2540135323218544,
yx = 0,
xy = 0,
yy = -1.2567707606035441,
x0 = 0,
y0 = 0
},
options = {
antialias = CAIRO_ANTIALIAS_DEFAULT,
subpixel_order = CAIRO_SUBPIXEL_ORDER_DEFAULT,
lcd_filter = CAIRO_LCD_FILTER_DEFAULT,
hint_style = CAIRO_HINT_STYLE_DEFAULT,
hint_metrics = CAIRO_HINT_METRICS_ON,
round_glyph_positions = CAIRO_ROUND_GLYPH_POS_ON,
variations = 0x0,
color_mode = CAIRO_COLOR_MODE_DEFAULT,
palette_index = 0,
custom_palette = 0x0,
custom_palette_size = 0
},
placeholder = 0,
holdover = 0,
finished = 0,
scale = {
xx = 0,
yx = 0,
xy = 0,
yy = 0,
x0 = 0,
y0 = 0
},
scale_inverse = {
xx = 0,
yx = 0,
xy = 0,
yy = 0,
x0 = 0,
y0 = 0
},
max_scale = 0,
extents = {
ascent = 0,
descent = 1,
height = -nan(0xf000000000000),
max_x_advance = 0,
max_y_advance = 0
},
fs_extents = {
ascent = 0,
descent = 0,
height = 0,
max_x_advance = 0,
max_y_advance = 0
},
mutex = {
__data = {
__lock = 0,
__count = 0,
__owner = 0,
__nusers = 0,
__kind = 0,
__spins = 0,
__elision = 0,
__list = {
__prev = 0x0,
__next = 0x0
}
},
__size = '\000' <repeats 39 times>,
__align = 0
},
glyphs = 0x0,
glyph_pages = {
next = 0x0,
prev = 0x0
},
cache_frozen = 1862248512,
global_cache_frozen = 32660,
recording_surfaces_to_free = {
size = 0,
num_elements = 0,
element_size = 245990096,
elements = 0xb357fa4cc9d50100 <error: Cannot access memory at address 0xb357fa4cc9d50100>
},
dev_privates = {
next = 0x56cd,
prev = 0x7f945e650f00
},
backend = 0x2,
link = {
next = 0x7f946effab90,
prev = 0x7f946effa840
}
}
old = 0x55600e87b140
scaled_font = 0x7f945e90a810
dead = 0x0
det = <optimized out>
__PRETTY_FUNCTION__ = "cairo_scaled_font_create"
#10 0x00007f94a3994249 in _cairo_gstate_ensure_scaled_font (gstate=0x7f945d7322d0) at ../cairo/src/cairo-gstate.c:1917
status = <optimized out>
options = {
antialias = CAIRO_ANTIALIAS_DEFAULT,
subpixel_order = CAIRO_SUBPIXEL_ORDER_DEFAULT,
lcd_filter = CAIRO_LCD_FILTER_DEFAULT,
hint_style = CAIRO_HINT_STYLE_DEFAULT,
hint_metrics = CAIRO_HINT_METRICS_ON,
round_glyph_positions = CAIRO_ROUND_GLYPH_POS_ON,
variations = 0x0,
color_mode = CAIRO_COLOR_MODE_DEFAULT,
palette_index = 0,
custom_palette = 0x0,
custom_palette_size = 0
}
scaled_font = <optimized out>
font_ctm = {
xx = 1.2540135323218544,
yx = 0,
xy = 0,
yy = -1.2567707606035441,
x0 = 0,
y0 = 342
}
status = <optimized out>
#11 _cairo_gstate_ensure_scaled_font (gstate=gstate@entry=0x7f945d7322d0) at ../cairo/src/cairo-gstate.c:1896
status = <optimized out>
#12 0x00007f94a399440e in _cairo_gstate_show_text_glyphs (gstate=0x7f945d7322d0, glyphs=0x7f945e8ea140, num_glyphs=<optimized out>, info=0x0) at ../cairo/src/cairo-gstate.c:2006
stack_transformed_glyphs = {{
index = 0,
x = 0,
y = 0
}, {
index = 0,
x = 1.3906711615670058e-309,
y = 0
}, {
index = 0,
x = 6.9305728545387356e-310,
y = 6.930572854522135e-310
}, {
index = 140276356257104,
x = 6.9305728561679665e-310,
y = 6.9305728561750811e-310
}, {
index = 140276356256976,
x = 6.9305728561798241e-310,
y = 6.9305728545252971e-310
}, {
index = 10747904,
x = 1.2271673656857883e-316,
y = 0
}, {
index = 0,
x = 0,
y = 0
} <repeats 79 times>}
stack_transformed_clusters = {{
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = -1556330877,
num_glyphs = 32660
}, {
num_bytes = -1570556240,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1862251872,
num_glyphs = 32660
}, {
num_bytes = 1588014416,
num_glyphs = 32660
}, {
num_bytes = 2,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1588014416,
num_glyphs = 32660
}, {
num_bytes = 2,
num_glyphs = 0
}, {
num_bytes = 1,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1862251872,
num_glyphs = 32660
}, {
num_bytes = -1570556240,
num_glyphs = 32660
}, {
num_bytes = -1556330810,
num_glyphs = 32660
}, {
num_bytes = -1570556240,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1553440695,
num_glyphs = 32660
}, {
num_bytes = 1862251872,
num_glyphs = 32660
}, {
num_bytes = 1588014408,
num_glyphs = 32660
}, {
num_bytes = 2,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1588014408,
num_glyphs = 32660
}, {
num_bytes = 3,
num_glyphs = 0
}, {
num_bytes = 3,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1862251872,
num_glyphs = 32660
}, {
num_bytes = -1570556240,
num_glyphs = 32660
}, {
num_bytes = -1556330877,
num_glyphs = 32660
}, {
num_bytes = -1570556240,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1862251872,
num_glyphs = 32660
}, {
num_bytes = 1588014384,
num_glyphs = 32660
}, {
num_bytes = 6,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1862251968,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 8,
num_glyphs = 0
}, {
num_bytes = -1570556240,
num_glyphs = 32660
}, {
num_bytes = -1556329613,
num_glyphs = 32660
}, {
num_bytes = 124,
num_glyphs = 6
}, {
num_bytes = 8594,
num_glyphs = 4
}, {
num_bytes = 8722,
num_glyphs = 1
}, {
num_bytes = 8727,
num_glyphs = 2
}, {
num_bytes = 8734,
num_glyphs = 5
}, {
num_bytes = 8804,
num_glyphs = 3
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 6,
num_glyphs = 0
}, {
num_bytes = 1588014384,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 8,
num_glyphs = 0
}, {
num_bytes = 1,
num_glyphs = 0
}, {
num_bytes = -1570556240,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1862251760,
num_glyphs = 32660
}, {
num_bytes = -908787456,
num_glyphs = -1286079924
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 6,
num_glyphs = 0
}, {
num_bytes = 6,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = -1570405984,
num_glyphs = 32660
}, {
num_bytes = 3,
num_glyphs = 0
}, {
num_bytes = 1553451600,
num_glyphs = 32660
}, {
num_bytes = -1570553836,
num_glyphs = 32660
}, {
num_bytes = 1584588176,
num_glyphs = 32660
}, {
num_bytes = -1570605952,
num_glyphs = 32660
}, {
num_bytes = 1588014432,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1862252112,
num_glyphs = 32660
}, {
num_bytes = 17,
num_glyphs = 0
}, {
num_bytes = 1543865136,
num_glyphs = 32660
}, {
num_bytes = 1553451600,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1543504016,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 3968,
num_glyphs = 0
}, {
num_bytes = 1543503920,
num_glyphs = 32660
}, {
num_bytes = 3952,
num_glyphs = 0
}, {
num_bytes = 98,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = -1570259008,
num_glyphs = 32660
}, {
num_bytes = -1555964456,
num_glyphs = 32660
}, {
num_bytes = 1553451600,
num_glyphs = 32660
}, {
num_bytes = 1583385216,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 32660
}, {
num_bytes = 1,
num_glyphs = 0
}, {
num_bytes = 1583388368,
num_glyphs = 32660
}, {
num_bytes = 1583387592,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1584588576,
num_glyphs = 32660
}, {
num_bytes = 4,
num_glyphs = 0
}, {
num_bytes = -1570737360,
num_glyphs = 32660
}, {
num_bytes = 1584588488,
num_glyphs = 32660
}, {
num_bytes = 1583385216,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 2,
num_glyphs = 0
}, {
num_bytes = -1570723631,
num_glyphs = 32660
}, {
num_bytes = 1,
num_glyphs = 0
}, {
num_bytes = -1570723397,
num_glyphs = 32660
}, {
num_bytes = 1862252448,
num_glyphs = 32660
}, {
num_bytes = 1584588548,
num_glyphs = 32660
}, {
num_bytes = 1584588576,
num_glyphs = 32660
}, {
num_bytes = 1583386040,
num_glyphs = 32660
}, {
num_bytes = 1584588528,
num_glyphs = 32660
}, {
num_bytes = 1584588500,
num_glyphs = 32660
}, {
num_bytes = 1543503920,
num_glyphs = 32660
}, {
num_bytes = 1545044688,
num_glyphs = 32660
}, {
num_bytes = 1862252720,
num_glyphs = 32660
}, {
num_bytes = 1543865136,
num_glyphs = 32660
}, {
num_bytes = 1545044688,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = -1570259008,
num_glyphs = 32660
}, {
num_bytes = -1570942300,
num_glyphs = 32660
}, {
num_bytes = 1583385216,
num_glyphs = 32660
}, {
num_bytes = -908787456,
num_glyphs = -1286079924
}, {
num_bytes = 1584588176,
num_glyphs = 32660
}, {
num_bytes = -1571037032,
num_glyphs = 32660
}, {
num_bytes = 1574746256,
num_glyphs = 32660
}, {
num_bytes = 1574746256,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = -908787456,
num_glyphs = -1286079924
}, {
num_bytes = 2,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1543777664,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1584588176,
num_glyphs = 32660
}, {
num_bytes = 1543854880,
num_glyphs = 32660
}, {
num_bytes = 1862253200,
num_glyphs = 32660
}, {
num_bytes = -1571033989,
num_glyphs = 32660
}, {
num_bytes = 1862252784,
num_glyphs = 32660
}, {
num_bytes = 1862252545,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1543854688,
num_glyphs = 32660
}, {
num_bytes = 1862252704,
num_glyphs = 32660
}, {
num_bytes = 1548327056,
num_glyphs = 32660
}, {
num_bytes = 1543865136,
num_glyphs = 32660
}, {
num_bytes = 1,
num_glyphs = 32660
}, {
num_bytes = 1862252784,
num_glyphs = 32660
}, {
num_bytes = 1851855170,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 32660
}, {
num_bytes = 236723968,
num_glyphs = 21856
}, {
num_bytes = 1584540080,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 239273856,
num_glyphs = 21856
}, {
num_bytes = 1584540080,
num_glyphs = 32660
}, {
num_bytes = -1550230261,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1584588176,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = -1549788296,
num_glyphs = 32660
}, {
num_bytes = 184,
num_glyphs = 0
}, {
num_bytes = 1862253176,
num_glyphs = 32660
}, {
num_bytes = 184,
num_glyphs = 1
}, {
num_bytes = 1830702864,
num_glyphs = 69795208
}, {
num_bytes = 128,
num_glyphs = 0
}, {
num_bytes = 1850661843,
num_glyphs = 32660
}, {
num_bytes = 1830708245,
num_glyphs = 69795208
}, {
num_bytes = 1851780854,
num_glyphs = 32660
}, {
num_bytes = 1553543456,
num_glyphs = 32660
}, {
num_bytes = 1,
num_glyphs = 32660
}, {
num_bytes = 1584588176,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 0,
num_glyphs = 32660
}, {
num_bytes = 1851751169,
num_glyphs = 32660
}, {
num_bytes = 1553544728,
num_glyphs = 32660
}, {
num_bytes = 1553510640,
num_glyphs = 32660
}, {
num_bytes = 134,
num_glyphs = 0
}, {
num_bytes = 1851769391,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = 1585137360,
num_glyphs = 32660
}, {
num_bytes = 0,
num_glyphs = 0
}, {
num_bytes = -908787456,
num_glyphs = -1286079924
}, {
num_bytes = 5,
num_glyphs = 0
}, {
num_bytes = -120,
num_glyphs = -1
}, {
num_bytes = 11,
num_glyphs = 0
}, {
num_bytes = 1589232528,
num_glyphs = 32660
}, {
num_bytes = 1588409040,
num_glyphs = 32660
}, {
num_bytes = -908787456,
num_glyphs = -1286079924
}, {
num_bytes = 1543852784,
num_glyphs = 32660
}, {
num_bytes = -120,
num_glyphs = -1
}, {
num_bytes = 11,
num_glyphs = 0
}, {
num_bytes = 1589232528,
num_glyphs = 32660
}...}
source_pattern = {
base = {
ref_count = {
ref_count = 0
},
status = CAIRO_STATUS_SUCCESS,
user_data = {
size = 0,
num_elements = 0,
element_size = 24,
elements = 0x0
},
observers = {
next = 0x7f946effa860,
prev = 0x7f946effa860
},
type = CAIRO_PATTERN_TYPE_SOLID,
filter = CAIRO_FILTER_GOOD,
extend = CAIRO_EXTEND_PAD,
has_component_alpha = 0,
is_foreground_marker = 0,
matrix = {
xx = 0.79743956043956032,
yx = 0,
xy = 0,
yy = -0.79569005847953211,
x0 = 0,
y0 = 272.12599999999998
},
opacity = 1
},
solid = {
base = {
ref_count = {
ref_count = 0
},
status = CAIRO_STATUS_SUCCESS,
user_data = {
size = 0,
num_elements = 0,
element_size = 24,
elements = 0x0
},
observers = {
next = 0x7f946effa860,
prev = 0x7f946effa860
},
type = CAIRO_PATTERN_TYPE_SOLID,
filter = CAIRO_FILTER_GOOD,
extend = CAIRO_EXTEND_PAD,
has_component_alpha = 0,
is_foreground_marker = 0,
matrix = {
xx = 0.79743956043956032,
yx = 0,
xy = 0,
yy = -0.79569005847953211,
x0 = 0,
y0 = 272.12599999999998
},
opacity = 1
},
color = {
red = 0,
green = 0,
blue = 0,
alpha = 1,
red_short = 0,
green_short = 0,
blue_short = 0,
alpha_short = 65535
}
},
surface = {
base = {
ref_count = {
ref_count = 0
},
status = CAIRO_STATUS_SUCCESS,
user_data = {
size = 0,
num_elements = 0,
element_size = 24,
elements = 0x0
},
observers = {
next = 0x7f946effa860,
prev = 0x7f946effa860
},
type = CAIRO_PATTERN_TYPE_SOLID,
filter = CAIRO_FILTER_GOOD,
extend = CAIRO_EXTEND_PAD,
has_component_alpha = 0,
is_foreground_marker = 0,
matrix = {
xx = 0.79743956043956032,
yx = 0,
xy = 0,
yy = -0.79569005847953211,
x0 = 0,
y0 = 272.12599999999998
},
opacity = 1
},
surface = 0x0,
region_array_id = 0
},
gradient = {
base = {
base = {
ref_count = {
ref_count = 0
},
status = CAIRO_STATUS_SUCCESS,
user_data = {
size = 0,
num_elements = 0,
element_size = 24,
elements = 0x0
},
observers = {
next = 0x7f946effa860,
prev = 0x7f946effa860
},
type = CAIRO_PATTERN_TYPE_SOLID,
filter = CAIRO_FILTER_GOOD,
extend = CAIRO_EXTEND_PAD,
has_component_alpha = 0,
is_foreground_marker = 0,
matrix = {
xx = 0.79743956043956032,
yx = 0,
xy = 0,
yy = -0.79569005847953211,
x0 = 0,
y0 = 272.12599999999998
},
opacity = 1
},
n_stops = 0,
stops_size = 0,
stops = 0x0,
stops_embedded = {{
offset = 0,
color = {
red = 1,
green = -nan(0xf000000000000),
blue = 6.9305302606081883e-310,
alpha = 0,
red_short = 0,
green_short = 0,
blue_short = 0,
alpha_short = 0
}
}, {
offset = 6.9305302606089788e-310,
color = {
red = 6.9305162901834831e-310,
green = 2.5296161067071823e-321,
blue = 8.8536563734751381e-321,
alpha = 6.6842867415406078e-312,
red_short = 250,
green_short = 0,
blue_short = 0,
alpha_short = 0
}
}}
},
linear = {
base = {
base = {
ref_count = {
ref_count = 0
},
status = CAIRO_STATUS_SUCCESS,
user_data = {
size = 0,
num_elements = 0,
element_size = 24,
elements = 0x0
},
observers = {
next = 0x7f946effa860,
prev = 0x7f946effa860
},
type = CAIRO_PATTERN_TYPE_SOLID,
filter = CAIRO_FILTER_GOOD,
extend = CAIRO_EXTEND_PAD,
has_component_alpha = 0,
is_foreground_marker = 0,
matrix = {
xx = 0.79743956043956032,
yx = 0,
xy = 0,
yy = -0.79569005847953211,
x0 = 0,
y0 = 272.12599999999998
},
opacity = 1
},
n_stops = 0,
stops_size = 0,
stops = 0x0,
stops_embedded = {{
offset = 0,
color = {
red = 1,
green = -nan(0xf000000000000),
blue = 6.9305302606081883e-310,
alpha = 0,
red_short = 0,
green_short = 0,
blue_short = 0,
alpha_short = 0
}
}, {
offset = 6.9305302606089788e-310,
color = {
red = 6.9305162901834831e-310,
green = 2.5296161067071823e-321,
blue = 8.8536563734751381e-321,
alpha = 6.6842867415406078e-312,
red_short = 250,
green_short = 0,
blue_short = 0,
alpha_short = 0
}
}}
},
pd1 = {
x = 6.9305302606113503e-310,
y = 0
},
pd2 = {
x = 7.9050503334599447e-321,
y = 1.6975966327722179e-313
}
},
radial = {
base = {
base = {
ref_count = {
ref_count = 0
},
status = CAIRO_STATUS_SUCCESS,
user_data = {
size = 0,
num_elements = 0,
element_size = 24,
elements = 0x0
},
observers = {
next = 0x7f946effa860,
prev = 0x7f946effa860
},
type = CAIRO_PATTERN_TYPE_SOLID,
filter = CAIRO_FILTER_GOOD,
extend = CAIRO_EXTEND_PAD,
has_component_alpha = 0,
is_foreground_marker = 0,
matrix = {
xx = 0.79743956043956032,
yx = 0,
xy = 0,
yy = -0.79569005847953211,
x0 = 0,
y0 = 272.12599999999998
},
opacity = 1
},
n_stops = 0,
stops_size = 0,
stops = 0x0,
stops_embedded = {{
offset = 0,
color = {
red = 1,
green = -nan(0xf000000000000),
blue = 6.9305302606081883e-310,
alpha = 0,
red_short = 0,
green_short = 0,
blue_short = 0,
alpha_short = 0
}
}, {
offset = 6.9305302606089788e-310,
color = {
red = 6.9305162901834831e-310,
green = 2.5296161067071823e-321,
blue = 8.8536563734751381e-321,
alpha = 6.6842867415406078e-312,
red_short = 250,
green_short = 0,
blue_short = 0,
alpha_short = 0
}
}}
},
cd1 = {
center = {
x = 6.9305302606113503e-310,
y = 0
},
radius = 7.9050503334599447e-321
},
cd2 = {
center = {
x = 1.6975966327722179e-313,
y = 6.9304382532932217e-310
},
radius = 6.9305164189148562e-310
}
}
},
mesh = {
base = {
ref_count = {
ref_count = 0
},
status = CAIRO_STATUS_SUCCESS,
user_data = {
size = 0,
num_elements = 0,
element_size = 24,
elements = 0x0
},
observers = {
next = 0x7f946effa860,
prev = 0x7f946effa860
},
type = CAIRO_PATTERN_TYPE_SOLID,
filter = CAIRO_FILTER_GOOD,
extend = CAIRO_EXTEND_PAD,
has_component_alpha = 0,
is_foreground_marker = 0,
matrix = {
xx = 0.79743956043956032,
yx = 0,
xy = 0,
yy = -0.79569005847953211,
x0 = 0,
y0 = 272.12599999999998
},
opacity = 1
},
patches = {
size = 0,
num_elements = 0,
element_size = 0,
elements = 0x0
},
current_patch = 0x3ff0000000000000,
current_side = 0,
has_control_point = {-65536, 1862248800, 32660, 0},
has_color = {0, 0, 0, 1862248816}
},
raster_source = {
base = {
ref_count = {
ref_count = 0
},
status = CAIRO_STATUS_SUCCESS,
user_data = {
size = 0,
num_elements = 0,
element_size = 24,
elements = 0x0
},
observers = {
next = 0x7f946effa860,
prev = 0x7f946effa860
},
type = CAIRO_PATTERN_TYPE_SOLID,
filter = CAIRO_FILTER_GOOD,
extend = CAIRO_EXTEND_PAD,
has_component_alpha = 0,
is_foreground_marker = 0,
matrix = {
xx = 0.79743956043956032,
yx = 0,
xy = 0,
yy = -0.79569005847953211,
x0 = 0,
y0 = 272.12599999999998
},
opacity = 1
},
content = 0,
extents = {
x = 0,
y = 0,
width = 0,
height = 0
},
acquire = 0x3ff0000000000000,
release = 0xffff000000000000,
snapshot = 0x7f946effa960,
copy = 0x0,
finish = 0x0,
user_data = 0x7f946effa970
}
}
transformed_glyphs = <optimized out>
pattern = <optimized out>
transformed_clusters = <optimized out>
op = <optimized out>
status = CAIRO_STATUS_SUCCESS
#13 0x00007f94a39e6b96 in cairo_show_glyphs (num_glyphs=<optimized out>, glyphs=<optimized out>, cr=0x55600e93f080) at ../cairo/src/cairo.c:3687
status = <optimized out>
#14 cairo_show_glyphs (cr=0x55600e93f080, glyphs=<optimized out>, num_glyphs=<optimized out>) at ../cairo/src/cairo.c:3667
#15 0x00007f94866c0980 in CairoOutputDev::endString(GfxState*) (state=<optimized out>, this=0x7f945c058090) at /usr/src/debug/poppler/poppler-23.05.0/poppler/CairoOutputDev.cc:1553
render = <optimized out>
#16 CairoOutputDev::endString(GfxState*) (this=0x7f945c058090, state=<optimized out>) at /usr/src/debug/poppler/poppler-23.05.0/poppler/CairoOutputDev.cc:1519
#17 0x00007f946e5787e9 in Gfx::doShowText(GooString const*) (this=this@entry=0x7f945e937030, s=0x7f945da23d60) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:4033
wMode = <optimized out>
riseX = 0
riseY = 0
code = 0
u = 0x7f945e72bc40
x = <optimized out>
y = <optimized out>
dx = 5.7564288000000001
dy = 0
dx2 = 6.9305166139103138e-310
dy2 = 0
curX = <optimized out>
curY = <optimized out>
tdx = <optimized out>
tdy = <optimized out>
ddx = <optimized out>
ddy = <optimized out>
originX = 0
originY = 0
tOriginX = <optimized out>
tOriginY = <optimized out>
x0 = 153.786
y0 = 202.26900000000001
x1 = <optimized out>
y1 = <optimized out>
tmp = {<optimized out>, <optimized out>, <optimized out>, <optimized out>}
newCTM = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>}
oldCTM = <optimized out>
mat = <optimized out>
resDict = <optimized out>
oldParser = <optimized out>
savedState = <optimized out>
p = <optimized out>
render = <optimized out>
patternFill = false
len = <optimized out>
n = <optimized out>
uLen = 1
nChars = <optimized out>
nSpaces = <optimized out>
font = 0x7f945c92f990
#18 0x00007f946e579a7e in Gfx::opShowSpaceText(Object*, int) (this=0x7f945e937030, args=0x7f946effbed0, numArgs=<optimized out>) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:3808
obj = {
type = objString,
{
booln = 96,
intg = 1570913632,
int64g = 140275202800992,
real = 6.9305158667383949e-310,
string = 0x7f945da23d60,
cString = 0x7f945da23d60 "p=\242]\224\177",
array = 0x7f945da23d60,
dict = 0x7f945da23d60,
stream = 0x7f945da23d60,
ref = {
num = 1570913632,
gen = 32660
}
}
}
wMode = 0
i = 0
#19 0x00007f946e56bbfc in Gfx::go(bool) (this=this@entry=0x7f945e937030, topLevel=topLevel@entry=true) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:684
timer = 0x0
obj = {
type = objCmd,
{
booln = 176,
intg = 1588852400,
int64g = 140275220739760,
real = 6.9305167530312946e-310,
string = 0x7f945eb3f6b0,
cString = 0x7f945eb3f6b0 "TJ",
array = 0x7f945eb3f6b0,
dict = 0x7f945eb3f6b0,
stream = 0x7f945eb3f6b0,
ref = {
num = 1588852400,
gen = 32660
}
}
}
args = {{
type = objArray,
{
booln = 80,
intg = 1586036560,
int64g = 140275217923920,
real = 6.9305166139103138e-310,
string = 0x7f945e88ff50,
cString = 0x7f945e88ff50 "0U\005\\\224\177",
array = 0x7f945e88ff50,
dict = 0x7f945e88ff50,
stream = 0x7f945e88ff50,
ref = {
num = 1586036560,
gen = 32660
}
}
}, {
type = objNull,
{
booln = 202,
intg = -1236950582,
int64g = -4598318208833445430,
real = -15.745999999999999,
string = 0xc02f7df3b645a1ca,
cString = 0xc02f7df3b645a1ca <error: Cannot access memory at address 0xc02f7df3b645a1ca>,
array = 0xc02f7df3b645a1ca,
dict = 0xc02f7df3b645a1ca,
stream = 0xc02f7df3b645a1ca,
ref = {
num = -1236950582,
gen = -1070629389
}
}
}, {
type = objNull,
{
booln = false,
intg = 0,
int64g = 140273631887360,
real = 6.9304382532925794e-310,
string = 0x7f9400000000,
cString = 0x7f9400000000 <error: Cannot access memory at address 0x7f9400000000>,
array = 0x7f9400000000,
dict = 0x7f9400000000,
stream = 0x7f9400000000,
ref = {
num = 0,
gen = 32660
}
}
}, {
type = objNull,
{
booln = true,
intg = 1,
int64g = 140273631887361,
real = 6.9304382532926288e-310,
string = 0x7f9400000001,
cString = 0x7f9400000001 <error: Cannot access memory at address 0x7f9400000001>,
array = 0x7f9400000001,
dict = 0x7f9400000001,
stream = 0x7f9400000001,
ref = {
num = 1,
gen = 32660
}
}
}, {
type = objNull,
{
booln = 224,
intg = -1752346656,
int64g = 4639176483134066656,
real = 141.32600000000002,
string = 0x4061aa6e978d4fe0,
cString = 0x4061aa6e978d4fe0 <error: Cannot access memory at address 0x4061aa6e978d4fe0>,
array = 0x4061aa6e978d4fe0,
dict = 0x4061aa6e978d4fe0,
stream = 0x4061aa6e978d4fe0,
ref = {
num = -1752346656,
gen = 1080142446
}
}
}, {
type = objNull,
{
booln = 14,
intg = -1649267442,
int64g = 4641649838938795278,
real = 211.62299999999999,
string = 0x406a73ef9db22d0e,
cString = 0x406a73ef9db22d0e <error: Cannot access memory at address 0x406a73ef9db22d0e>,
array = 0x406a73ef9db22d0e,
dict = 0x406a73ef9db22d0e,
stream = 0x406a73ef9db22d0e,
ref = {
num = -1649267442,
gen = 1080718319
}
}
}, {
type = objNone,
{
booln = 244,
intg = 1552647668,
int64g = 140275184535028,
real = 6.9305149642798648e-310,
string = 0x7f945c8b85f4,
cString = 0x7f945c8b85f4 "\224\177",
array = 0x7f945c8b85f4,
dict = 0x7f945c8b85f4,
stream = 0x7f945c8b85f4,
ref = {
num = 1552647668,
gen = 32660
}
}
}, {
type = objNone,
{
booln = 6,
intg = 6,
int64g = 4634766966517661702,
real = 72.000000000000085,
string = 0x4052000000000006,
cString = 0x4052000000000006 <error: Cannot access memory at address 0x4052000000000006>,
array = 0x4052000000000006,
dict = 0x4052000000000006,
stream = 0x4052000000000006,
ref = {
num = 6,
gen = 1079115776
}
}
}, {
type = objNone,
{
booln = false,
intg = 0,
int64g = 25769803776,
real = 1.2731974745791634e-313,
string = 0x600000000,
cString = 0x600000000 <error: Cannot access memory at address 0x600000000>,
array = 0x600000000,
dict = 0x600000000,
stream = 0x600000000,
ref = {
num = 0,
gen = 6
}
}
}, {
type = objNone,
{
booln = 4,
intg = 4,
int64g = 12884901892,
real = 6.3659873748720795e-314,
string = 0x300000004,
cString = 0x300000004 <error: Cannot access memory at address 0x300000004>,
array = 0x300000004,
dict = 0x300000004,
stream = 0x300000004,
ref = {
num = 4,
gen = 3
}
}
}, {
type = objNone,
{
booln = 3,
intg = 3,
int64g = 3,
real = 1.4821969375237396e-323,
string = 0x3,
cString = 0x3 <error: Cannot access memory at address 0x3>,
array = 0x3,
dict = 0x3,
stream = 0x3,
ref = {
num = 3,
gen = 0
}
}
}, {
type = objNone,
{
booln = false,
intg = 0,
int64g = 0,
real = 0,
string = 0x0,
cString = 0x0,
array = 0x0,
dict = 0x0,
stream = 0x0,
ref = {
num = 0,
gen = 0
}
}
}, {
type = objNone,
{
booln = false,
intg = -908787456,
int64g = -5523671210235985664,
real = -2.3314657225507209e-61,
string = 0xb357fa4cc9d50100,
cString = 0xb357fa4cc9d50100 <error: Cannot access memory at address 0xb357fa4cc9d50100>,
array = 0xb357fa4cc9d50100,
dict = 0xb357fa4cc9d50100,
stream = 0xb357fa4cc9d50100,
ref = {
num = -908787456,
gen = -1286079924
}
}
}, {
type = objNone,
{
booln = 240,
intg = 1552647664,
int64g = 140275184535024,
real = 6.9305149642796672e-310,
string = 0x7f945c8b85f0,
cString = 0x7f945c8b85f0 "",
array = 0x7f945c8b85f0,
dict = 0x7f945c8b85f0,
stream = 0x7f945c8b85f0,
ref = {
num = 1552647664,
gen = 32660
}
}
}, {
type = objNone,
{
booln = 152,
intg = 1576753304,
int64g = 140275208640664,
real = 6.9305161552565267e-310,
string = 0x7f945dfb5898,
cString = 0x7f945dfb5898 "\b",
array = 0x7f945dfb5898,
dict = 0x7f945dfb5898,
stream = 0x7f945dfb5898,
ref = {
num = 1576753304,
gen = 32660
}
}
}, {
type = objNone,
{
booln = 170,
intg = 1576753322,
int64g = 140275208640682,
real = 6.930516155257416e-310,
string = 0x7f945dfb58aa,
cString = 0x7f945dfb58aa "28",
array = 0x7f945dfb58aa,
dict = 0x7f945dfb58aa,
stream = 0x7f945dfb58aa,
ref = {
num = 1576753322,
gen = 32660
}
}
}, {
type = objNone,
{
booln = 26,
intg = 1851770906,
int64g = 140275483658266,
real = 6.9305297429314417e-310,
string = 0x7f946e5fc81a <FlateStream::getChar()+122>,
cString = 0x7f946e5fc81a <FlateStream::getChar()+122> "\213\203$\200",
array = 0x7f946e5fc81a <FlateStream::getChar()+122>,
dict = 0x7f946e5fc81a <FlateStream::getChar()+122>,
stream = 0x7f946e5fc81a <FlateStream::getChar()+122>,
ref = {
num = 1851770906,
gen = 32660
}
}
}, {
type = objNone,
{
booln = 128,
intg = 1576753280,
int64g = 140275208640640,
real = 6.9305161552553409e-310,
string = 0x7f945dfb5880,
cString = 0x7f945dfb5880 " ",
array = 0x7f945dfb5880,
dict = 0x7f945dfb5880,
stream = 0x7f945dfb5880,
ref = {
num = 1576753280,
gen = 32660
}
}
}, {
type = objNone,
{
booln = 159,
intg = 1851538079,
int64g = 140275483425439,
real = 6.9305297314282595e-310,
string = 0x7f946e5c3a9f <Lexer::getChar(bool)+79>,
cString = 0x7f946e5c3a9f <Lexer::getChar(bool)+79> "\203\370\377\017\205", <incomplete sequence \306>,
array = 0x7f946e5c3a9f <Lexer::getChar(bool)+79>,
dict = 0x7f946e5c3a9f <Lexer::getChar(bool)+79>,
stream = 0x7f946e5c3a9f <Lexer::getChar(bool)+79>,
ref = {
num = 1851538079,
gen = 32660
}
}
}, {
type = objNone,
{
booln = 159,
intg = 1851538079,
int64g = 140275483425439,
real = 6.9305297314282595e-310,
string = 0x7f946e5c3a9f <Lexer::getChar(bool)+79>,
cString = 0x7f946e5c3a9f <Lexer::getChar(bool)+79> "\203\370\377\017\205", <incomplete sequence \306>,
array = 0x7f946e5c3a9f <Lexer::getChar(bool)+79>,
dict = 0x7f946e5c3a9f <Lexer::getChar(bool)+79>,
stream = 0x7f946e5c3a9f <Lexer::getChar(bool)+79>,
ref = {
num = 1851538079,
gen = 32660
}
}
}, {
type = objNone,
{
booln = false,
intg = -908787456,
int64g = -5523671210235985664,
real = -2.3314657225507209e-61,
string = 0xb357fa4cc9d50100,
cString = 0xb357fa4cc9d50100 <error: Cannot access memory at address 0xb357fa4cc9d50100>,
array = 0xb357fa4cc9d50100,
dict = 0xb357fa4cc9d50100,
stream = 0xb357fa4cc9d50100,
ref = {
num = -908787456,
gen = -1286079924
}
}
}, {
type = objNone,
{
booln = 2,
intg = 2,
int64g = 2,
real = 9.8813129168249309e-324,
string = 0x2,
cString = 0x2 <error: Cannot access memory at address 0x2>,
array = 0x2,
dict = 0x2,
stream = 0x2,
ref = {
num = 2,
gen = 0
}
}
}, {
type = objNone,
{
booln = 144,
intg = 1850677136,
int64g = 140275482564496,
real = 6.9305296888920235e-310,
string = 0x7f946e4f1790 <copyString(char const*)+32>,
cString = 0x7f946e4f1790 <copyString(char const*)+32> "H\205\300\017\204P\377\375\377H\203\304\bH\211\352H\211\336H\211\307[]\377%\252'-",
array = 0x7f946e4f1790 <copyString(char const*)+32>,
dict = 0x7f946e4f1790 <copyString(char const*)+32>,
stream = 0x7f946e4f1790 <copyString(char const*)+32>,
ref = {
num = 1850677136,
gen = 32660
}
}
}, {
type = objNone,
{
booln = 169,
intg = 1576753321,
int64g = 140275208640681,
real = 6.9305161552573666e-310,
string = 0x7f945dfb58a9,
cString = 0x7f945dfb58a9 "F28",
array = 0x7f945dfb58a9,
dict = 0x7f945dfb58a9,
stream = 0x7f945dfb58a9,
ref = {
num = 1576753321,
gen = 32660
}
}
}, {
type = objNone,
{
booln = 24,
intg = 1851541016,
int64g = 140275483428376,
real = 6.9305297315733665e-310,
string = 0x7f946e5c4618 <Lexer::getObj(int)+2472>,
cString = 0x7f946e5c4618 <Lexer::getObj(int)+2472> "I\211D$\b\351\336\366\377\377\277 ",
array = 0x7f946e5c4618 <Lexer::getObj(int)+2472>,
dict = 0x7f946e5c4618 <Lexer::getObj(int)+2472>,
stream = 0x7f946e5c4618 <Lexer::getObj(int)+2472>,
ref = {
num = 1851541016,
gen = 32660
}
}
}, {
type = objNone,
{
booln = false,
intg = 0,
int64g = 0,
real = 0,
string = 0x0,
cString = 0x0,
array = 0x0,
dict = 0x0,
stream = 0x0,
ref = {
num = 0,
gen = 0
}
}
}, {
type = objNone,
{
booln = 139,
intg = 1851768459,
int64g = 140275483655819,
real = 6.9305297428105438e-310,
string = 0x7f946e5fbe8b <FlateStream::reset()+75>,
cString = 0x7f946e5fbe8b <FlateStream::reset()+75> "\203\375\377tt\203\370\377to\211\352\203\342\017\203\372\btAH\213\003H\215\025\207'\366\377H\213@hH9\320\017\205\272",
array = 0x7f946e5fbe8b <FlateStream::reset()+75>,
dict = 0x7f946e5fbe8b <FlateStream::reset()+75>,
stream = 0x7f946e5fbe8b <FlateStream::reset()+75>,
ref = {
num = 1851768459,
gen = 32660
}
}
}, {
type = objNone,
{
booln = 128,
intg = 1576753280,
int64g = 140275208640640,
real = 6.9305161552553409e-310,
string = 0x7f945dfb5880,
cString = 0x7f945dfb5880 " ",
array = 0x7f945dfb5880,
dict = 0x7f945dfb5880,
stream = 0x7f945dfb5880,
ref = {
num = 1576753280,
gen = 32660
}
}
}, {
type = objNone,
{
booln = 97,
intg = 1851553889,
int64g = 140275483441249,
real = 6.9305297322093772e-310,
string = 0x7f946e5c7861 <Lexer::Lexer(XRef*, Object*)+241>,
cString = 0x7f946e5c7861 <Lexer::Lexer(XRef*, Object*)+241> "\353\207\017\037D",
array = 0x7f946e5c7861 <Lexer::Lexer(XRef*, Object*)+241>,
dict = 0x7f946e5c7861 <Lexer::Lexer(XRef*, Object*)+241>,
stream = 0x7f946e5c7861 <Lexer::Lexer(XRef*, Object*)+241>,
ref = {
num = 1851553889,
gen = 32660
}
}
}, {
type = objNone,
{
booln = false,
intg = -908787456,
int64g = -5523671210235985664,
real = -2.3314657225507209e-61,
string = 0xb357fa4cc9d50100,
cString = 0xb357fa4cc9d50100 <error: Cannot access memory at address 0xb357fa4cc9d50100>,
array = 0xb357fa4cc9d50100,
dict = 0xb357fa4cc9d50100,
stream = 0xb357fa4cc9d50100,
ref = {
num = -908787456,
gen = -1286079924
}
}
}, {
type = objNone,
{
booln = 128,
intg = 1576753280,
int64g = 140275208640640,
real = 6.9305161552553409e-310,
string = 0x7f945dfb5880,
cString = 0x7f945dfb5880 " ",
array = 0x7f945dfb5880,
dict = 0x7f945dfb5880,
stream = 0x7f945dfb5880,
ref = {
num = 1576753280,
gen = 32660
}
}
}, {
type = objNone,
{
booln = 128,
intg = 1576753280,
int64g = 140275208640640,
real = 6.9305161552553409e-310,
string = 0x7f945dfb5880,
cString = 0x7f945dfb5880 " ",
array = 0x7f945dfb5880,
dict = 0x7f945dfb5880,
stream = 0x7f945dfb5880,
ref = {
num = 1576753280,
gen = 32660
}
}
}, {
type = objNone,
{
booln = 64,
intg = 1576753472,
int64g = 140275208640832,
real = 6.930516155264827e-310,
string = 0x7f945dfb5940,
cString = 0x7f945dfb5940 "\004",
array = 0x7f945dfb5940,
dict = 0x7f945dfb5940,
stream = 0x7f945dfb5940,
ref = {
num = 1576753472,
gen = 32660
}
}
}}
numArgs = 1
i = <optimized out>
lastAbortCheck = 0
#20 0x00007f946e56c797 in Gfx::display(Object*, bool) (this=0x7f945e937030, obj=0x7f946effc1e0, topLevel=true) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Gfx.cc:645
#21 0x00007f946e5d94c2 in Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool)
(this=0x7f945c0af980, out=0x7f945c058090, hDPI=72, vDPI=72, rotate=<optimized out>, useMediaBox=false, crop=true, sliceX=-1, sliceY=-1, sliceW=-1, sliceH=-1, printing=false, abortCheckCbk=0x0, abortCheckCbkData=0x0, annotDisplayDecideCbk=0x0, annotDisplayDecideCbkData=0x0, copyXRef=false) at /usr/src/debug/poppler/poppler-23.05.0/poppler/Page.cc:584
gfx = 0x7f945e937030
annotList = <optimized out>
localXRef = <optimized out>
obj = {
type = objStream,
{
booln = 240,
intg = 1552647664,
int64g = 140275184535024,
real = 6.9305149642796672e-310,
string = 0x7f945c8b85f0,
cString = 0x7f945c8b85f0 "",
array = 0x7f945c8b85f0,
dict = 0x7f945c8b85f0,
stream = 0x7f945c8b85f0,
ref = {
num = 1552647664,
gen = 32660
}
}
}
#22 0x00007f94866a8822 in _poppler_page_render(PopplerPage*, cairo_t*, bool, PopplerPrintFlags) (page=0x7f945c0fdb70, cairo=0x55600e93f080, printing=<optimized out>, print_flags=<optimized out>)
at /usr/src/debug/poppler/poppler-23.05.0/glib/poppler-page.cc:331
output_dev = 0x7f945c058090
#23 0x00007f948673b42b in pdf_page_render (page=page@entry=0x7f945c0fdb70, width=455, height=342, rc=rc@entry=0x7f945dd3d7b0) at ../evince/backend/pdf/ev-poppler.c:431
surface = 0x7f945e650f00
cr = 0x55600e93f080
page_width = 362.83499999999998
page_height = 272.12599999999998
xscale = 1.2540135323218544
yscale = 1.2567707606035441
#24 0x00007f948673b565 in pdf_document_render (document=<optimized out>, rc=0x7f945dd3d7b0) at ../evince/backend/pdf/ev-poppler.c:457
poppler_page = 0x7f945c0fdb70
width_points = 362.83499999999998
height_points = 272.12599999999998
width = 455
height = 342
#25 0x00007f94a46b4a06 in ev_job_render_run (job=0x55600e59a700) at ../evince/libview/ev-jobs.c:645
job_render = 0x55600e59a700
ev_page = 0x7f945dd3e340
rc = 0x7f945dd3d7b0
#26 0x00007f94a46b46b9 in ev_job_thread (job=0x55600e59a700) at ../evince/libview/ev-job-scheduler.c:184
result = <optimized out>
job = 0x55600e813c10
#27 ev_job_thread_proxy (data=<optimized out>) at ../evince/libview/ev-job-scheduler.c:217
job = 0x55600e813c10
#28 0x00007f94a4501cc5 in g_thread_proxy (data=0x55600e598c40) at ../glib/glib/gthread.c:831
thread = 0x55600e598c40
__func__ = "g_thread_proxy"
#29 0x00007f94a340e44b in start_thread (arg=<optimized out>) at pthread_create.c:444
ret = <optimized out>
pd = <optimized out>
unwind_buf = {
cancel_jmp_buf = {{
jmp_buf = {140276370825584, -7755693255285585821, -120, 0, 140732221174400, 140275485757440, 7743627216013969507, 7743790655560435811},
mask_was_saved = 0
}},
priv = {
pad = {0x0, 0x0, 0x0, 0x0},
data = {
prev = 0x0,
cleanup = 0x0,
canceltype = 0
}
}
}
not_first_call = <optimized out>
#30 0x00007f94a3491e40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
```
</details>
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1399
crash in pdftohtml
2023-05-17T21:05:35Z
pwnhacker0x18
crash in pdftohtml
```Internal Error (0): Call to Object where the object was type 10, not the expected type 7```
```
[#0] 0x7ffff7296a7c -> __pthread_kill_implementation(no_tid=0x0, signo=0x6, threadid=0x7ffff7831c80)
[#1] 0x7ffff7296a7c -> __pthread_kill...
```Internal Error (0): Call to Object where the object was type 10, not the expected type 7```
```
[#0] 0x7ffff7296a7c -> __pthread_kill_implementation(no_tid=0x0, signo=0x6, threadid=0x7ffff7831c80)
[#1] 0x7ffff7296a7c -> __pthread_kill_internal(signo=0x6, threadid=0x7ffff7831c80)
[#2] 0x7ffff7296a7c -> __GI___pthread_kill(threadid=0x7ffff7831c80, signo=0x6)
[#3] 0x7ffff7242476 -> __GI_raise(sig=0x6)
[#4] 0x7ffff72287f3 -> __GI_abort()
[#5] 0x7ffff7d21c83 -> Object::dictLookupNF(this=0x7fffffffdba8, key=<optimized out>)
[#6] 0x7ffff7d21c83 -> OutlineItem::open(this=0x5555557bb9b0)
[#7] 0x5555555776f7 -> HtmlOutputDev::newHtmlOutlineLevel(this=0x5555557bc140, output=<optimized out>, outlines=<optimized out>, level=<optimized out>)
[#8] 0x555555567537 -> HtmlOutputDev::dumpDocOutline(this=0x5555557bc140, doc=0x5555557b9ef0)
[#9] 0x555555567537 -> main(argc=<optimized out>, argv=<optimized out>)
```
PoC:[crash](/uploads/c12a7ec66be6993d6f3698d5680d59e5/crash)
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1398
Poppler fails to build due to missing stdio.h include for libjpeg
2023-05-16T18:52:20Z
Jordan Abrahams-Whitehead
Poppler fails to build due to missing stdio.h include for libjpeg
When building Poppler with upstream LLVM hash `14f0776550b5a49e1c42f49a00213f7f3fa047bf`, `jpeglib.h` is unable to be built.
To quote our logs for building ChromeOS
```
/usr/bin/x86_64-cros-linux-gnu-clang++ -Dpoppler_EXPORTS -I/build/a...
When building Poppler with upstream LLVM hash `14f0776550b5a49e1c42f49a00213f7f3fa047bf`, `jpeglib.h` is unable to be built.
To quote our logs for building ChromeOS
```
/usr/bin/x86_64-cros-linux-gnu-clang++ -Dpoppler_EXPORTS -I/build/amd64-generic/tmp/portage/app-text/poppler-23.01.0/work/poppler-23.01.0 -I/build/amd64-generic/tmp/portage/app-text/poppler-23.01.0/work/poppler-23.01.0/fofi -I/build/amd64-generic/tmp/portage/app-text/poppler-23.01.0/work/poppler-23.01.0/goo -I/build/amd64-generic/tmp/portage/app-text/poppler-23.01.0/work/poppler-23.01.0/poppler -I. -Ipoppler -isystem /build/amd64-generic/usr/include/openjpeg-2.3 -isystem /build/amd64-generic/usr/include/freetype2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Os -pipe -march=x86-64 -msse3 -g -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections -Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++17 -MD -MT CMakeFiles/poppler.dir/poppler/ImageEmbeddingUtils.cc.o -MF CMakeFiles/poppler.dir/poppler/ImageEmbeddingUtils.cc.o.d -o CMakeFiles/poppler.dir/poppler/ImageEmbeddingUtils.cc.o -c /build/amd64-generic/tmp/portage/app-text/poppler-23.01.0/work/poppler-23.01.0/poppler/ImageEmbeddingUtils.cc
In file included from /build/amd64-generic/tmp/portage/app-text/poppler-23.01.0/work/poppler-23.01.0/poppler/ImageEmbeddingUtils.cc:18:
/build/amd64-generic/usr/include/jpeglib.h:916:52: error: unknown type name 'FILE'
EXTERN(void) jpeg_stdio_dest(j_compress_ptr cinfo, FILE *outfile);
^
/build/amd64-generic/usr/include/jpeglib.h:917:53: error: unknown type name 'FILE'
EXTERN(void) jpeg_stdio_src(j_decompress_ptr cinfo, FILE *infile);
```
This is because Poppler is missing a preceding include to stdio.h. Likely `FILE` was provided by some transitive dependencies in LLVM prior to this hash, so it just happened to work. However, this is no longer the case.
To quote the relevant section of the libjpeg README:
```
Mechanics of usage: include files, linking, etc
-----------------------------------------------
Applications using the JPEG library should include the header file jpeglib.h
to obtain declarations of data types and routines. Before including
jpeglib.h, include system headers that define at least the typedefs FILE and
size_t. On ANSI-conforming systems, including <stdio.h> is sufficient; on
older Unix systems, you may need <sys/types.h> to define size_t.
If the application needs to refer to individual JPEG library error codes, also
include jerror.h to define those symbols.
```
And similar discussion on the `libjpeg-turbo` github: https://github.com/libjpeg-turbo/libjpeg-turbo/issues/17
I'll make a merge request to fix the issue.
---
Mirror of this public bug report in ChromeOS: https://b.corp.google.com/issues/282219721
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1397
Eliminate compiler warnings with QLinkedList
2023-05-10T20:17:59Z
Jean Abou Samra
Eliminate compiler warnings with QLinkedList
Replacing `QLinkedList` with `std::list` was rejected in https://gitlab.freedesktop.org/poppler/poppler/-/issues/969, for perfectly sound reasons. However, I think it might be nice to silence the warnings for users of Poppler, by using `...
Replacing `QLinkedList` with `std::list` was rejected in https://gitlab.freedesktop.org/poppler/poppler/-/issues/969, for perfectly sound reasons. However, I think it might be nice to silence the warnings for users of Poppler, by using `#pragma` directives.
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1396
pdffonts always reports "[none]" name for Type 3 fonts
2023-05-27T22:53:33Z
Khaled Hosny
pdffonts always reports "[none]" name for Type 3 fonts
Test file: [test.pdf](/uploads/9b4c449331c268b5ba236ae65cac4c21/test.pdf)
```
$ pdffonts test.pdf
name type encoding emb sub uni object ID
------------------------------------ -------...
Test file: [test.pdf](/uploads/9b4c449331c268b5ba236ae65cac4c21/test.pdf)
```
$ pdffonts test.pdf
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
BAAAAA+LiberationSerif TrueType WinAnsi yes yes yes 12 0
[none] Type 3 Custom yes no yes 15 0
```
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1395
[BUG]Unable to open correctly a pdf
2023-07-03T14:41:40Z
Ago_Valle
[BUG]Unable to open correctly a pdf
I made this pdf by exporting my note frome touchnotes an android note taking app, but when i open it can only see white pages. this is the pdf i am talking about: [Schemetton.pdf](/uploads/4fe7eb008a48310c8560237b8c68bfe8/Schemetton.pdf)
I made this pdf by exporting my note frome touchnotes an android note taking app, but when i open it can only see white pages. this is the pdf i am talking about: [Schemetton.pdf](/uploads/4fe7eb008a48310c8560237b8c68bfe8/Schemetton.pdf)
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1383
Crash in Okular and Evince when typing in any Form text entry
2023-05-02T17:56:07Z
Nelson Benítez León
Crash in Okular and Evince when typing in any Form text entry
Originally [reported in Evince](https://gitlab.gnome.org/GNOME/evince/-/issues/1925), the following pdf file (generated by Mac OS Preview) crashes both Evince and Okular when entering text in any of the form text fields:
[crashme.pdf](/...
Originally [reported in Evince](https://gitlab.gnome.org/GNOME/evince/-/issues/1925), the following pdf file (generated by Mac OS Preview) crashes both Evince and Okular when entering text in any of the form text fields:
[crashme.pdf](/uploads/0893f25ed1c73ff66337b080b0b12d4f/crashme.pdf)
Here is a backtrace:
<details>
```c++
Thread 1 (Thread 0x7ffff38c3ac0 (LWP 118246) "evince"):
#0 GfxResources::doLookupFont(char const*) const (this=<optimized out>, name=0x7fffffffbb48 "Helvetica") at /home/gpoo/code/evince/checkout/poppler/poppler/Gfx.cc:301
resPtr = 0x0
#1 0x00007fffbad501f9 in GfxResources::lookupFont(char const*) (this=0x0, name=0x7fffffffbb48 "Helvetica") at /home/gpoo/code/evince/checkout/poppler/poppler/Gfx.cc:313
#2 0x00007fffbad36ba7 in Form::ensureFontsForAllCharacters(GooString const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, GfxResources*) (this=this@entry=0x7fffb409c4a0, unicodeText=0x555555c324d0, pdfFontNameToEmulate="Helvetica", fieldResources=fieldResources@entry=0x0) at /home/gpoo/code/evince/checkout/poppler/poppler/Form.cc:2972
f = std::shared_ptr<GfxFont> (use count 4, weak count -1) = {get() = 0x7fffbad2fdb6 <Dict::find[abi:cxx11](char const*) const+310>}
ccToUnicode = <optimized out>
#3 0x00007fffbad34f10 in FormFieldText::setContentCopy(GooString const*) (this=0x7fffb40426e0, new_content=<optimized out>) at /home/gpoo/code/evince/checkout/poppler/poppler/Form.cc:1690
fieldResourcesDictObj = {type = objNull, {booln = 128, intg = 1441598592, int64g = 93825002179712, real = 4.6355710297975774e-310, string = 0x555555ed0c80, cString = 0x555555ed0c80 "Helvetica", array = 0x555555ed0c80, dict = 0x555555ed0c80, stream = 0x555555ed0c80, ref = {num = 1441598592, gen = 21845}}}
fontName = "Helvetica"
da = {fontName = {type = objName, {booln = 128, intg = 1441598592, int64g = 93825002179712, real = 4.6355710297975774e-310, string = 0x555555ed0c80, cString = 0x555555ed0c80 "Helvetica", array = 0x555555ed0c80, dict = 0x555555ed0c80, stream = 0x555555ed0c80, ref = {num = 1441598592, gen = 21845}}}, fontPtSize = 12, fontColor = std::unique_ptr<class AnnotColor> = {get() = 0x555555df4460}}
form = 0x7fffb409c4a0
#4 0x00007fffdc3be5cf in poppler_form_field_text_set_text(PopplerFormField*, gchar const*) (field=0x7fffc0002140 [PopplerFormField], text=text@entry=0x555555f4b690 "dfffff") at /home/gpoo/code/evince/checkout/poppler/glib/poppler-form-field.cc:759
length = <optimized out>
tmp = 0x555555ed0c80 "Helvetica"
goo_tmp = 0x555555e1fed0
#5 0x00007ffff018800d in pdf_document_forms_form_field_text_set_text (document=0x5555559fdf50, field=<optimized out>, text=0x555555f4b690 "dfffff") at ../../../../code/evince/checkout/evince/backend/pdf/ev-poppler.c:2503
poppler_field = 0x7fffb409c4a0
#6 0x00007ffff7fa35d3 in ev_view_form_field_text_save (view=0x555555bb0610 [EvView], widget=widget@entry=0x5555559f6b40 [GtkEntry]) at ../../../../code/evince/checkout/evince/libview/ev-view.c:2623
field_text = 0x555555e21960 [EvFormFieldText]
field_region = 0x5555555dfca0
field = 0x555555e21960 [EvFormFieldText]
#7 0x00007ffff7fa33bc in ev_view_form_field_text_focus_out (widget=0x0, widget@entry=0x5555559f6b40 [GtkEntry], event=<optimized out>, view=0x7fffffffbb48) at ../../../../code/evince/checkout/evince/libview/ev-view.c:2661
#8 0x00007ffff77e2c97 in _gtk_marshal_BOOLEAN__BOXED (closure=0x555555f4b660, return_value=0x7fffffffbec0, n_param_values=<optimized out>, param_values=0x7fffffffbf20, invocation_hint=<optimized out>, marshal_data=<optimized out>) at /build/gtk+3.0-e60prk/gtk+3.0-3.24.34/debian/build/deb/gtk/gtkmarshalers.c:83
cc = 0x555555f4b660
data1 = 0x5555559f6b40
data2 = <optimized out>
callback = 0x7ffff7fa33b0 <ev_view_form_field_text_focus_out>
v_return = <optimized out>
__func__ = "_gtk_marshal_BOOLEAN__BOXED"
#9 0x00007ffff7e82f50 in g_closure_invoke (closure=0x555555f4b660, return_value=0x7fffffffbec0, n_param_values=2, param_values=0x7fffffffbf20, invocation_hint=0x7fffffffbea0) at ../../../gobject/gclosure.c:832
marshal = 0x7ffff77e2c30 <_gtk_marshal_BOOLEAN__BOXED>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x555555f4b640
__func__ = "g_closure_invoke"
#10 0x00007ffff7eb0d66 in signal_emit_unlocked_R.isra.0 (node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x5555559f6b40, emission_return=emission_return@entry=0x7fffffffc030, instance_and_params=instance_and_params@entry=0x7fffffffbf20) at ../../../gobject/gsignal.c:3796
tmp = <optimized out>
handler = 0x7fffd4002300
accumulator = 0x555555642df0
emission = {next = 0x7fffffffc390, instance = 0x5555559f6b40, ihint = {signal_id = 92, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x4}
class_closure = 0x555555672530
hlist = <optimized out>
handler_list = 0x7fffd4002300
return_accu = 0x7fffffffbec0
accu = {g_type = 0x14, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 92
max_sequential_handler_number = 5131
return_value_altered = <optimized out>
#11 0x00007ffff7ea0b86 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffc0e0) at ../../../gobject/gsignal.c:3559
return_value = {g_type = 0x14, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
error = 0x0
rtype = 0x14
static_scope = 0
instance_and_params = 0x7fffffffbf20
signal_return_type = <optimized out>
param_values = 0x7fffffffbf38
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#12 0x00007ffff7ea1403 in g_signal_emit (instance=instance@entry=0x5555559f6b40, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3606
var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffffffc1c0, reg_save_area = 0x7fffffffc100}}
#13 0x00007ffff77abe84 in gtk_widget_event_internal.part.0.lto_priv.0 (widget=0x5555559f6b40 [GtkEntry], event=0x7fffb4009de0) at ../../../../gtk/gtkwidget.c:7812
signal_num = <optimized out>
return_val = <optimized out>
handled = 0
#14 0x00007ffff77ab131 in gtk_widget_send_focus_change (widget=0x5555559f6b40 [GtkEntry], event=0x7fffb4009de0) at ../../../../gtk/gtkwidget.c:16244
res = <optimized out>
__func__ = "gtk_widget_send_focus_change"
#15 0x00007ffff77b9333 in do_focus_change (widget=0x5555559f6b40 [GtkEntry], in=0) at ../../../../gtk/gtkwindow.c:8601
dev = 0x555555684180 [GdkWaylandDevice]
fevent = 0x7fffb4009de0
window = 0x555555e25740 [GdkWaylandWindow]
device_manager = <optimized out>
devices = 0x555555964a40 = {0x5555556840d0, 0x555555684180, 0x555555684230, 0x5555556842e0}
d = 0x7fffe0001580 = {0x555555684180, 0x555555684230, 0x5555556842e0}
#16 0x00007ffff77b998a in gtk_window_real_set_focus (window=<optimized out>, focus=0x555555bb0610 [EvView]) at ../../../../gtk/gtkwindow.c:8890
priv = 0x555555877290
old_focus = 0x5555559f6b40 [GtkEntry]
had_default = 0
focus_had_default = 0
old_focus_had_default = 0
#17 0x00007ffff7e819f5 in g_cclosure_marshal_VOID__OBJECTv (closure=0x555555697a40, return_value=<optimized out>, instance=0x5555558774f0, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x555555672090) at ../../../gobject/gmarshal.c:1910
data1 = <optimized out>
data2 = <optimized out>
callback = 0x7ffff77b9770 <gtk_window_real_set_focus>
arg0 = 0x555555bb0610
args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffffffc570, reg_save_area = 0x7fffffffc4b0}}
#18 0x00007ffff7ea131c in _g_closure_invoke_va (param_types=<optimized out>, n_params=<optimized out>, args=0x7fffffffc490, instance=<optimized out>, return_value=<optimized out>, closure=0x555555697a40) at ../../../gobject/gclosure.c:895
marshal = <optimized out>
marshal_data = <optimized out>
in_marshal = <optimized out>
real_closure = 0x555555697a20
return_accu = <optimized out>
accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
accumulator = <optimized out>
emission = {next = 0x7fffffffc600, instance = 0x5555558774f0, ihint = {signal_id = 167, detail = 0, run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x55555564e0b0 [EvWindow/HdyApplicationWindow/GtkApplicationWindow/GtkWindow/GtkBin/GtkContainer/GtkWidget/GInitiallyUnowned]}
instance_type = <optimized out>
emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = <optimized out>
static_scope = <optimized out>
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = <optimized out>
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#19 g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffc490) at ../../../gobject/gsignal.c:3456
return_accu = <optimized out>
accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
accumulator = <optimized out>
emission = {next = 0x7fffffffc600, instance = 0x5555558774f0, ihint = {signal_id = 167, detail = 0, run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x55555564e0b0 [EvWindow/HdyApplicationWindow/GtkApplicationWindow/GtkWindow/GtkBin/GtkContainer/GtkWidget/GInitiallyUnowned]}
instance_type = <optimized out>
emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = <optimized out>
static_scope = <optimized out>
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = <optimized out>
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#20 0x00007ffff7ea1403 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../../../gobject/gsignal.c:3606
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffc570, reg_save_area = 0x7fffffffc4b0}}
#21 0x00007ffff7ea131c in _g_closure_invoke_va (param_types=<optimized out>, n_params=<optimized out>, args=0x7fffffffc700, instance=<optimized out>, return_value=<optimized out>, closure=0x555555673eb0) at ../../../gobject/gclosure.c:895
marshal = <optimized out>
marshal_data = <optimized out>
in_marshal = <optimized out>
real_closure = 0x555555673e90
return_accu = <optimized out>
accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
accumulator = <optimized out>
emission = {next = 0x7fffffffc970, instance = 0x555555bb0610, ihint = {signal_id = 72, detail = 0, run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x555555bac060 [EvView/GtkContainer/GtkWidget/GInitiallyUnowned]}
instance_type = <optimized out>
emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = <optimized out>
static_scope = <optimized out>
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = <optimized out>
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#22 g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffc700) at ../../../gobject/gsignal.c:3456
return_accu = <optimized out>
accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
accumulator = <optimized out>
emission = {next = 0x7fffffffc970, instance = 0x555555bb0610, ihint = {signal_id = 72, detail = 0, run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x555555bac060 [EvView/GtkContainer/GtkWidget/GInitiallyUnowned]}
instance_type = <optimized out>
emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = <optimized out>
static_scope = <optimized out>
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = <optimized out>
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#23 0x00007ffff7ea1403 in g_signal_emit (instance=instance@entry=0x555555bb0610, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3606
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffc7e0, reg_save_area = 0x7fffffffc720}}
#24 0x00007ffff7799d5a in gtk_widget_grab_focus (widget=0x555555bb0610 [EvView]) at ../../../../gtk/gtkwidget.c:8101
__func__ = "gtk_widget_grab_focus"
#25 0x00007ffff7f99e14 in ev_view_button_press_event (widget=0x555555bb0610 [EvView], event=event@entry=0x7fffb4009ca0) at ../../../../code/evince/checkout/evince/libview/ev-view.c:5634
view = 0x555555bb0610 [EvView]
#26 0x00007ffff77e4078 in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x555555673850, return_value=0x7fffffffc9c0, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x555555667090) at /build/gtk+3.0-e60prk/gtk+3.0-3.24.34/debian/build/deb/gtk/gtkmarshalers.c:129
data1 = <optimized out>
data2 = 0x555555662800
callback = 0x7ffff7f99d30 <ev_view_button_press_event>
v_return = <optimized out>
arg0 = 0x7fffb4009ca0
args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffffffcb50, reg_save_area = 0x7fffffffca90}}
__func__ = "_gtk_marshal_BOOLEAN__BOXEDv"
#27 0x00007ffff7ea131c in _g_closure_invoke_va (param_types=<optimized out>, n_params=<optimized out>, args=0x7fffffffca70, instance=<optimized out>, return_value=<optimized out>, closure=0x555555673850) at ../../../gobject/gclosure.c:895
marshal = <optimized out>
marshal_data = <optimized out>
in_marshal = <optimized out>
real_closure = 0x555555673830
return_accu = <optimized out>
accu = {g_type = 0x14, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
accumulator = <optimized out>
emission = {next = 0x0, instance = 0x555555bb0610, ihint = {signal_id = 78, detail = 0, run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x555555bac060 [EvView/GtkContainer/GtkWidget/GInitiallyUnowned]}
instance_type = <optimized out>
emission_return = {g_type = 0x14, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = <optimized out>
static_scope = <optimized out>
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = <optimized out>
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#28 g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffca70) at ../../../gobject/gsignal.c:3456
return_accu = <optimized out>
accu = {g_type = 0x14, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
accumulator = <optimized out>
emission = {next = 0x0, instance = 0x555555bb0610, ihint = {signal_id = 78, detail = 0, run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x555555bac060 [EvView/GtkContainer/GtkWidget/GInitiallyUnowned]}
instance_type = <optimized out>
emission_return = {g_type = 0x14, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = <optimized out>
static_scope = <optimized out>
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = <optimized out>
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#29 0x00007ffff7ea1403 in g_signal_emit (instance=instance@entry=0x555555bb0610, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3606
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffcb50, reg_save_area = 0x7fffffffca90}}
#30 0x00007ffff77abe84 in gtk_widget_event_internal.part.0.lto_priv.0 (widget=0x555555bb0610 [EvView], event=0x7fffb4009ca0) at ../../../../gtk/gtkwidget.c:7812
signal_num = <optimized out>
return_val = <optimized out>
handled = 0
#31 0x00007ffff764fdde in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x555555bb0610 [EvView]) at ../../../../gtk/gtkmain.c:2598
tmp = <optimized out>
handled_event = <optimized out>
handled_event = 0
#32 propagate_event (widget=widget@entry=0x555555bb0610 [EvView], event=event@entry=0x7fffb4009ca0, captured=captured@entry=0, topmost=topmost@entry=0x0) at ../../../../gtk/gtkmain.c:2701
handled_event = 0
#33 0x00007ffff764ff00 in gtk_propagate_event (widget=widget@entry=0x555555bb0610 [EvView], event=event@entry=0x7fffb4009ca0) at ../../../../gtk/gtkmain.c:2735
__func__ = "gtk_propagate_event"
#34 0x00007ffff7650c0a in gtk_main_do_event (event=<optimized out>) at ../../../../gtk/gtkmain.c:1921
grab_widget = 0x555555bb0610 [EvView]
window_group = 0x555555725cd0 [GtkWindowGroup]
rewritten_event = <optimized out>
device = <optimized out>
tmp_list = <optimized out>
event_widget = <optimized out>
topmost_widget = <optimized out>
__func__ = "gtk_main_do_event"
#35 gtk_main_do_event (event=<optimized out>) at ../../../../gtk/gtkmain.c:1691
__func__ = "gtk_main_do_event"
#36 0x00007ffff7331703 in _gdk_event_emit (event=0x7fffb4009ca0) at ../../../../gdk/gdkevents.c:73
#37 _gdk_event_emit (event=0x7fffb4009ca0) at ../../../../gdk/gdkevents.c:67
#38 0x00007ffff7399186 in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at wayland/../../../../../gdk/wayland/gdkeventsource.c:124
source = <optimized out>
display = <optimized out>
event = 0x7fffb4009ca0
#39 0x00007ffff7d8a569 in g_main_dispatch (context=0x55555560d1b0) at ../../../glib/gmain.c:3444
dispatch = 0x7ffff7399160 <gdk_event_source_dispatch>
prev_source = 0x0
begin_time_nsec = 0
was_in_call = 0
user_data = 0x0
callback = 0x0
cb_funcs = <optimized out>
cb_data = <optimized out>
need_destroy = <optimized out>
source = 0x55555561ebc0
current = 0x55555560f910
i = 0
#40 g_main_context_dispatch (context=0x55555560d1b0) at ../../../glib/gmain.c:4162
#41 0x00007ffff7ddf3c8 in g_main_context_iterate.constprop.0 (context=0x55555560d1b0, block=<optimized out>, dispatch=1, self=<optimized out>) at ../../../glib/gmain.c:4238
max_priority = 2147483647
timeout = 17
some_ready = 1
nfds = <optimized out>
allocated_nfds = 3
fds = 0x5555556c3230
#42 0x00007ffff7d87d20 in g_main_context_iteration (context=context@entry=0x55555560d1b0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4303
retval = <optimized out>
#43 0x00007ffff70d945d in g_application_run (application=0x555555727110 [EvApplication], argc=argc@entry=0, argv=argv@entry=0x0) at ../../../gio/gapplication.c:2571
arguments = 0x5555557374b0
status = 0
context = 0x55555560d1b0
acquired_context = <optimized out>
__func__ = "g_application_run"
#44 0x00005555555a57d1 in main (argc=1, argv=0x7fffffffcfa8) at ../../../../code/evince/checkout/evince/shell/main.c:318
error = 0x0
context = <optimized out>
application = 0x555555727110 [EvApplication]
status = <optimized out>
```
</details>
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1382
error C2027: use of undefined type 'Dict'
2023-04-04T17:35:02Z
th1722
error C2027: use of undefined type 'Dict'
When I built LibreOffice with poppler 23.03.0 on Cygwin, the build failed with the following error message.
```
[build PAT] poppler
[build PCH] precompiled_poppler
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(58...
When I built LibreOffice with poppler 23.03.0 on Cygwin, the build failed with the following error message.
```
[build PAT] poppler
[build PCH] precompiled_poppler
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(580): error C2027: use of undefined type 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(83): note: see declaration of 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(586): error C2027: use of undefined type 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(83): note: see declaration of 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(592): error C2027: use of undefined type 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(83): note: see declaration of 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(598): error C2027: use of undefined type 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(83): note: see declaration of 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(604): error C2027: use of undefined type 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(83): note: see declaration of 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(615): error C2027: use of undefined type 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(83): note: see declaration of 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(621): error C2027: use of undefined type 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(83): note: see declaration of 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(627): error C2027: use of undefined type 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(83): note: see declaration of 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(633): error C2027: use of undefined type 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(83): note: see declaration of 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(639): error C2027: use of undefined type 'Dict'
C:\sources\libo-core\workdir\UnpackedTarball\poppler\poppler\Object.h(83): note: see declaration of 'Dict'
make[1]: *** [C:/sources/libo-core/external/poppler/StaticLibrary_poppler.mk:16: C:/sources/libo-core/workdir/PrecompiledHeader/nodebug/precompiled_poppler.hxx.pch] Error 2
make: *** [Makefile:289: build] Error 2
```
OS: Windows 10 22H2
Visual Studio: 2022(17.5.3)
Windows SDK: 10.0.22200.0
Cygwin: 3.4.6-1.x86_64
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1381
Stack overflow in GooString.h:241
2023-04-12T20:49:33Z
Doudou Huang
Stack overflow in GooString.h:241
Hi, there.
There is a stack overflow in GooString.h:241, which causes a segmentation fault and may lead to denial of service in version d5d23b3bcc4cbfbe58bdfa3e2c82555aa72c4117, version 23.03.0.
To reproduce, run
~~~~
./pdftoppm -mon...
Hi, there.
There is a stack overflow in GooString.h:241, which causes a segmentation fault and may lead to denial of service in version d5d23b3bcc4cbfbe58bdfa3e2c82555aa72c4117, version 23.03.0.
To reproduce, run
~~~~
./pdftoppm -mono -cropbox POC
~~~~
Here is my environment:
~~~~
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.5 LTS"
~~~~
Here is the call stack reported by ASAN:
~~~~
=================================================================
==1913191==ERROR: AddressSanitizer: stack-overflow on address 0x7ffc16ae7fd8 (pc 0x00000049edb6 bp 0x7ffc16ae8860 sp 0x7ffc16ae7fe0 T0)
#0 0x49edb6 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) /dependence/llvm11/llvm-11.0.0.src/projects/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:841:7
#1 0x49f6c8 in memcmp /dependence/llvm11/llvm-11.0.0.src/projects/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:873:33
#2 0x7f90cfd6b6bd in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(char const*) const (/lib/x86_64-linux-gnu/libstdc++.so.6+0x1456bd)
#3 0x7f90d0277b69 in GooString::cmp(char const*) const /benchmark/poppler/goo/GooString.h:241:44
#4 0x7f90d0277b69 in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1253:25
#5 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#6 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#7 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#8 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#9 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#10 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#11 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#12 0x7f90d027881d in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1263:22
#13 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#14 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#15 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#16 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#17 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#18 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#19 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#20 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#21 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#22 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#23 0x7f90d027881d in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1263:22
#24 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#25 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#26 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#27 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#28 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#29 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#30 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#31 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#32 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#33 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#34 0x7f90d027881d in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1263:22
#35 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#36 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#37 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#38 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#52 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#53 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#54 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#55 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#56 0x7f90d027881d in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1263:22
#57 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#58 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#59 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#76 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#77 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#78 0x7f90d027881d in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1263:22
#79 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#80 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#81 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#82 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#83 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#84 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#85 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#86 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#87 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#88 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#89 0x7f90d027881d in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1263:22
#90 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#91 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#92 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#106 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#107 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#108 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#109 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#110 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#111 0x7f90d027881d in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1263:22
#112 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#113 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#114 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#115 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#116 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#117 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#118 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#119 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#120 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#121 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#122 0x7f90d027881d in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1263:22
#123 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#124 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#125 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#126 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#127 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#128 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#129 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#130 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#131 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#132 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#133 0x7f90d027881d in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1263:22
#134 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#173 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#174 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#175 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#176 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#177 0x7f90d027881d in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1263:22
#178 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#179 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#180 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#181 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#182 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#183 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#184 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#185 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#186 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#187 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#188 0x7f90d027881d in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1263:22
#189 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#190 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#191 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#192 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#193 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#194 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#195 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#196 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#197 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#198 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#199 0x7f90d027881d in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1263:22
#200 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#201 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#202 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#214 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#215 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#216 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#217 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#218 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#219 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#220 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#221 0x7f90d027881d in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1263:22
#222 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#223 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#244 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#245 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#246 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#247 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#248 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
#249 0x7f90d027815f in PostScriptFunction::parseCode(Stream*, int*) /benchmark/poppler/poppler/Function.cc:1257:18
SUMMARY: AddressSanitizer: stack-overflow /dependence/llvm11/llvm-11.0.0.src/projects/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:841:7 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long)
==1913191==ABORTING
Aborted
~~~~
[pdftoppm_overflow_GooString241](/uploads/afa325eb069513dbb4783e0ae40c6020/pdftoppm_overflow_GooString241)
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1380
pdfsig doesn't support --help
2023-03-21T22:12:48Z
Jean Abou Samra
pdfsig doesn't support --help
`pdfsig` seems not consistent with other Poppler utils on this point:
```
$ pdfattach -help # with one dash
pdfattach version 22.08.0
Copyright 2005-2022 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011, 2022 ...
`pdfsig` seems not consistent with other Poppler utils on this point:
```
$ pdfattach -help # with one dash
pdfattach version 22.08.0
Copyright 2005-2022 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011, 2022 Glyph & Cog, LLC
Usage: pdfattach [options] <input-PDF-file> <file-to-attach> <output-PDF-file>
-replace : replace embedded file with same name (if it exists)
-v : print copyright and version info
-h : print usage information
-help : print usage information
--help : print usage information
-? : print usage information
$ pdfattach --help # two dashes
pdfattach version 22.08.0
Copyright 2005-2022 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011, 2022 Glyph & Cog, LLC
Usage: pdfattach [options] <input-PDF-file> <file-to-attach> <output-PDF-file>
-replace : replace embedded file with same name (if it exists)
-v : print copyright and version info
-h : print usage information
-help : print usage information
--help : print usage information
-? : print usage information
$ pdfsig -help # one dash
pdfsig version 22.08.0
Copyright 2005-2022 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011, 2022 Glyph & Cog, LLC
Usage: pdfsig [options] <PDF-file> [<output-file>]
-nssdir <string> : path to directory of libnss3 database
-nss-pwd <string> : password to access the NSS database (if any)
-nocert : don't perform certificate validation
-no-ocsp : don't perform online OCSP certificate revocation check
-aia : use Authority Information Access (AIA) extension for certificate fetching
-dump : dump all signatures into current directory
-add-signature : adds a new signature to the document
-new-signature-field-name <string>: field name used for the newly added signature. A random ID will be used if empty
-sign <int> : sign the document in the signature field with the given number
-etsi : create a signature of type ETSI.CAdES.detached instead of adbe.pkcs7.detached
-nick <string> : use the certificate with the given nickname for signing
-kpw <string> : password for the signing key (might be missing if the key isn't password protected)
-digest <string> : name of the digest algorithm (default: SHA256)
-reason <string> : reason for signing (default: no reason given)
-list-nicks : list available nicknames in the NSS database
-opw <string> : owner password (for encrypted files)
-upw <string> : user password (for encrypted files)
-v : print copyright and version info
-h : print usage information
-help : print usage information
-? : print usage information
$ pdfsig --help # two dashes
I/O Error: Couldn't open file '--help': No such file or directory.
```
https://gitlab.freedesktop.org/poppler/poppler/-/issues/1379
pdftoppm no longer working
2023-03-21T22:09:06Z
A B
pdftoppm no longer working
I'm trying to batch convert PDF files to images using this command:
pdftoppm -r 200 file1.pdf file2.pdf output
However it's not working, or rather, no longer working (version 22.12.0) as I've used this exact command countless times...
I'm trying to batch convert PDF files to images using this command:
pdftoppm -r 200 file1.pdf file2.pdf output
However it's not working, or rather, no longer working (version 22.12.0) as I've used this exact command countless times before in the past without issue.