New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 714187 link

Starred by 4 users

Issue metadata

Status: Verified
Merged: issue 714184
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 1
Type: Bug



Sign in to add a comment

PDF's don't render properly in Chrome 58 - pdfium bug

Reported by mike.moe...@rtssigns.com, Apr 21 2017

Issue description

UserAgent: 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:
 
Broken.pdf
2.7 KB Download
Mergedinto: 714184
Status: Duplicate (was: Unconfirmed)
This PDF loads...just doesn't display the content.  Why was this merged into another bug?
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.

Cc: ligim...@chromium.org
Components: Internals>Plugins>PDF
Labels: Prestable-58.0.3029.81 Needs-Triage-M58 Needs-Bisect M-58
Status: Untriaged (was: Duplicate)
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.
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.

Components: Enterprise
Labels: ReleaseBlock-Stable

Comment 7 by npm@chromium.org, Apr 21 2017

Labels: -OS-Windows -Pri-2 OS-All Pri-1
Also able to reproduce on Linux, so I'm assuming it's OS-All.
I'm bisecting, BTW.
Owner: npm@chromium.org
Status: Assigned (was: Untriaged)
Bisect says... https://pdfium.googlesource.com/pdfium/+/fbd9ea1db2f1bb7fa006e7304a1202afc683c142
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?

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).

Comment 12 by npm@chromium.org, 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.
Cc: awhalley@chromium.org abdulsyed@chromium.org
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?

Comment 14 by npm@chromium.org, Apr 21 2017

Cc: npm@chromium.org
Owner: dsinclair@chromium.org
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.
Project Member

Comment 15 by bugdroid1@chromium.org, 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

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.
Labels: -OS-All OS-Chrome OS-Linux OS-Mac OS-Windows
Flipping OS bits...
Labels: -Needs-Triage-M58 M-59
And we still need to merge the revert to M58 and M59.
Project Member

Comment 19 by bugdroid1@chromium.org, 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

Labels: TE-Verified-M60 TE-Verified-60.0.3079.0
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...!!
714187.mp4
365 KB View Download
Labels: Merge-Request-58 Merge-Request-59
Project Member

Comment 22 by sheriffbot@chromium.org, Apr 24 2017

Labels: -Merge-Request-59 Merge-Review-59 Hotlist-Merge-Review
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
Project Member

Comment 23 by sheriffbot@chromium.org, Apr 24 2017

Labels: -Merge-Request-58 Merge-Review-58
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
Project Member

Comment 24 by sheriffbot@chromium.org, Apr 24 2017

Labels: -Merge-Request-59 Merge-Review-59 Hotlist-Merge-Review
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
Labels: -Merge-Review-58 -Merge-Review-59 Merge-Approved-59 Merge-Approved-58
Approving merge to M58 branch 3029 and M59 branch 3071 per comment #20. Please merge ASAP. Thank you.
Project Member

Comment 26 by bugdroid1@chromium.org, Apr 24 2017

Labels: -merge-approved-59 merge-merged-3071
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

Project Member

Comment 27 by bugdroid1@chromium.org, Apr 24 2017

Labels: -merge-approved-58 merge-merged-3029
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

Status: Fixed (was: Assigned)
Revert merged to M58 and M59.
Cc: blumberg@chromium.org
Cc: gov...@chromium.org
Labels: -Needs-Bisect
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.
Project Member

Comment 32 by bugdroid1@chromium.org, 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

I've added a test case which is a minimized version of Broken.pdf but doesn't really resemble Broken.pdf anymore.
Great. Nevermind then.
You can use it if you want.  No worries.
What is the timetable for this fix in v58 to rollout to the public?
Cc: rbasuvula@chromium.org
Labels: TE-Verified-M58 TE-Verified-58.0.3029.96
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!
714187.ogv
1.1 MB View Download
Labels: -Hotlist-Merge-Review
Status: Verified (was: Fixed)

Sign in to add a comment