Recent WebRTC roll broke all libFuzzer builds |
||||
Issue descriptionThis roll of WebRTC (https://codereview.chromium.org/2316333002) has broken all libFuzzer builds: https://build.chromium.org/p/chromium.fyi/builders/Libfuzzer%20Upload%20Linux%20ASan https://build.chromium.org/p/chromium.fyi/builders/Libfuzzer%20Upload%20Linux%20MSan https://build.chromium.org/p/chromium.fyi/builders/Libfuzzer%20Upload%20Linux%20UBSan https://build.chromium.org/p/chromium.fyi/builders/Libfuzzer%20Upload%20Linux%20ASan%20Debug https://build.chromium.org/p/chromium.fyi/builders/Afl%20Upload%20Linux%20ASan https://build.chromium.org/p/chromium.fyi/builders/Libfuzzer%20Upload%20Mac%20ASan I've found that the culprit is https://chromium.googlesource.com/external/webrtc/trunk/webrtc.git/+/7ffa47eedf8fc7a17cda3b02c5ff256d39aa2511 Is there any chance to land a quick fix or we have to revert the roll?
,
Sep 8 2016
Reverted the offending WebRTC CL: https://codereview.webrtc.org/2328483002/
,
Sep 8 2016
,
Sep 8 2016
I'm reverting the roll: https://codereview.chromium.org/2322723003/.
,
Sep 8 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/10bcb7faee41e73e6d9396948a7b75a44a1c2038 commit 10bcb7faee41e73e6d9396948a7b75a44a1c2038 Author: magjed <magjed@chromium.org> Date: Thu Sep 08 12:10:54 2016 Revert of Roll WebRTC 14068:14111 (40 commits) (patchset #1 id:1 of https://codereview.chromium.org/2316333002/ ) Reason for revert: Broke all libFuzzer builds Original issue's description: > Roll WebRTC 14068:14111 (40 commits) > > Changes: https://chromium.googlesource.com/external/webrtc/trunk/webrtc.git/+log/6d6af9a..71740ff > > $ git log 6d6af9a..71740ff --date=short --no-merges --format=%ad %ae %s > 2016-09-07 deadbeef@webrtc.org Fixing stack buffer overflow (read) in SctpDataEngine. > 2016-09-07 aleloi@webrtc.org Simplifications of the mixing algorithm. > 2016-09-07 solenberg@webrtc.org Moving/renaming webrtc/common.h. > 2016-09-07 ehmaldonado@webrtc.org GN: Move variables from //build_overrides/webrtc.gni to //webrtc/build/webrtc.gni > 2016-09-07 perkj@webrtc.org Change OverUseFrameDetector to use a task queue instead of ProcessThread to periodically check for overuse. It is made to only operate on a single task queue. > 2016-09-07 aleloi@webrtc.org Several lock acquisitions and one of the two lock members are removed. ENSURE_LOCKS_REQUIRED and CalledOnValidThread annotations are added. > 2016-09-07 danilchap@webrtc.org Implement PlayoutDelay extension as a trait to be used with rtp::Packet class > 2016-09-07 danilchap@webrtc.org Relax expectation in EndToEndTest.CallReportsRttForSender test to reduce flakiness by ignoring potentional rounding errors and minor ntp time adjustments. > 2016-09-07 henrik.lundin@webrtc.org Setting up an RTP input fuzzer for NetEq > 2016-09-07 danilchap@webrtc.org Merge min_ms and max_ms accessors in PlayoutDelayOracle to reduce CriticalSection enterencies and avoid potentional synchronisation issues. > 2016-09-07 stefan@webrtc.org Only parse PPS up to PPS and SPS ids in the depacketizater. > 2016-09-07 kjellander@webrtc.org Disable -Wsentinel warning for Linux 32-bit builds. > 2016-09-07 stefan@webrtc.org Add time line for acked bitrate. > 2016-09-06 skvlad@webrtc.org Fixed flaky StunRequestTests which depended on the wall clock > 2016-09-06 skvlad@webrtc.org Increase timeout for flaky tests for ProcessThreadImpl > 2016-09-06 glaznev@google.com Add dynamic bitrate tracker and adjustment for Exynos VP8 HW encoder. > 2016-09-06 aluebs@webrtc.org Fix chromium-style errors in IntelligibilityEnhancer > 2016-09-06 nisse@webrtc.org Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2315703002/ ) > 2016-09-06 aleloi@webrtc.org Improvements to UI to python event log analyzer tool. > 2016-09-06 kwiberg@webrtc.org iSAC float: Handle errors in upper band decoding > 2016-09-06 nisse@webrtc.org Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #2 id:150001 of https://codereview.webrtc.org/2310043002/ ) > 2016-09-06 nisse@webrtc.org Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2306953002/ ) > 2016-09-06 danilchap@webrtc.org Remove dedicated unittest file for remb format RembStatus moved to RtcpSender unittest where it fits better Creating remb in Compound/ReducedSize modes already covered by RtcpSender unittests. Parsing remb already covered by RtcpReceiverTest.ReceivesRemb > 2016-09-06 kjellander@webrtc.org MB: Cleanup no-longer-used GN configurations > 2016-09-06 ehmaldonado@webrtc.org GN: Set WEBRTC_RESTRICT_LOGGING as is set in GYP. > 2016-09-06 sakal@webrtc.org Remove stop method from VideoTrackSourceInterface. > 2016-09-06 hbos@webrtc.org Significantly increased max_num_buffers_ of Vp9FrameBufferPool. > 2016-09-06 henrik.lundin@webrtc.org neteq_rtpplay: Add an error message for unmatched SSRC > 2016-09-06 kjellander@webrtc.org MB: Add Linux 32-bit Debug and Release trybots > 2016-09-06 kthelgason@webrtc.org Revert of Remove all reference to carbon api (patchset #2 id:20001 of https://codereview.webrtc.org/2299633002/ ) > 2016-09-06 kthelgason@webrtc.org Remove all reference to carbon api > 2016-09-05 zijiehe@chromium.org [WebRTC] Two DirectX capturers cannot work concurrently > 2016-09-05 zijiehe@chromium.org An early analysis shows in DirectX based capturer, Windows API returns larger dirty region than the real screen change. A similar behavior may happen on other platforms with damage notification support. So it's better to have an individual layer to handle the Differ logic, and remove capturing independent logic out of each ScreenCapturer* implementation. > 2016-09-05 ehmaldonado@webrtc.org GN: Apply optimize_max only on windows > 2016-09-05 danilchap@webrtc.org RtcpReceiverTest rewritten using public available interface IncomingPacket(const uint8_t*, size_t) is used as entry point instead of IncomingRTCPPacket(PacketInformation* out, RtcpParser* in); Result is validated by checking which callbacks were called instead of checking intermediate structure PacketInformaion. > 2016-09-05 kwiberg@webrtc.org rtc::Buffer: Let SetData and AppendData accept anything with .data() and .size() > 2016-09-05 danilchap@webrtc.org Use RtpPacketToSend in RtpSenderAudio. this eliminates reparsing of rtp packet on send audio path > 2016-09-05 asapersson@webrtc.org Revert of [WebRTC] A real ScreenCapturer test (patchset #8 id:240001 of https://codereview.webrtc.org/2268093002/ ) > 2016-09-05 ehmaldonado@webrtc.org MB: Add WebRTC FYI bots to mb_config.pyl. > 2016-09-05 ehmaldonado@webrtc.org GN Templates: Move common_inherited_config to the template. > > TBR= > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_archive_rel_ng;master.tryserver.chromium.mac:mac_chromium_archive_rel_ng > BUG= > > Committed: https://crrev.com/f4d002d10343c75d14c68d505760137420d22f46 > Cr-Commit-Position: refs/heads/master@{#417088} TBR= # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= chromium:645069 Review-Url: https://codereview.chromium.org/2322723003 Cr-Commit-Position: refs/heads/master@{#417261} [modify] https://crrev.com/10bcb7faee41e73e6d9396948a7b75a44a1c2038/DEPS
,
Sep 8 2016
The offending CL is gone now, thanks to the revert in comment 5.
,
Sep 8 2016
Looks fixed for me. And bots have successfully passed 'generate_build_files' step. Thanks a lot for the quick fix!
,
Sep 8 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/10bcb7faee41e73e6d9396948a7b75a44a1c2038 commit 10bcb7faee41e73e6d9396948a7b75a44a1c2038 Author: magjed <magjed@chromium.org> Date: Thu Sep 08 12:10:54 2016 Revert of Roll WebRTC 14068:14111 (40 commits) (patchset #1 id:1 of https://codereview.chromium.org/2316333002/ ) Reason for revert: Broke all libFuzzer builds Original issue's description: > Roll WebRTC 14068:14111 (40 commits) > > Changes: https://chromium.googlesource.com/external/webrtc/trunk/webrtc.git/+log/6d6af9a..71740ff > > $ git log 6d6af9a..71740ff --date=short --no-merges --format=%ad %ae %s > 2016-09-07 deadbeef@webrtc.org Fixing stack buffer overflow (read) in SctpDataEngine. > 2016-09-07 aleloi@webrtc.org Simplifications of the mixing algorithm. > 2016-09-07 solenberg@webrtc.org Moving/renaming webrtc/common.h. > 2016-09-07 ehmaldonado@webrtc.org GN: Move variables from //build_overrides/webrtc.gni to //webrtc/build/webrtc.gni > 2016-09-07 perkj@webrtc.org Change OverUseFrameDetector to use a task queue instead of ProcessThread to periodically check for overuse. It is made to only operate on a single task queue. > 2016-09-07 aleloi@webrtc.org Several lock acquisitions and one of the two lock members are removed. ENSURE_LOCKS_REQUIRED and CalledOnValidThread annotations are added. > 2016-09-07 danilchap@webrtc.org Implement PlayoutDelay extension as a trait to be used with rtp::Packet class > 2016-09-07 danilchap@webrtc.org Relax expectation in EndToEndTest.CallReportsRttForSender test to reduce flakiness by ignoring potentional rounding errors and minor ntp time adjustments. > 2016-09-07 henrik.lundin@webrtc.org Setting up an RTP input fuzzer for NetEq > 2016-09-07 danilchap@webrtc.org Merge min_ms and max_ms accessors in PlayoutDelayOracle to reduce CriticalSection enterencies and avoid potentional synchronisation issues. > 2016-09-07 stefan@webrtc.org Only parse PPS up to PPS and SPS ids in the depacketizater. > 2016-09-07 kjellander@webrtc.org Disable -Wsentinel warning for Linux 32-bit builds. > 2016-09-07 stefan@webrtc.org Add time line for acked bitrate. > 2016-09-06 skvlad@webrtc.org Fixed flaky StunRequestTests which depended on the wall clock > 2016-09-06 skvlad@webrtc.org Increase timeout for flaky tests for ProcessThreadImpl > 2016-09-06 glaznev@google.com Add dynamic bitrate tracker and adjustment for Exynos VP8 HW encoder. > 2016-09-06 aluebs@webrtc.org Fix chromium-style errors in IntelligibilityEnhancer > 2016-09-06 nisse@webrtc.org Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2315703002/ ) > 2016-09-06 aleloi@webrtc.org Improvements to UI to python event log analyzer tool. > 2016-09-06 kwiberg@webrtc.org iSAC float: Handle errors in upper band decoding > 2016-09-06 nisse@webrtc.org Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #2 id:150001 of https://codereview.webrtc.org/2310043002/ ) > 2016-09-06 nisse@webrtc.org Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2306953002/ ) > 2016-09-06 danilchap@webrtc.org Remove dedicated unittest file for remb format RembStatus moved to RtcpSender unittest where it fits better Creating remb in Compound/ReducedSize modes already covered by RtcpSender unittests. Parsing remb already covered by RtcpReceiverTest.ReceivesRemb > 2016-09-06 kjellander@webrtc.org MB: Cleanup no-longer-used GN configurations > 2016-09-06 ehmaldonado@webrtc.org GN: Set WEBRTC_RESTRICT_LOGGING as is set in GYP. > 2016-09-06 sakal@webrtc.org Remove stop method from VideoTrackSourceInterface. > 2016-09-06 hbos@webrtc.org Significantly increased max_num_buffers_ of Vp9FrameBufferPool. > 2016-09-06 henrik.lundin@webrtc.org neteq_rtpplay: Add an error message for unmatched SSRC > 2016-09-06 kjellander@webrtc.org MB: Add Linux 32-bit Debug and Release trybots > 2016-09-06 kthelgason@webrtc.org Revert of Remove all reference to carbon api (patchset #2 id:20001 of https://codereview.webrtc.org/2299633002/ ) > 2016-09-06 kthelgason@webrtc.org Remove all reference to carbon api > 2016-09-05 zijiehe@chromium.org [WebRTC] Two DirectX capturers cannot work concurrently > 2016-09-05 zijiehe@chromium.org An early analysis shows in DirectX based capturer, Windows API returns larger dirty region than the real screen change. A similar behavior may happen on other platforms with damage notification support. So it's better to have an individual layer to handle the Differ logic, and remove capturing independent logic out of each ScreenCapturer* implementation. > 2016-09-05 ehmaldonado@webrtc.org GN: Apply optimize_max only on windows > 2016-09-05 danilchap@webrtc.org RtcpReceiverTest rewritten using public available interface IncomingPacket(const uint8_t*, size_t) is used as entry point instead of IncomingRTCPPacket(PacketInformation* out, RtcpParser* in); Result is validated by checking which callbacks were called instead of checking intermediate structure PacketInformaion. > 2016-09-05 kwiberg@webrtc.org rtc::Buffer: Let SetData and AppendData accept anything with .data() and .size() > 2016-09-05 danilchap@webrtc.org Use RtpPacketToSend in RtpSenderAudio. this eliminates reparsing of rtp packet on send audio path > 2016-09-05 asapersson@webrtc.org Revert of [WebRTC] A real ScreenCapturer test (patchset #8 id:240001 of https://codereview.webrtc.org/2268093002/ ) > 2016-09-05 ehmaldonado@webrtc.org MB: Add WebRTC FYI bots to mb_config.pyl. > 2016-09-05 ehmaldonado@webrtc.org GN Templates: Move common_inherited_config to the template. > > TBR= > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_archive_rel_ng;master.tryserver.chromium.mac:mac_chromium_archive_rel_ng > BUG= > > Committed: https://crrev.com/f4d002d10343c75d14c68d505760137420d22f46 > Cr-Commit-Position: refs/heads/master@{#417088} TBR= # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= chromium:645069 Review-Url: https://codereview.chromium.org/2322723003 Cr-Commit-Position: refs/heads/master@{#417261} [modify] https://crrev.com/10bcb7faee41e73e6d9396948a7b75a44a1c2038/DEPS
,
Sep 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/external/webrtc.git/+/9365338db2e0505d6e5f8ea62fa8fe2c45ea8f74 commit 9365338db2e0505d6e5f8ea62fa8fe2c45ea8f74 Author: kjellander <kjellander@webrtc.org> Date: Fri Sep 09 07:05:58 2016 Only expose gflags target in non-Chromium and non-fuzzer builds. Since gflags is not present in Chromium nor the libfuzzer infrastructure, we have to ensure we don't accidentally depend on it in WebRTC code that is used in such places. BUG= chromium:645069 NOTRY=True Review-Url: https://codereview.webrtc.org/2321963002 Cr-Commit-Position: refs/heads/master@{#14145} [modify] https://crrev.com/9365338db2e0505d6e5f8ea62fa8fe2c45ea8f74/third_party/gflags/BUILD.gn
,
Sep 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/external/webrtc.git/+/b0afd97d6e86fcbff946b0244f465739159fce21 commit b0afd97d6e86fcbff946b0244f465739159fce21 Author: kjellander <kjellander@webrtc.org> Date: Fri Sep 09 07:27:29 2016 Revert of Only expose gflags target in non-Chromium and non-fuzzer builds. (patchset #1 id:40001 of https://codereview.webrtc.org/2321963002/ ) Reason for revert: Eh, I forgot to run the libfuzzer trybot :( broke in the main waterfall. Original issue's description: > Only expose gflags target in non-Chromium and non-fuzzer builds. > > Since gflags is not present in Chromium nor the libfuzzer infrastructure, > we have to ensure we don't accidentally depend on it in WebRTC code > that is used in such places. > > BUG= chromium:645069 > NOTRY=True > > Committed: https://crrev.com/9365338db2e0505d6e5f8ea62fa8fe2c45ea8f74 > Cr-Commit-Position: refs/heads/master@{#14145} TBR=ehmaldonado@webrtc.org,henrik.lundin@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= chromium:645069 Review-Url: https://codereview.webrtc.org/2320723007 Cr-Commit-Position: refs/heads/master@{#14149} [modify] https://crrev.com/b0afd97d6e86fcbff946b0244f465739159fce21/third_party/gflags/BUILD.gn
,
Sep 15 2016
The following revision refers to this bug: https://chromium.googlesource.com/external/webrtc.git/+/c26f77f5a6405be355218e6d7dcbd202a72c1f46 commit c26f77f5a6405be355218e6d7dcbd202a72c1f46 Author: henrik.lundin <henrik.lundin@webrtc.org> Date: Thu Sep 15 07:04:55 2016 Remove a couple of unnecessary dependencies on gflags BUG=webrtc:5447, chromium:645069 NOTRY=True Review-Url: https://codereview.webrtc.org/2335683002 Cr-Commit-Position: refs/heads/master@{#14221} [modify] https://crrev.com/c26f77f5a6405be355218e6d7dcbd202a72c1f46/webrtc/modules/audio_coding/BUILD.gn [modify] https://crrev.com/c26f77f5a6405be355218e6d7dcbd202a72c1f46/webrtc/test/BUILD.gn
,
Oct 5 2016
FYI: I have now relanded the NetEq RTP fuzzer test that caused the original problem. See https://codereview.webrtc.org/2384423002/. The test was rolled into chrome in https://codereview.chromium.org/2389943004. I have applied the patch to chrome locally, and successfully built and ran the fuzzer. Let me know if I manged to break things again (despite my precautions). |
||||
►
Sign in to add a comment |
||||
Comment 1 by kjellander@chromium.org
, Sep 8 2016Status: Assigned (was: Untriaged)