Summary: | Complex patterns in PDF displayed as white area, high CPU usage and crash (evince w/ cairo backend only) | ||
---|---|---|---|
Product: | poppler | Reporter: | Mahendra Tallur <mahen> |
Component: | cairo backend | Assignee: | poppler-bugs <poppler-bugs> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | belcirelk, carlosgc, cpacchierotti, dzhonw, gpoo+bfdo, korobkin+lpad, madbiologist2016, pvillavi, santibatista |
Version: | unspecified | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 69545 | ||
Attachments: |
PDF file which renders incorrectly with libpoppler and causing evince to crash
Use matrix to determine pattern size Use matrix to determine pattern size |
Description
Mahendra Tallur
2011-01-22 08:03:27 UTC
Created attachment 42307 [details]
PDF file which renders incorrectly with libpoppler and causing evince to crash
Splash backend seems to work fine. (In reply to comment #2) > Splash backend seems to work fine. Thanks for checking ! I had no issue either with libpoppler 0.14.5 and Okular (KDE 4.6 under Archlinux). So this seems to be specific to the backend used by evince. (but I thought Okular also made use of the Cairo backend ?) No Okular does not use the cairo backend. Your sources are wrong. Created attachment 99401 [details] [review] Use matrix to determine pattern size I don't see a crash, but evince does show just a blank page. There might be a bug in cairo or pixman because it doesn't seem to like the tiling pattern matrix. It doesn't draw anything if the matrix offset / scaling > 32768. It should still be fixed in poppler though, because it doesn't make sense to create a 9720x9720 pattern to fill a 750x500 area. Attached patch calculates the dimensions of the pattern after transformation and creates a pattern of the appropriate size. *** Bug 80267 has been marked as a duplicate of this bug. *** (In reply to comment #5) > Created attachment 99401 [details] [review] [review] > Use matrix to determine pattern size > > I don't see a crash, but evince does show just a blank page. There might be > a bug in cairo or pixman because it doesn't seem to like the tiling pattern > matrix. It doesn't draw anything if the matrix offset / scaling > 32768. > > It should still be fixed in poppler though, because it doesn't make sense to > create a 9720x9720 pattern to fill a 750x500 area. Attached patch > calculates the dimensions of the pattern after transformation and creates a > pattern of the appropriate size. Thanks for the patch, it looks good to me, but I've passed my tests with it and I'm getting some differences in several documents. The thing is that in some cases it improves the output but in some others it regresses. As usual I don't know which of my files are private or not, so I'll send them to you in a private email. Created attachment 103788 [details] [review] Use matrix to determine pattern size > - n3580.pdf: I get differences in a lot of pages, but looks like the > same thing in all of them. First ones is page 3. It renders the > patterns differently, not sure if it's better or worse, TBH. I would > not consider this a regression in any case. > - folleto_attached.pdf: The brick pattern looks a bit worse I would > say, but the diff is too small to be sure. The difference I see is that the diagonal lines in n3580.pdf and brick pattern in folleto_attached.pdf are drawn at a higher resolution. You can see it through pdftocairo at 300 ppi. > - redp4150.pdf: Pages 1 and 6, some lines are blurry. Looks like I need to save/restore the value of adjusted_stroke_width while drawing the pattern. It gets clobbered when the pattern sets the line width. *bump* *** Bug 83936 has been marked as a duplicate of this bug. *** *** Bug 60901 has been marked as a duplicate of this bug. *** *** Bug 69546 has been marked as a duplicate of this bug. *** *** Bug 26533 has been marked as a duplicate of this bug. *** Sorry for the delay, pushed to git master now. Thanks! *** Bug 69545 has been marked as a duplicate of this bug. *** *** Bug 86884 has been marked as a duplicate of this bug. *** *** Bug 55463 has been marked as a duplicate of this bug. *** *** Bug 28357 has been marked as a duplicate of this bug. *** *** Bug 31235 has been marked as a duplicate of this bug. *** |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.