LA DOTD Map PDFs fail to render correctly with D2D
Categories
(Core :: Graphics, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr91 | --- | wontfix |
firefox-esr102 | --- | affected |
firefox101 | --- | wontfix |
firefox102 | --- | wontfix |
firefox103 | --- | fix-optional |
People
(Reporter: lh.bennett, Unassigned, NeedInfo)
References
()
Details
(Keywords: regression)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0
Steps to reproduce:
Visit this link:
http://wwwsp.dotd.la.gov/Inside_LaDOTD/Divisions/Multimodal/Data_Collection/Mapping/Wall%20Map/Official%20Map%20of%20Louisiana%20-%202021.pdf
Actual results:
The PDF does not render correctly and is missing many details.
Expected results:
Render the PDF the same as Chromium Browsers.
Reporter | ||
Updated•3 years ago
|
Comment 1•3 years ago
|
||
Managed to reproduce the issue on Windows 10 x64, PDF doesn't render correctly.
Can't reproduce it on macOS 11.6 and on Ubuntu 20.04 x64.
Comment 2•3 years ago
|
||
I confirm the bug on windows 11 but not on mac 12.3.1 so it's very likely not a pdf.js issue but probably something related the Windows graphics backend.
And the pdf is huge (I manage to get Acrobat stuck on it) so it doesn't help to figure out what could be wrong, I'll try to make a reduced test case.
:lsalzman, maybe you'd have an idea, maybe it's another clipping issue.
Comment 3•3 years ago
|
||
Are you able to possibly track down a regressing patch with mozregresion to see if this is not something related to recent changes in the Direct2D canvas code?
Comment 4•3 years ago
|
||
Comment 5•3 years ago
|
||
:calixte, since this bug is a regression, could you fill (if possible) the regressed_by field?
For more information, please visit auto_nag documentation.
Updated•3 years ago
|
Comment 6•3 years ago
|
||
Can you get a smaller regression range? That range is pretty big, and I can't pinpoint what the cause might be from it.
Comment 7•3 years ago
|
||
Unfortunately, I didn't manage to. It seems that we've only one year of data (except for the builds from archives.m.o).
When I open the pdf in a local build I get a ton of:
Crash Annotation GraphicsCriticalError: |[G0][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=27.3562) |[G451][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=154.076) |[G452][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=154.386) |[G453][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=154.696) |[G454][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=155.006) |[G440][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=150.946) |[G441][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=151.106) |[G442][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=151.576) |[G443][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=151.726) |[G444][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=152.036) |[G445][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=152.356) |[G446][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=152.666) |[G447][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=152.976) |[G448][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=153.286) |[G449][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=153.606) |[G450][GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0 (t=153.756) [GFX1-]: [D2D1.1] 4CreateBitmap failure Size(17400,31) Code: 0x80070057 format 0
When I ran mozregression I noticed that this stuff was spit out only with bad builds.
Comment 8•3 years ago
|
||
Superficially that just sounds like an OOM situation/invalid allocation size issue. I am not sure if there is much we can do if someone requests a surface that large.
Comment 9•3 years ago
|
||
It used to work so I suppose it should still be ok, no ?
It works on my macbook pro (which has "only" 16Gb of RAM) but not on my windows (64Gb of RAM).
I know there are some size limits for Canvas:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size
but here I've the impress that the requested size is not really out of ranges.
I checked my values in using https://github.com/jhildenbiddle/canvas-size and I get
maxArea(): PASS: 11180 x 11180 (229 ms)
maxHeight(): PASS: 1 x 32767 (4 ms)
maxWidth(): PASS: 32767 x 1 (1 ms)
Comment 10•3 years ago
|
||
The Direct2D implementation has its own size limits which may be different from the Skia implementation.
Comment 11•3 years ago
|
||
For this pdf, I just changed the canvas width from 17400 to 16384 and it works.
And it fails with 16385.
Is there a way to get the limits for the D2D implementation ?
I tested:
https://jsfiddle.net/r2t4bmfx/3/
and it works, could you explain me why ?
Comment 12•3 years ago
|
||
Without having a reduced testcase to pinpoint where things are failing, and no reliable regression range, I can't really make a decent guess at the moment.
Comment 13•3 years ago
|
||
What about bisecting the range with local builds?
Lee, are you able to reproduce the bug yourself?
Updated•3 years ago
|
Comment 14•3 years ago
|
||
I am swamped right now, Jeff, can you take a look into this?
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Description
•