WebUiScreenLockerTest.TestFullscreenExit is flaky on Linux Chromium OS ASan LSan |
|||||||||
Issue descriptionWebUiScreenLockerTest.TestFullscreenExit intermittently fails reporting leaks on Linux Chromium OS ASan LSan bot. Sample failed builds: https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%281%29/29185 https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%281%29/29204 Sample leak: ==27927==ERROR: LeakSanitizer: detected memory leaks Direct leak of 92960 byte(s) in 415 object(s) allocated from: #0 0xb06b83 in __interceptor_malloc /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/asan/asan_malloc_linux.cc:146:3 #1 0x9c49920 in PartitionAllocGenericFlags base/allocator/partition_allocator/partition_alloc.h:354:48 #2 0x9c49920 in Alloc base/allocator/partition_allocator/partition_alloc.h:382 #3 0x9c49920 in WTF::Partitions::FastMalloc(unsigned long, char const*) third_party/blink/renderer/platform/wtf/allocator/partitions.h:114 #4 0x1a9dec88 in operator new third_party/blink/renderer/core/css/css_variable_data.h:23:3 #5 0x1a9dec88 in Create third_party/blink/renderer/core/css/css_variable_data.h:35 #6 0x1a9dec88 in blink::CSSVariableParser::ParseDeclarationValue(WTF::AtomicString const&, blink::CSSParserTokenRange, bool, blink::CSSParserContext const&) third_party/blink/renderer/core/css/parser/css_variable_parser.cc:180 #7 0x1a958b22 in blink::CSSParserImpl::ConsumeVariableValue(blink::CSSParserTokenRange, WTF::AtomicString const&, bool, bool) third_party/blink/renderer/core/css/parser/css_parser_impl.cc:969:11 #8 0x1a967892 in blink::CSSParserImpl::ConsumeDeclaration(blink::CSSParserTokenRange, blink::CSSParserImpl::RangeOffset const&, blink::StyleRuleBase::RuleType) third_party/blink/renderer/core/css/parser/css_parser_impl.cc:945:5 #9 0x1a95a830 in blink::CSSParserImpl::ConsumeDeclarationList(blink::CSSParserTokenStream&, blink::StyleRuleBase::RuleType) third_party/blink/renderer/core/css/parser/css_parser_impl.cc:874:9 #10 0x1a971df2 in blink::CSSParserImpl::ConsumeStyleRule(blink::CSSParserTokenStream&) third_party/blink/renderer/core/css/parser/css_parser_impl.cc:826:3 #11 0x1a961064 in blink::CSSParserImpl::ConsumeQualifiedRule(blink::CSSParserTokenStream&, blink::CSSParserImpl::AllowedRulesType) third_party/blink/renderer/core/css/parser/css_parser_impl.cc:527:12 #12 0x1a96225f in ConsumeRuleList<(lambda at ../../third_party/blink/renderer/core/css/parser/css_parser_impl.cc:264:34)> third_party/blink/renderer/core/css/parser/css_parser_impl.cc:440:16 #13 0x1a96225f in blink::CSSParserImpl::ParseStyleSheet(WTF::String const&, blink::CSSParserContext const*, blink::StyleSheetContents*, blink::CSSDeferPropertyParsing) third_party/blink/renderer/core/css/parser/css_parser_impl.cc:263 #14 0x1acc774d in ParseSheet third_party/blink/renderer/core/css/style_engine.cc:719:28 #15 0x1acc774d in blink::StyleEngine::CreateSheet(blink::Element&, WTF::String const&, WTF::TextPosition, blink::StyleEngineContext&) third_party/blink/renderer/core/css/style_engine.cc:688 #16 0x215e739a in blink::StyleElement::CreateSheet(blink::Element&, WTF::String const&) third_party/blink/renderer/core/css/style_element.cc:166:43 #17 0x215e6a78 in Process third_party/blink/renderer/core/css/style_element.cc:110:10 #18 0x215e6a78 in blink::StyleElement::FinishParsingChildren(blink::Element&) third_party/blink/renderer/core/css/style_element.cc:102 #19 0x1c0f41c8 in blink::HTMLStyleElement::FinishParsingChildren() third_party/blink/renderer/core/html/html_style_element.cc:70:21 #20 0x1be39831 in blink::HTMLElementStack::PopCommon() third_party/blink/renderer/core/html/parser/html_element_stack.cc:501:10 #21 0x1be3a6ab in blink::HTMLElementStack::Pop() third_party/blink/renderer/core/html/parser/html_element_stack.cc:179:3 #22 0x1bd8c039 in blink::HTMLTreeBuilder::ProcessEndTag(blink::AtomicHTMLToken*) third_party/blink/renderer/core/html/parser/html_tree_builder.cc:2041:29 #23 0x1bd70b17 in blink::HTMLTreeBuilder::ProcessToken(blink::AtomicHTMLToken*) third_party/blink/renderer/core/html/parser/html_tree_builder.cc:359:7 #24 0x1bd687fc in blink::HTMLTreeBuilder::ConstructTree(blink::AtomicHTMLToken*) third_party/blink/renderer/core/html/parser/html_tree_builder.cc:313:5 #25 0x1bc7c9c1 in blink::HTMLDocumentParser::ConstructTreeFromCompactHTMLToken(blink::CompactHTMLToken const&) third_party/blink/renderer/core/html/parser/html_document_parser.cc:735:18 #26 0x1bc7ab3b in blink::HTMLDocumentParser::ProcessTokenizedChunkFromBackgroundParser(std::__1::unique_ptr<blink::HTMLDocumentParser::TokenizedChunk, std::__1::default_delete<blink::HTMLDocumentParser::TokenizedChunk> >) third_party/blink/renderer/core/html/parser/html_document_parser.cc:519:5 #27 0x1bc73c85 in blink::HTMLDocumentParser::PumpPendingSpeculations() third_party/blink/renderer/core/html/parser/html_document_parser.cc:593:9 #28 0x1bc72ea5 in blink::HTMLDocumentParser::ResumeParsingAfterYield() third_party/blink/renderer/core/html/parser/html_document_parser.cc:267:3 #29 0xbf997e6 in Run base/callback.h:99:12 #30 0xbf997e6 in RunInternal third_party/blink/renderer/platform/wtf/functional.h:262 #31 0xbf997e6 in WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>, void ()>::Run() third_party/blink/renderer/platform/wtf/functional.h:247 #32 0x1a11c0ae in Run base/callback.h:99:12 #33 0x1a11c0ae in blink::TaskHandle::Runner::Run(blink::TaskHandle const&) third_party/blink/renderer/platform/web_task_runner.cc:55 #34 0x1a11d209 in Invoke<void (blink::TaskHandle::Runner::*)(const blink::TaskHandle &), base::WeakPtr<blink::TaskHandle::Runner>, blink::TaskHandle> base/bind_internal.h:516:12 #35 0x1a11d209 in MakeItSo<void (blink::TaskHandle::Runner::*)(const blink::TaskHandle &), base::WeakPtr<blink::TaskHandle::Runner>, blink::TaskHandle> base/bind_internal.h:636 #36 0x1a11d209 in RunImpl<void (blink::TaskHandle::Runner::*)(const blink::TaskHandle &), std::__1::tuple<base::WeakPtr<blink::TaskHandle::Runner>, blink::TaskHandle>, 0, 1> base/bind_internal.h:689 #37 0x1a11d209 in base::internal::Invoker<base::internal::BindState<void (blink::TaskHandle::Runner::*)(blink::TaskHandle const&), base::WeakPtr<blink::TaskHandle::Runner>, blink::TaskHandle>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:658 #38 0xbf997e6 in Run base/callback.h:99:12 #39 0xbf997e6 in RunInternal third_party/blink/renderer/platform/wtf/functional.h:262 #40 0xbf997e6 in WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>, void ()>::Run() third_party/blink/renderer/platform/wtf/functional.h:247 #41 0x100c75f4 in Run base/callback.h:99:12 #42 0x100c75f4 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101 #43 0xff6301f in base::sequence_manager::internal::ThreadControllerImpl::DoWork(base::sequence_manager::internal::ThreadControllerImpl::WorkType) base/task/sequence_manager/thread_controller_impl.cc:196:23 #44 0xff68c6e in Invoke<void (base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), const base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl> &, const base::sequence_manager::internal::ThreadControllerImpl::WorkType &> base/bind_internal.h:516:12 #45 0xff68c6e in MakeItSo<void (base::sequence_manager::internal::ThreadControllerImpl::*const &)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), const base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl> &, const base::sequence_manager::internal::ThreadControllerImpl::WorkType &> base/bind_internal.h:636 #46 0xff68c6e in RunImpl<void (base::sequence_manager::internal::ThreadControllerImpl::*const &)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), const std::__1::tuple<base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl>, base::sequence_manager::internal::ThreadControllerImpl::WorkType> &, 0, 1> base/bind_internal.h:689 #47 0xff68c6e in base::internal::Invoker<base::internal::BindState<void (base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl>, base::sequence_manager::internal::ThreadControllerImpl::WorkType>, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:671 #48 0x100c75f4 in Run base/callback.h:99:12 #49 0x100c75f4 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101
,
Sep 27
,
Sep 27
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bb9340f284df11a15403be121dd24b9b4b30bbfe commit bb9340f284df11a15403be121dd24b9b4b30bbfe Author: Marina Ciocea <marinaciocea@chromium.org> Date: Thu Sep 27 09:45:40 2018 Disable flaky test WebUiScreenLockerTest.TestFullscreenExit on Linux Chromium OS ASan LSan. TBR=jdufault@chromium.org Bug: 889782 Change-Id: I6be17af18c5dc92c3c8ed53b02357a8a9bf8ea3a Reviewed-on: https://chromium-review.googlesource.com/1248781 Commit-Queue: Marina Ciocea <marinaciocea@chromium.org> Reviewed-by: Marina Ciocea <marinaciocea@chromium.org> Cr-Commit-Position: refs/heads/master@{#594647} [modify] https://crrev.com/bb9340f284df11a15403be121dd24b9b4b30bbfe/chrome/browser/chromeos/login/lock/screen_locker_browsertest.cc
,
Sep 27
Jacob, please have a look at root cause for disabled test or help find a better owner, thank you.
,
Sep 27
Assigning to an owner of third_party/blink/renderer/core/html/parser/
,
Sep 28
Looks like a leak of CSSVariableData, not anything in the html parser.
,
Sep 28
+futhark, can you help triage?
,
Oct 1
Anders, did you land anything lately that could have caused leaks of CSSVariableData?
,
Oct 1
First commit with repro is a clang roll. hans@, have you seen any other reports regarding this roll? commit d54494cbad8d5ff0a8cd74024902c8bd86258ae4 Author: Hans Wennborg <hans@chromium.org> Date: Thu Aug 30 15:59:01 2018 +0000 Roll clang 338452:340925 Update clang_version from 7.0.0 to 8.0.0 and remove the code to remove the old library directory. Remove the _LIBCPP_HIDE_FROM_ABI define, it is no longer needed. R=hans@chromium.org,thakis@chromium.org Bug: 871418 , 872926 Change-Id: Ibf6734500aa75a349fa772b225b8b15fddfe3661 Reviewed-on: https://chromium-review.googlesource.com/1194698 Reviewed-by: Nico Weber <thakis@chromium.org> Commit-Queue: Hans Wennborg <hans@chromium.org> Cr-Commit-Position: refs/heads/master@{#587602}
,
Oct 1
> hans@, have you seen any other reports regarding this roll? Nothing LSan related, no. My guess is that the clang roll changed something that made an existing problem more likely to trigger.
,
Oct 1
Note that there are "direct leaks" of many different objects here: HTMLParserRentryPermit, ResourceRequest, TextResourceDecoder, etc ... so the problem doesn't seem CSSVariableData-specific.
,
Nov 7
I'm going to switch this test to views-login, which means it will no longer instantiate a webview, which should eliminate the flake since blink is no longer involved.
,
Nov 8
> hans@, have you seen any other reports regarding this roll? No, this is the only one I can find in my inbox at least. |
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by marinaciocea@chromium.org
, Sep 27Labels: Sheriff-Chromium
Owner: marinaciocea@chromium.org
Status: Started (was: Available)