New issue
Advanced search Search tips

Issue 845771 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 0
Type: Bug



Sign in to add a comment

Pdfium roll broke pdfium libfuzzer, causing compile failures

Project Member Reported by infe...@chromium.org, May 23 2018

Issue description

https://ci.chromium.org/buildbot/chromium.fyi/Libfuzzer%20Upload%20Linux%20ASan/13426
https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.fyi%2FLibfuzzer_Upload_Linux_ASan%2F13426%2F%2B%2Frecipes%2Fsteps%2Fcompile%2F0%2Flogs%2Fraw_io.output_failure_summary_%2F0

[30725/31015] LINK ./pdf_codec_bmp_fuzzer
FAILED: pdf_codec_bmp_fuzzer
python "../../build/toolchain/gcc_link_wrapper.py" --output="./pdf_codec_bmp_fuzzer" -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -fuse-ld=lld -Wl,--color-diagnostics -m64 -Werror -Wl,-O2 -Wl,--gc-sections -nostdlib++ --sysroot=../../build/linux/debian_sid_amd64-sysroot -L../../build/linux/debian_sid_amd64-sysroot/usr/local/lib/x86_64-linux-gnu -Wl,-rpath-link=../../build/linux/debian_sid_amd64-sysroot/usr/local/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/lib/x86_64-linux-gnu -Wl,-rpath-link=../../build/linux/debian_sid_amd64-sysroot/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu -Wl,-rpath-link=../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=leak -fsanitize-coverage=trace-pc-guard -Wl,-rpath-link=. -Wl,--disable-new-dtags -Wl,-rpath=\$ORIGIN/. -Wl,-rpath-link=. -Wl,-u_sanitizer_options_link_helper -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=leak -fsanitize-coverage=trace-pc-guard -o "./pdf_codec_bmp_fuzzer" -Wl,--start-group @"./pdf_codec_bmp_fuzzer.rsp" ./libc++.so -Wl,--end-group   -ldl -lpthread -lrt -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0
/b/build/slave/Libfuzzer_Upload_Linux_ASan/build/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld: error: undefined symbol: CFX_BufferSeekableReadStream::CFX_BufferSeekableReadStream(unsigned char const*, unsigned long)
>>> referenced by retain_ptr.h:125 (../../third_party/pdfium/core/fxcrt/retain_ptr.h:125)
>>>               obj/third_party/pdfium/testing/libfuzzer/pdf_codec_bmp_fuzzer/pdf_codec_bmp_fuzzer.o:(fxcrt::RetainPtr<CFX_BufferSeekableReadStream> pdfium::MakeRetain<CFX_BufferSeekableReadStream, unsigned char const*&, unsigned long&>(unsigned char const*&&&, unsigned long&&&))
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[30728/31015] LINK ./pdf_codec_gif_fuzzer
FAILED: pdf_codec_gif_fuzzer
python "../../build/toolchain/gcc_link_wrapper.py" --output="./pdf_codec_gif_fuzzer" -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -fuse-ld=lld -Wl,--color-diagnostics -m64 -Werror -Wl,-O2 -Wl,--gc-sections -nostdlib++ --sysroot=../../build/linux/debian_sid_amd64-sysroot -L../../build/linux/debian_sid_amd64-sysroot/usr/local/lib/x86_64-linux-gnu -Wl,-rpath-link=../../build/linux/debian_sid_amd64-sysroot/usr/local/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/lib/x86_64-linux-gnu -Wl,-rpath-link=../../build/linux/debian_sid_amd64-sysroot/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu -Wl,-rpath-link=../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=leak -fsanitize-coverage=trace-pc-guard -Wl,-rpath-link=. -Wl,--disable-new-dtags -Wl,-rpath=\$ORIGIN/. -Wl,-rpath-link=. -Wl,-u_sanitizer_options_link_helper -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=leak -fsanitize-coverage=trace-pc-guard -o "./pdf_codec_gif_fuzzer" -Wl,--start-group @"./pdf_codec_gif_fuzzer.rsp" ./libc++.so -Wl,--end-group   -ldl -lpthread -lrt -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0
/b/build/slave/Libfuzzer_Upload_Linux_ASan/build/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld: error: undefined symbol: CFX_BufferSeekableReadStream::CFX_BufferSeekableReadStream(unsigned char const*, unsigned long)
>>> referenced by retain_ptr.h:125 (../../third_party/pdfium/core/fxcrt/retain_ptr.h:125)
>>>               obj/third_party/pdfium/testing/libfuzzer/pdf_codec_gif_fuzzer/pdf_codec_gif_fuzzer.o:(fxcrt::RetainPtr<CFX_BufferSeekableReadStream> pdfium::MakeRetain<CFX_BufferSeekableReadStream, unsigned char const*&, unsigned long&>(unsigned char const*&&&, unsigned long&&&))
clang: error: linker command failed with exit code 1 (use -v to see invocation)
 
Cc: tsepez@chromium.org
Components: Internals>Plugins>PDF
Project Member

Comment 2 by bugdroid1@chromium.org, May 23 2018

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

commit 016d87f09425ca4e76ea08c219ab110802c9b6a1
Author: Abhishek Arya <inferno@chromium.org>
Date: Wed May 23 04:12:04 2018

Revert "Roll src/third_party/pdfium/ 7f472cd8a..86688dea3 (3 commits)"

This reverts commit 5ab205ce5d068abe7803083a1d5152def7f952b0.

Reason for revert: Broken pdfium libfuzzers

Bug:  845771 

Original change's description:
> Roll src/third_party/pdfium/ 7f472cd8a..86688dea3 (3 commits)
> 
> https://pdfium.googlesource.com/pdfium.git/+log/7f472cd8abe4..86688dea3b0d
> 
> $ git log 7f472cd8a..86688dea3 --date=short --no-merges --format='%ad %ae %s'
> 2018-05-22 thestig Make friend RetainPtr<T> statements consistently public.
> 2018-05-22 thestig Fix nits in fxjs.
> 2018-05-22 thestig Simplify CPDF_ShadingPattern::Validate().
> 
> Created with:
>   roll-dep src/third_party/pdfium
> 
> 
> The AutoRoll server is located here: https://pdfium-roll.skia.org
> 
> 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.
> 
> 
> TBR=dsinclair@chromium.org
> 
> Change-Id: I448003d54d9cdf3c6861696a1ff2796b6adfb76d
> Reviewed-on: https://chromium-review.googlesource.com/1069785
> Commit-Queue: pdfium-chromium-autoroll <pdfium-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
> Reviewed-by: pdfium-chromium-autoroll <pdfium-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/master@{#560885}

TBR=dsinclair@chromium.org,pdfium-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com

Change-Id: I6f75f6afac96c400dcddbb3a1604d87e69d14627
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/1069916
Reviewed-by: Abhishek Arya <inferno@chromium.org>
Commit-Queue: Abhishek Arya <inferno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560934}
[modify] https://crrev.com/016d87f09425ca4e76ea08c219ab110802c9b6a1/DEPS

Comment 3 by mmoroz@chromium.org, May 23 2018

Please note that this breakage affected not only fuzzing builds, but code coverage builds as well.

Comment 4 by mmoroz@chromium.org, May 23 2018

Cc: mmoroz@chromium.org
Had to revert once again: https://chromium-review.googlesource.com/c/chromium/src/+/1069926
I just stopped the autoroll bot via
https://pdfium-roll.skia.org/#

So that we dont have to continuously revert.

Status: Started (was: Assigned)
In PDFium, we had similar problems in the past, so we actually compile the fuzzer .cpp files. But we do not link them because we didn't want to bring in libfuzzer.

https://pdfium-review.googlesource.com/32895
Project Member

Comment 7 by bugdroid1@chromium.org, May 23 2018

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

commit d0f10a8240c2b68f8536ac0729b811088c13051a
Author: Lei Zhang <thestig@chromium.org>
Date: Wed May 23 17:55:10 2018

Fix linking errors in fuzzer targets.

Commit 86688dea moved some code out of a header, so now build targets
that used to only include the header need proper dependencies.

BUG= chromium:845771 

Change-Id: I28603eea721b0ee19c2539ecf93fc3c22c3a8298
Reviewed-on: https://pdfium-review.googlesource.com/32895
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>

[modify] https://crrev.com/d0f10a8240c2b68f8536ac0729b811088c13051a/testing/libfuzzer/BUILD.gn

Status: Fixed (was: Started)
Filed https://bugs.chromium.org/p/pdfium/issues/detail?id=1088 for building fuzzers in standalone PDFium, so issues like this does not happen again.
Project Member

Comment 10 by bugdroid1@chromium.org, May 23 2018

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

commit 6853782ce5e07ef4ff71d5f71d89ca6c40fac5d8
Author: pdfium-chromium-autoroll <pdfium-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Wed May 23 19:11:56 2018

Roll src/third_party/pdfium/ 7f472cd8a..d0f10a824 (5 commits)

https://pdfium.googlesource.com/pdfium.git/+log/7f472cd8abe4..d0f10a8240c2

$ git log 7f472cd8a..d0f10a824 --date=short --no-merges --format='%ad %ae %s'
2018-05-23 thestig Fix linking errors in fuzzer targets.
2018-05-23 dsinclair Move SkFloatToDecimal pow10 inside anonymous namespace
2018-05-22 thestig Make friend RetainPtr<T> statements consistently public.
2018-05-22 thestig Fix nits in fxjs.
2018-05-22 thestig Simplify CPDF_ShadingPattern::Validate().

Created with:
  roll-dep src/third_party/pdfium
BUG= chromium:845771 , chromium:845505 


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

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.


TBR=dsinclair@chromium.org

Change-Id: I69f400d567a3d72c93161d10f2ecc57ec7b2d8fa
Reviewed-on: https://chromium-review.googlesource.com/1067687
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@{#561193}
[modify] https://crrev.com/6853782ce5e07ef4ff71d5f71d89ca6c40fac5d8/DEPS

Sign in to add a comment