Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • P poppler
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 665
    • Issues 665
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 46
    • Merge requests 46
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • poppler
  • poppler
  • Issues
  • #886
Closed
Open
Issue created Feb 26, 2020 by Alex K@alexk

Floating point exception when processing this PDF file

Tested on Debian testing, libcairo2 version 1.16.0 poppler-utils version 0.71.0 and Ubuntu 19.04 with poppler 0.80.0, same libcairo2.

This command

pdftocairo -pdf food-1.pdf out.pdf

results in "Floating point exception" error. The file is here: food-1.pdf

Here is the output from GDB:

(gdb) run
Starting program: /usr/bin/pdftocairo -pdf food-1.pdf out.pdf
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGFPE, Arithmetic exception.
0x0000555555572c20 in CairoRescaleBox::downScaleImage (this=this@entry=0x7fffffffd560, orig_width=9472, orig_height=orig_height@entry=1, scaled_width=scaled_width@entry=8192, scaled_height=scaled_height@entry=0, start_column=start_column@entry=0, start_row=0, width=8192, height=0, dest_surface=0x5555555e3ba0) at ./poppler/CairoRescaleBox.cc:305
305	./poppler/CairoRescaleBox.cc: No such file or directory.
(gdb) bt
#0  0x0000555555572c20 in CairoRescaleBox::downScaleImage (this=this@entry=0x7fffffffd560, orig_width=9472, orig_height=orig_height@entry=1, scaled_width=scaled_width@entry=8192, scaled_height=scaled_height@entry=0, start_column=start_column@entry=0, start_row=0, width=8192, height=0, dest_surface=0x5555555e3ba0) at ./poppler/CairoRescaleBox.cc:305
#1  0x0000555555570c78 in RescaleDrawImage::getSourceImage (maskColorsA=0x0, colorMapA=<optimized out>, printing=<optimized out>, scaledHeight=<optimized out>, scaledWidth=<optimized out>, height=1, widthA=9472, str=0x555555610840, this=0x7fffffffd560) at ./poppler/CairoOutputDev.cc:3170
#2  CairoOutputDev::drawImage (this=0x5555555cb0a0, state=0x5555555e88f0, ref=0x7fffffffddd0, str=0x555555610840, widthA=9472, heightA=1, colorMap=0x7fffffffd880, interpolate=true, maskColors=0x0, inlineImg=false) at ./poppler/CairoOutputDev.cc:3257
#3  0x00007ffff7bf4aaa in Gfx::doImage(Object*, Stream*, bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.82
#4  0x00007ffff7bf6bb3 in Gfx::opXObject(Object*, int) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.82
#5  0x00007ffff7bebfcf in Gfx::go(bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.82
#6  0x00007ffff7bec49e in Gfx::display(Object*, bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.82
#7  0x00007ffff7c42941 in Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) () from /usr/lib/x86_64-linux-gnu/libpoppler.so.82
#8  0x00005555555645b1 in renderPage (output_h=<optimized out>, output_w=<optimized out>, page_h=<optimized out>, page_w=<optimized out>, pg=1, cairoOut=0x5555555cb0a0, doc=0x5555555c5f70) at ./utils/pdftocairo.cc:731
#9  main (argc=<optimized out>, argv=<optimized out>) at ./utils/pdftocairo.cc:1258
(gdb) quit
Edited Feb 26, 2020 by Alex K
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking