New issue
Advanced search Search tips

Issue 881678 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Sep 14
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

Timeout in pdf_cmap_fuzzer

Project Member Reported by ClusterFuzz, Sep 7

Issue description

Detailed report: https://clusterfuzz.com/testcase?key=5397319202373632

Fuzzer: libFuzzer_pdf_cmap_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Timeout (exceeds 25 secs)
Crash Address: 
Crash State:
  pdf_cmap_fuzzer
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=506530:506568

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5397319202373632

Issue filed automatically.

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reference.md for more information.
 
Project Member

Comment 1 by ClusterFuzz, Sep 7

Labels: Test-Predator-Auto-Owner
Owner: dsinclair@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://pdfium.googlesource.com/pdfium/+/75a205f03fb755f4766ea674e470ff8de5d905b7 (Remove CPDF_CMap friends).

If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label. If you aren't the correct owner for this issue, please unassign yourself as soon as possible so it can be re-triaged.
Components: Internals>Plugins>PDF
Owner: rharrison@chromium.org
Status: Started (was: Assigned)
Project Member

Comment 4 by bugdroid1@chromium.org, Sep 11

The following revision refers to this bug:
  https://pdfium.googlesource.com/pdfium/+/5c86fd4c5110a99606316721786f1ba9bf0d855a

commit 5c86fd4c5110a99606316721786f1ba9bf0d855a
Author: Ryan Harrison <rharrison@chromium.org>
Date: Tue Sep 11 19:19:32 2018

Small optimizations for CBC_HighLevelEncoder::lookAheadTest

Currently ClusterFuzz is timing out when running cases that cause a
large number of calls to this method. Looking at the cases, I believe
these to be valid calls, so this CL attempts to lower the cost of
making each individual call.

Adds in pre-allocation of a vector that has a fixed size and uses a
const-ref for passing in |msg| to avoid copying.

BUG= chromium:881678 

Change-Id: I61ec4dc96e79c84def5b10102cc58a96773ce07f
Reviewed-on: https://pdfium-review.googlesource.com/42230
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>

[modify] https://crrev.com/5c86fd4c5110a99606316721786f1ba9bf0d855a/fxbarcode/datamatrix/BC_HighLevelEncoder.h
[modify] https://crrev.com/5c86fd4c5110a99606316721786f1ba9bf0d855a/fxbarcode/datamatrix/BC_HighLevelEncoder.cpp

Project Member

Comment 5 by bugdroid1@chromium.org, Sep 11

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9b5775ce3f0b2980ea64b80a28d95111284b762f

commit 9b5775ce3f0b2980ea64b80a28d95111284b762f
Author: pdfium-chromium-autoroll <pdfium-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Tue Sep 11 21:47:24 2018

Roll src/third_party/pdfium 7a45d5722c7e..5c86fd4c5110 (1 commits)

https://pdfium.googlesource.com/pdfium.git/+log/7a45d5722c7e..5c86fd4c5110


git log 7a45d5722c7e..5c86fd4c5110 --date=short --no-merges --format='%ad %ae %s'
2018-09-11 rharrison@chromium.org Small optimizations for CBC_HighLevelEncoder::lookAheadTest


Created with:
  gclient setdep -r src/third_party/pdfium@5c86fd4c5110

The AutoRoll server is located here: https://autoroll.skia.org/r/pdfium-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.



BUG= chromium:881678 
TBR=dsinclair@chromium.org

Change-Id: Ic8d21e5a9bf9c488a9e7f33f9da6b83c85c636c1
Reviewed-on: https://chromium-review.googlesource.com/1220234
Reviewed-by: pdfium-chromium-autoroll <pdfium-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: pdfium-chromium-autoroll <pdfium-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#590486}
[modify] https://crrev.com/9b5775ce3f0b2980ea64b80a28d95111284b762f/DEPS

Project Member

Comment 6 by bugdroid1@chromium.org, Sep 12

The following revision refers to this bug:
  https://pdfium.googlesource.com/pdfium/+/5b9a0a9c12960e303d312656da4d49c8997b617d

commit 5b9a0a9c12960e303d312656da4d49c8997b617d
Author: Ryan Harrison <rharrison@chromium.org>
Date: Wed Sep 12 19:09:06 2018

Optimize CPDF_CMapParser

In this parser, a vector of CodeRange values are built up during
operations that need to be sync'd with the CPDF_CMap that is being
initialized. In the existing implementation, the vector being built as
a member var for the parser, and copying the values over to the cmap
whenever there is a change. When profiling, this copy is where the code
spends most of its time.

The code has been rewritten to have the parser reference/modify the
instance of the vector in the cmap instead of having its own copy. This
removes all of the copies and significantly speeds things up.

BUG= chromium:881678 

Change-Id: Ib8e75962507ca3d3b1ed066fd1faa4fbb7141122
Reviewed-on: https://pdfium-review.googlesource.com/42350
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>

[modify] https://crrev.com/5b9a0a9c12960e303d312656da4d49c8997b617d/core/fpdfapi/font/cpdf_cmapparser.cpp
[modify] https://crrev.com/5b9a0a9c12960e303d312656da4d49c8997b617d/core/fpdfapi/font/cpdf_cmap.h
[modify] https://crrev.com/5b9a0a9c12960e303d312656da4d49c8997b617d/core/fpdfapi/font/cpdf_cmapparser.h

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cae0209f6aa85d1f229f47bec639d388639ae7b0

commit cae0209f6aa85d1f229f47bec639d388639ae7b0
Author: pdfium-chromium-autoroll <pdfium-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Wed Sep 12 23:22:44 2018

Roll src/third_party/pdfium 987416db2271..01c91e48b283 (2 commits)

https://pdfium.googlesource.com/pdfium.git/+log/987416db2271..01c91e48b283


git log 987416db2271..01c91e48b283 --date=short --no-merges --format='%ad %ae %s'
2018-09-12 thestig@chromium.org Roll testing/corpus/ e1005e0e7..6cd71979b (1 commit)
2018-09-12 rharrison@chromium.org Optimize CPDF_CMapParser


Created with:
  gclient setdep -r src/third_party/pdfium@01c91e48b283

The AutoRoll server is located here: https://autoroll.skia.org/r/pdfium-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.



BUG= chromium:880920 ,chromium:883026, chromium:881678 
TBR=dsinclair@chromium.org

Change-Id: I568df1014f4041ca53ea2aa93ef6837afd0b5329
Reviewed-on: https://chromium-review.googlesource.com/1222707
Reviewed-by: pdfium-chromium-autoroll <pdfium-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: pdfium-chromium-autoroll <pdfium-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#590855}
[modify] https://crrev.com/cae0209f6aa85d1f229f47bec639d388639ae7b0/DEPS

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 13

The following revision refers to this bug:
  https://pdfium.googlesource.com/pdfium/+/882ed81dec7afc5bc106f965af34f1e59407fd95

commit 882ed81dec7afc5bc106f965af34f1e59407fd95
Author: Ryan Harrison <rharrison@chromium.org>
Date: Thu Sep 13 17:45:05 2018

Make things more const-y

Follow up to https://pdfium-review.googlesource.com/c/pdfium/+/42350
to use const more in the changed code.

BUG= chromium:881678 

Change-Id: I7a88862952c9ba25ffa89c2827e1de322f3b5c33
Reviewed-on: https://pdfium-review.googlesource.com/42370
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>

[modify] https://crrev.com/882ed81dec7afc5bc106f965af34f1e59407fd95/core/fpdfapi/font/cpdf_cmapparser.cpp
[modify] https://crrev.com/882ed81dec7afc5bc106f965af34f1e59407fd95/core/fpdfapi/font/cpdf_cmap.h

Project Member

Comment 9 by bugdroid1@chromium.org, Sep 13

The following revision refers to this bug:
  https://pdfium.googlesource.com/pdfium/+/5700d9e2eea5813861920995815ac092fd7df973

commit 5700d9e2eea5813861920995815ac092fd7df973
Author: Tom Sepez <tsepez@chromium.org>
Date: Thu Sep 13 18:31:29 2018

Revert "Make things more const-y"

This reverts commit 882ed81dec7afc5bc106f965af34f1e59407fd95.

Reason for revert: Rule out that this be making embeddertest flakey.
Seems improbable, but maybe the const is allowing the compiler to use stale data in a non-logically const operation ???

Original change's description:
> Make things more const-y
> 
> Follow up to https://pdfium-review.googlesource.com/c/pdfium/+/42350
> to use const more in the changed code.
> 
> BUG= chromium:881678 
> 
> Change-Id: I7a88862952c9ba25ffa89c2827e1de322f3b5c33
> Reviewed-on: https://pdfium-review.googlesource.com/42370
> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
> Reviewed-by: Lei Zhang <thestig@chromium.org>
> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>

TBR=thestig@chromium.org,hnakashima@chromium.org,rharrison@chromium.org

Change-Id: Ifee656f151d3e6dab6de33c3b96b37b9809004c4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:881678 
Reviewed-on: https://pdfium-review.googlesource.com/42372
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>

[modify] https://crrev.com/5700d9e2eea5813861920995815ac092fd7df973/core/fpdfapi/font/cpdf_cmapparser.cpp
[modify] https://crrev.com/5700d9e2eea5813861920995815ac092fd7df973/core/fpdfapi/font/cpdf_cmap.h

Project Member

Comment 10 by bugdroid1@chromium.org, Sep 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f24a76752babcc8f3f128694fa746c0d99df1ac8

commit f24a76752babcc8f3f128694fa746c0d99df1ac8
Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Date: Thu Sep 13 18:37:29 2018

Roll src/third_party/pdfium aebace3bd14e..882ed81dec7a (2 commits)

https://pdfium.googlesource.com/pdfium.git/+log/aebace3bd14e..882ed81dec7a


git log aebace3bd14e..882ed81dec7a --date=short --no-merges --format='%ad %ae %s'
2018-09-13 rharrison@chromium.org Make things more const-y
2018-09-13 tsepez@chromium.org Introduce FX_Number class as a replacement for FX_atonum().


Created with:
  gclient setdep -r src/third_party/pdfium@882ed81dec7a

The AutoRoll server is located here: https://autoroll.skia.org/r/pdfium-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.



BUG= chromium:881678 
TBR=dsinclair@chromium.org

Change-Id: I4a3acbf5b2eb5b683fc7d838c38e13f7a9ac06a2
Reviewed-on: https://chromium-review.googlesource.com/1225116
Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#591082}
[modify] https://crrev.com/f24a76752babcc8f3f128694fa746c0d99df1ac8/DEPS

Project Member

Comment 11 by bugdroid1@chromium.org, Sep 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/98ad169d8b3c69de83780b506e058d5ab9cdb676

commit 98ad169d8b3c69de83780b506e058d5ab9cdb676
Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Date: Thu Sep 13 19:36:56 2018

Roll src/third_party/pdfium 882ed81dec7a..5700d9e2eea5 (2 commits)

https://pdfium.googlesource.com/pdfium.git/+log/882ed81dec7a..5700d9e2eea5


git log 882ed81dec7a..5700d9e2eea5 --date=short --no-merges --format='%ad %ae %s'
2018-09-13 tsepez@chromium.org Revert "Make things more const-y"
2018-09-13 tsepez@chromium.org Test that FX_TryRealloc failure leaves original contents intact


Created with:
  gclient setdep -r src/third_party/pdfium@5700d9e2eea5

The AutoRoll server is located here: https://autoroll.skia.org/r/pdfium-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.



BUG= chromium:881678 
TBR=dsinclair@chromium.org

Change-Id: I14dd5dc9ed13c9fcf8c7c469116521e77679b5d2
Reviewed-on: https://chromium-review.googlesource.com/1224482
Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#591113}
[modify] https://crrev.com/98ad169d8b3c69de83780b506e058d5ab9cdb676/DEPS

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 13

The following revision refers to this bug:
  https://pdfium.googlesource.com/pdfium/+/a2fc263db880054e1c2bee37af3f8a189b9e1d2f

commit a2fc263db880054e1c2bee37af3f8a189b9e1d2f
Author: Tom Sepez <tsepez@chromium.org>
Date: Thu Sep 13 19:41:40 2018

Reland "Make things more const-y"

This reverts commit 5700d9e2eea5813861920995815ac092fd7df973.

Reason for revert: Harmless, I think.

Original change's description:
> Revert "Make things more const-y"
> 
> This reverts commit 882ed81dec7afc5bc106f965af34f1e59407fd95.
> 
> Reason for revert: Rule out that this be making embeddertest flakey.
> Seems improbable, but maybe the const is allowing the compiler to use stale data in a non-logically const operation ???
> 
> Original change's description:
> > Make things more const-y
> > 
> > Follow up to https://pdfium-review.googlesource.com/c/pdfium/+/42350
> > to use const more in the changed code.
> > 
> > BUG= chromium:881678 
> > 
> > Change-Id: I7a88862952c9ba25ffa89c2827e1de322f3b5c33
> > Reviewed-on: https://pdfium-review.googlesource.com/42370
> > Commit-Queue: Ryan Harrison <rharrison@chromium.org>
> > Reviewed-by: Lei Zhang <thestig@chromium.org>
> > Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
> 
> TBR=thestig@chromium.org,hnakashima@chromium.org,rharrison@chromium.org
> 
> Change-Id: Ifee656f151d3e6dab6de33c3b96b37b9809004c4
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug:  chromium:881678 
> Reviewed-on: https://pdfium-review.googlesource.com/42372
> Reviewed-by: Tom Sepez <tsepez@chromium.org>
> Commit-Queue: Tom Sepez <tsepez@chromium.org>

TBR=thestig@chromium.org,tsepez@chromium.org,hnakashima@chromium.org,rharrison@chromium.org

Change-Id: I24de62969b039288596aa4d0b268ad49728e4891
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:881678 
Reviewed-on: https://pdfium-review.googlesource.com/42393
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>

[modify] https://crrev.com/a2fc263db880054e1c2bee37af3f8a189b9e1d2f/core/fpdfapi/font/cpdf_cmapparser.cpp
[modify] https://crrev.com/a2fc263db880054e1c2bee37af3f8a189b9e1d2f/core/fpdfapi/font/cpdf_cmap.h

Project Member

Comment 13 by bugdroid1@chromium.org, Sep 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/89905c645a934f6eac90645d1218c71f0656fb42

commit 89905c645a934f6eac90645d1218c71f0656fb42
Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Date: Thu Sep 13 22:04:27 2018

Roll src/third_party/pdfium 29e180342e18..a2fc263db880 (1 commits)

https://pdfium.googlesource.com/pdfium.git/+log/29e180342e18..a2fc263db880


git log 29e180342e18..a2fc263db880 --date=short --no-merges --format='%ad %ae %s'
2018-09-13 tsepez@chromium.org Reland "Make things more const-y"


Created with:
  gclient setdep -r src/third_party/pdfium@a2fc263db880

The AutoRoll server is located here: https://autoroll.skia.org/r/pdfium-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.



BUG= chromium:881678 
TBR=dsinclair@chromium.org

Change-Id: Idc45cbb4f07100eb520120a5043c73ea2291172e
Reviewed-on: https://chromium-review.googlesource.com/1225316
Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#591176}
[modify] https://crrev.com/89905c645a934f6eac90645d1218c71f0656fb42/DEPS

Project Member

Comment 14 by ClusterFuzz, Sep 14

ClusterFuzz has detected this issue as fixed in range 590850:590861.

Detailed report: https://clusterfuzz.com/testcase?key=5397319202373632

Fuzzer: libFuzzer_pdf_cmap_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Timeout (exceeds 25 secs)
Crash Address: 
Crash State:
  pdf_cmap_fuzzer
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=506530:506568
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=590850:590861

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5397319202373632

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reference.md for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Project Member

Comment 15 by ClusterFuzz, Sep 14

Labels: ClusterFuzz-Verified
Status: Verified (was: Started)
ClusterFuzz testcase 5397319202373632 is verified as fixed, so closing issue as verified.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.

Sign in to add a comment