PDF's don't render properly in Chrome 58 - pdfium bug
Reported by
mike.moe...@rtssigns.com,
Apr 21 2017
|
||||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36 Steps to reproduce the problem: 1. Open broken.pdf file in the browser 2. Should display the word OK 3. Shows a blank screen instead What is the expected behavior? Should display the word OK on the screen. Its blank instead. Was working in Chrome 57 and earlier. What went wrong? Just a guess but maybe pdfium no longer handles linearized pfd's correctly? Did this work before? Yes 57 and prior Chrome version: 58.0.3029.81 Channel: stable OS Version: 6.1 (Windows 7, Windows Server 2008 R2) Flash Version:
,
Apr 21 2017
This PDF loads...just doesn't display the content. Why was this merged into another bug?
,
Apr 21 2017
My PDF works on Chrome 57 and DOES NOT work on Chrome 58. These 2 bugs do not seem to be related base on the reported Chrome version in bug# 714187.
,
Apr 21 2017
Sorry, when I tried reproducing realized that both are different issues. I am able to reproduce with the testcase provided. Works in - 57.0.2987.133 but broken in 58.0.3029.81. We will find regression and followup. By any chance have you found broken PDF in any websites? If yes, please feel free to provide the link.
,
Apr 21 2017
This bug is affecting about ~100 different customers and several hundred machines.. Is there anything I can do to fix it? Submit a patch maybe? (I have build Chrome before) How can we downgrade them back to Chrome 57? Can you provide me a standalone installer for Chrome 57? I cannot find Chrome 57 standalone anywhere. Getting a bit desperate here.
,
Apr 21 2017
,
Apr 21 2017
Also able to reproduce on Linux, so I'm assuming it's OS-All.
,
Apr 21 2017
I'm bisecting, BTW.
,
Apr 21 2017
Bisect says... https://pdfium.googlesource.com/pdfium/+/fbd9ea1db2f1bb7fa006e7304a1202afc683c142
,
Apr 21 2017
Wow. A single line of code broke it: - if (FXSYS_fabs(i) == 0) + if (FXSYS_fabs(i) <= std::numeric_limits<float>::epsilon()) Not sure but maybe 0 !== FLT_EPSILON So what happens now? How does the fix make it into production builds?
,
Apr 21 2017
Thank you thestig@. Would it be possible to revert the culprit change listed at #9? And will it be a safe revert? If possible, please try to land revert or fix to trunk before 5:00 PM PT today so it can be picked up by tonight's canary. If change looks good in Canary, then please request a merge to M58 on Monday (Note: We're planning to cut M58 Stable refresh rc on Monday @ 5:00 PM PT).
,
Apr 21 2017
#10: Indeed 0 is not the same as epsilon. #11: It's safe to revert except crbug.com/702041 will need to be reopened.
,
Apr 21 2017
npm@ and awhalley@, will it be ok to revert with crbug.com/702041 reopened? If not, npm@ will it be possible to provide safe fix for this?
,
Apr 21 2017
I don't think the problem in crbug.com/702041 is new, and I never got the testcase to crash under asan. So I think it's fine to revert. OOO next week, so reassigning for merge.
,
Apr 21 2017
The following revision refers to this bug: https://pdfium.googlesource.com/pdfium/+/f9f26b588e0b30fb581097e2a430f5c80f33b692 commit f9f26b588e0b30fb581097e2a430f5c80f33b692 Author: Nicolas Pena <npm@chromium.org> Date: Fri Apr 21 20:08:10 2017 Revert "Compare to epsilon instead of 0 in CFX_Matrix::SetReverse" This reverts commit fbd9ea1db2f1bb7fa006e7304a1202afc683c142. Reason for revert: This check seems too strict BUG= chromium:714187 Original change's description: > Compare to epsilon instead of 0 in CFX_Matrix::SetReverse > > Since we are going to divide i by 0, it is better to compare it to epsilon > and avoid wonkiness from division by something too close to 0. > > BUG= chromium:702041 > > Change-Id: I8136d6063f8debd41cef37eaab7e4097b3f32f4b > Reviewed-on: https://pdfium-review.googlesource.com/3090 > Commit-Queue: Nicolás Peña <npm@chromium.org> > Reviewed-by: dsinclair <dsinclair@chromium.org> > TBR=tsepez@chromium.org,dsinclair@chromium.org,npm@chromium.org,pdfium-reviews@googlegroups.com # Not skipping CQ checks because original CL landed > 1 day ago. BUG= chromium:702041 Change-Id: Ia7d933fd3d8ce4957788341463866a04679d7f2b Reviewed-on: https://pdfium-review.googlesource.com/4432 Reviewed-by: Nicolás Peña <npm@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Nicolás Peña <npm@chromium.org> [modify] https://crrev.com/f9f26b588e0b30fb581097e2a430f5c80f33b692/core/fxcrt/fx_basic_coords.cpp
,
Apr 21 2017
Thank you npm@ for landing revert in trunk. dsinclair@, please request a merge to M58 and M59 once change listed at #15 is baked/verified canary. Thank you.
,
Apr 21 2017
Flipping OS bits...
,
Apr 21 2017
And we still need to merge the revert to M58 and M59.
,
Apr 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0133c25d0075aeb32cc5a622f828ebd1eeb56209 commit 0133c25d0075aeb32cc5a622f828ebd1eeb56209 Author: pdfium-deps-roller@chromium.org <pdfium-deps-roller@chromium.org> Date: Fri Apr 21 21:58:56 2017 Roll src/third_party/pdfium/ 6058730c7..f9f26b588 (1 commit) https://pdfium.googlesource.com/pdfium.git/+log/6058730c73c7..f9f26b588e0b $ git log 6058730c7..f9f26b588 --date=short --no-merges --format='%ad %ae %s' 2017-04-21 npm Revert "Compare to epsilon instead of 0 in CFX_Matrix::SetReverse" Created with: roll-dep src/third_party/pdfium BUG= 714187 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, see: http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls TBR=dsinclair@chromium.org Change-Id: Iac8c023368531e3f3db46a37d7e8e836da2ac4ae Reviewed-on: https://chromium-review.googlesource.com/484681 Reviewed-by: <pdfium-deps-roller@chromium.org> Commit-Queue: <pdfium-deps-roller@chromium.org> Cr-Commit-Position: refs/heads/master@{#466460} [modify] https://crrev.com/0133c25d0075aeb32cc5a622f828ebd1eeb56209/DEPS
,
Apr 24 2017
Verified the issue on Windows 10, Mac 10.12.4 and Ubuntu 14.04 using latest chrome version #60.0.3079.0 as per comment #0. Observed that word OK was displayed on the screen after opening the broken.pdf file in chrome browser. Hence, the fix is working as expected. Attaching screen cast for reference. Hence, adding the verified labels. Thanks...!!
,
Apr 24 2017
,
Apr 24 2017
This bug requires manual review: DEPS changes referenced in bugdroid comments. Please contact the milestone owner if you have questions. Owners: amineer@(Android), cmasso@(iOS), gkihumba@(ChromeOS), Abdul Syed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Apr 24 2017
This bug requires manual review: Only 0 days from stable, we might already have a stable candidate build Please contact the milestone owner if you have questions. Owners: amineer@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Apr 24 2017
This bug requires manual review: DEPS changes referenced in bugdroid comments. Please contact the milestone owner if you have questions. Owners: amineer@(Android), cmasso@(iOS), gkihumba@(ChromeOS), Abdul Syed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Apr 24 2017
Approving merge to M58 branch 3029 and M59 branch 3071 per comment #20. Please merge ASAP. Thank you.
,
Apr 24 2017
The following revision refers to this bug: https://pdfium.googlesource.com/pdfium/+/9612873a07b631d29a47abf4f8e31eadf85d7798 commit 9612873a07b631d29a47abf4f8e31eadf85d7798 Author: Dan Sinclair <dsinclair@chromium.org> Date: Mon Apr 24 16:09:05 2017 [Merge M59] Revert "Compare to epsilon instead of 0 in CFX_Matrix::SetReverse" This reverts commit fbd9ea1db2f1bb7fa006e7304a1202afc683c142. Reason for revert: This check seems too strict BUG= chromium:714187 Original change's description: > Compare to epsilon instead of 0 in CFX_Matrix::SetReverse > > Since we are going to divide i by 0, it is better to compare it to epsilon > and avoid wonkiness from division by something too close to 0. > > BUG= chromium:702041 > > Change-Id: I8136d6063f8debd41cef37eaab7e4097b3f32f4b > Reviewed-on: https://pdfium-review.googlesource.com/3090 > Commit-Queue: Nicolás Peña <npm@chromium.org> > Reviewed-by: dsinclair <dsinclair@chromium.org> > TBR=tsepez@chromium.org,dsinclair@chromium.org,npm@chromium.org,pdfium-reviews@googlegroups.com BUG= chromium:702041 Change-Id: Ia7d933fd3d8ce4957788341463866a04679d7f2b Reviewed-on: https://pdfium-review.googlesource.com/4432 Reviewed-by: Nicolás Peña <npm@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Nicolás Peña <npm@chromium.org> (cherry picked from commit f9f26b588e0b30fb581097e2a430f5c80f33b692) Change-Id: Ieb241da85af89e01f2c3c3a73d21bd4fc04fca6c Reviewed-on: https://pdfium-review.googlesource.com/4452 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org> [modify] https://crrev.com/9612873a07b631d29a47abf4f8e31eadf85d7798/core/fxcrt/fx_basic_coords.cpp
,
Apr 24 2017
The following revision refers to this bug: https://pdfium.googlesource.com/pdfium/+/84213b529908d2b9095ad4c33ecc9fdf5d881df5 commit 84213b529908d2b9095ad4c33ecc9fdf5d881df5 Author: Dan Sinclair <dsinclair@chromium.org> Date: Mon Apr 24 19:23:05 2017 [Merge M58] Revert "Compare to epsilon instead of 0 in CFX_Matrix::SetReverse" This reverts commit fbd9ea1db2f1bb7fa006e7304a1202afc683c142. Reason for revert: This check seems too strict BUG= chromium:714187 Original change's description: > Compare to epsilon instead of 0 in CFX_Matrix::SetReverse > > Since we are going to divide i by 0, it is better to compare it to epsilon > and avoid wonkiness from division by something too close to 0. > > BUG= chromium:702041 > > Change-Id: I8136d6063f8debd41cef37eaab7e4097b3f32f4b > Reviewed-on: https://pdfium-review.googlesource.com/3090 > Commit-Queue: Nicolás Peña <npm@chromium.org> > Reviewed-by: dsinclair <dsinclair@chromium.org> > TBR=tsepez@chromium.org,dsinclair@chromium.org,npm@chromium.org,pdfium-reviews@googlegroups.com BUG= chromium:702041 Change-Id: Ia7d933fd3d8ce4957788341463866a04679d7f2b Reviewed-on: https://pdfium-review.googlesource.com/4432 Reviewed-by: Nicolás Peña <npm@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Nicolás Peña <npm@chromium.org> Reviewed-on: https://pdfium-review.googlesource.com/4451 Reviewed-by: dsinclair <dsinclair@chromium.org> [modify] https://crrev.com/84213b529908d2b9095ad4c33ecc9fdf5d881df5/core/fxcrt/fx_basic_coords.cpp
,
Apr 24 2017
Revert merged to M58 and M59.
,
Apr 24 2017
,
Apr 25 2017
,
Apr 25 2017
Mike, can we include Broken.pdf in our public test repo? That way, our bots will test it whenever we make changes, and make sure it does not break.
,
Apr 25 2017
The following revision refers to this bug: https://pdfium.googlesource.com/pdfium/+/00ab92f4c6cd045904a0f26d7e2c227217758f02 commit 00ab92f4c6cd045904a0f26d7e2c227217758f02 Author: Dan Sinclair <dsinclair@chromium.org> Date: Tue Apr 25 19:20:11 2017 Add test for bug 714187 This CL adds a minimized test case for https://crbug.com/714187 in order to keep it from regressing in the future. Bug: chromium:714187 Change-Id: I913f380c85a57621424d82165393b1616c2f6a9a Reviewed-on: https://pdfium-review.googlesource.com/4491 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> [add] https://crrev.com/00ab92f4c6cd045904a0f26d7e2c227217758f02/testing/resources/pixel/bug_714187_expected.pdf.0.png [add] https://crrev.com/00ab92f4c6cd045904a0f26d7e2c227217758f02/testing/resources/pixel/bug_714187.in
,
Apr 25 2017
I've added a test case which is a minimized version of Broken.pdf but doesn't really resemble Broken.pdf anymore.
,
Apr 25 2017
Great. Nevermind then.
,
Apr 25 2017
You can use it if you want. No worries.
,
Apr 25 2017
What is the timetable for this fix in v58 to rollout to the public?
,
May 2 2017
Tested the issue on Windows-7, Ubuntu 14.04 and Mac OS 10.12.3 using chrome latest Stable M58-58.0.3029.96 by following steps mentioned in the original comment. Observed that "OK" text is displaying as expected. Hence adding TE-Verified label. Please find the screen cast for reference. Thank you!
,
Jun 16 2017
,
Jul 6 2017
|
||||||||||||||||||||||||
►
Sign in to add a comment |
||||||||||||||||||||||||
Comment 1 by ligim...@chromium.org
, Apr 21 2017Status: Duplicate (was: Unconfirmed)