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

Issue 717832 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

webrtc roll broke libfuzzer

Project Member Reported by aarya@google.com, May 3 2017

Issue description

https://build.chromium.org/p/chromium.fyi/builders/Libfuzzer%20Upload%20Linux%20ASan%20Debug

[3726/13867] CXX obj/third_party/swiftshader/src/Reactor/swiftshader_reactor/Optimizer.o
[3727/13867] LINK ./neteq_rtp_fuzzer
FAILED: neteq_rtp_fuzzer 
python "../../build/toolchain/gcc_link_wrapper.py" --output="./neteq_rtp_fuzzer" -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -fuse-ld=gold -B../../third_party/binutils/Linux_x64/Release/bin -Wl,--threads -Wl,--thread-count=4 -m64 -pthread -Werror -Wl,--gdb-index --sysroot=../../build/linux/debian_jessie_amd64-sysroot -L/b/build/slave/Libfuzzer_Upload_Linux_ASan_Debug/build/src/build/linux/debian_jessie_amd64-sysroot/lib/x86_64-linux-gnu -Wl,-rpath-link=/b/build/slave/Libfuzzer_Upload_Linux_ASan_Debug/build/src/build/linux/debian_jessie_amd64-sysroot/lib/x86_64-linux-gnu -L/b/build/slave/Libfuzzer_Upload_Linux_ASan_Debug/build/src/build/linux/debian_jessie_amd64-sysroot/usr/lib/x86_64-linux-gnu -Wl,-rpath-link=/b/build/slave/Libfuzzer_Upload_Linux_ASan_Debug/build/src/build/linux/debian_jessie_amd64-sysroot/usr/lib/x86_64-linux-gnu -L/b/build/slave/Libfuzzer_Upload_Linux_ASan_Debug/build/src/build/linux/debian_jessie_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6 -Wl,-rpath-link=/b/build/slave/Libfuzzer_Upload_Linux_ASan_Debug/build/src/build/linux/debian_jessie_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6 -L/b/build/slave/Libfuzzer_Upload_Linux_ASan_Debug/build/src/build/linux/debian_jessie_amd64-sysroot/usr/lib -Wl,-rpath-link=/b/build/slave/Libfuzzer_Upload_Linux_ASan_Debug/build/src/build/linux/debian_jessie_amd64-sysroot/usr/lib -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,--export-dynamic -Wl,-u_sanitizer_options_link_helper -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=leak -fsanitize-coverage=trace-pc-guard -stdlib=libc++ -Wl,-rpath,\$ORIGIN/ -L. -o "./neteq_rtp_fuzzer" -Wl,--start-group @"./neteq_rtp_fuzzer.rsp" ./libbase.so ./libboringssl.so ./libc++.so ./libprotobuf_globals.so -Wl,--end-group  -ldl -lrt -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lXext -lX11 -lXcomposite -lXrender -lm 
../../third_party/webrtc/base/natsocketfactory.cc:418: error: undefined reference to 'rtc::VirtualSocketServer::VirtualSocketServer(rtc::SocketServer*)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
 
Cc: kjellander@chromium.org
Owner: mbonadei@chromium.org
It's caused by https://codereview.webrtc.org/2852663002 combined with the fact that virtualsocketserver.cc is excluded for Chromium builds (an optimization): 
https://cs.chromium.org/chromium/src/third_party/webrtc/base/BUILD.gn?rcl=cbb47fe81a77e7d882b2fc8c0412cbfb0d403d21&l=538

We can probably fix this instead of reverting the roll, so we'll prioritize that today.
Long term, we really need to setup Chromium (or Chromium-like) trybots as mandatory for WebRTC so we can catch things like this earlier. An easier (short term) alternative could be to add a libfuzzer configuration to https://build.chromium.org/p/chromium.webrtc.fyi/waterfall
Status: Started (was: Assigned)
+perkj as current WebRTC-in-Chrome sheriff, who will perform the roll once the fix is landed.
Project Member

Comment 4 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/0b16a6294b40ecd8f4a5e45b4ce1c44825d7e955

commit 0b16a6294b40ecd8f4a5e45b4ce1c44825d7e955
Author: mbonadei <mbonadei@webrtc.org>
Date: Wed May 03 12:22:35 2017

Adding virtualsocketserver to rtc_base sources

virtualsocketserver.h and virtualsocketserver.cc were excluded from the
sources list if build_with_chromium is true.
This causes a chromium compilation error because after [1] some deps are
explicit.

[1] - https://codereview.webrtc.org/2852663002

BUG= chromium:717832 
NOTRY=True

Review-Url: https://codereview.webrtc.org/2855103003
Cr-Commit-Position: refs/heads/master@{#17989}

[modify] https://crrev.com/0b16a6294b40ecd8f4a5e45b4ce1c44825d7e955/webrtc/base/BUILD.gn

Cc: niklase@chromium.org
Project Member

Comment 6 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/41102775da8a8a1223518ce45d2e324eb5d2710f

commit 41102775da8a8a1223518ce45d2e324eb5d2710f
Author: mbonadei <mbonadei@webrtc.org>
Date: Wed May 03 18:31:38 2017

fixing braces around initialization of subobject

BUG= chromium:717832 
NOTRY=True

Review-Url: https://codereview.webrtc.org/2861533005
Cr-Commit-Position: refs/heads/master@{#18001}

[modify] https://crrev.com/41102775da8a8a1223518ce45d2e324eb5d2710f/webrtc/base/virtualsocketserver.cc

Status: Fixed (was: Started)
This was fixed with https://chromium.googlesource.com/chromium/src/+/070b9d4999b7617e092b3f47ef4f936446f9612b

Sorry for breaking libfuzzer again. We really need a trybot that protects these things. Then we can run that for our roll-CLs.
Thanks everyone!

Yeah... I pinged  issue 646404  once again.

Sign in to add a comment