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

Issue 777720 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 0
Type: Bug-Regression



Sign in to add a comment

Regression:NTP crashes on opening Devtools

Reported by shruti.j...@etouch.net, Oct 24 2017

Issue description

Chrome Version:63.0.3239.16 (Official Build) (64-bit) (cohort: 62_62_win)429b133a5af5a24d0d81d4a8b6a8f8d7d3385f13-refs/branch-heads/3239@{#157}

OS: Win(7,8,10), Mac(10.12.6) and Linux(14.04 LTS).

Steps to reproduce:
1.Launch chrome, go to NTP and open devtools.
2.Observe.


Actual Result: Tab crash is seen on NTP
Expected Result: Tab should not crash .

Uploaded Crash Report ID eea2ac4d6995df0b (Local Crash ID: 7fef8b8d-883d-4418-95d6-946569e12aab)



 
Stack trace for the Crash ID provided:
=======================================
CRASHED [EXCEPTION_BREAKPOINT @ 0x00007ffa5a2e8b9d ] MAGIC SIGNATURE THREAD
Stack Quality98%Show frame trust levels
0x00007ffa5a2e8b9d	(chrome_child.dll -inspectorstylesheet.cpp:233 )	blink::`anonymous namespace'::StyleSheetHandler::StartRuleBody
0x00007ffa5a0fa8b6	(chrome_child.dll -cssparserimpl.cpp:950 )	blink::CSSParserImpl::ConsumeDeclarationList(blink::CSSParserTokenStream &,blink::StyleRuleBase::RuleType)
0x00007ffa5a0fa7ed	(chrome_child.dll -cssparserimpl.cpp:936 )	blink::CSSParserImpl::ConsumeStyleRule(blink::CSSParserScopedTokenBuffer,blink::CSSParserImpl::RangeOffset const &,blink::CSSParserTokenStream &)
0x00007ffa5a0f9034	(chrome_child.dll -cssparserimpl.cpp:630 )	blink::CSSParserImpl::ConsumeQualifiedRule(blink::CSSParserTokenStream &,blink::CSSParserImpl::AllowedRulesType)
0x00007ffa5a0f7ba6	(chrome_child.dll -cssparserimpl.cpp:421 )	blink::CSSParserImpl::ParseStyleSheetForInspector(WTF::String const &,blink::CSSParserContext const *,blink::StyleSheetContents *,blink::CSSParserObserver &)
0x00007ffa5a2ee042	(chrome_child.dll -inspectorstylesheet.cpp:1396 )	blink::InspectorStyleSheet::InnerSetText(WTF::String const &,bool)
0x00007ffa5a2ec450	(chrome_child.dll -inspectorstylesheet.cpp:973 )	blink::InspectorStyleSheet::InspectorStyleSheet(blink::InspectorNetworkAgent *,blink::CSSStyleSheet *,WTF::String const &,WTF::String const &,blink::InspectorStyleSheetBase::Listener *,blink::InspectorResourceContainer *)
0x00007ffa5a29a117	(chrome_child.dll -inspectorcssagent.cpp:1820 )	blink::InspectorCSSAgent::BindStyleSheet(blink::CSSStyleSheet *)
0x00007ffa5a2948cf	(chrome_child.dll -inspectorcssagent.cpp:801 )	blink::InspectorCSSAgent::SetActiveStyleSheets(blink::Document *,blink::HeapVector<blink::Member<blink::CSSStyleSheet>,0> const &)
0x00007ffa5a294235	(chrome_child.dll -inspectorcssagent.cpp:764 )	blink::InspectorCSSAgent::UpdateActiveStyleSheets(blink::Document *)
0x00007ffa5a293fac	(chrome_child.dll -inspectorcssagent.cpp:726 )	blink::InspectorCSSAgent::WasEnabled()
0x00007ffa5a293ded	(chrome_child.dll -inspectorcssagent.cpp:712 )	blink::InspectorCSSAgent::ResourceContentLoaded(std::unique_ptr<blink::protocol::CSS::Backend::EnableCallback,std::default_delete<blink::protocol::CSS::Backend::EnableCallback> >)
0x00007ffa59b2adfb	(chrome_child.dll -bind_internal.h:331 )	base::internal::Invoker<base::internal::BindState<void ( blink::HTMLLinkElement::*)(std::unique_ptr<blink::IncrementLoadEventDelayCount,std::default_delete<blink::IncrementLoadEventDelayCount> >),blink::Persistent<blink::HTMLLinkElement>,WTF::PassedWrapper<std::unique_ptr<blink::IncrementLoadEventDelayCount,std::default_delete<blink::IncrementLoadEventDelayCount> > > >,void >::Run(base::internal::BindStateBase *)
0x00007ffa5a2e4ab8	(chrome_child.dll -inspectorresourcecontentloader.cpp:241 )	blink::InspectorResourceContentLoader::CheckDone()
0x00007ffa5a2e36d7	(chrome_child.dll -inspectorresourcecontentloader.cpp:93 )	blink::InspectorResourceContentLoader::ResourceClient::NotifyFinished(blink::Resource *)
0x00007ffa5a8a34d6	(chrome_child.dll -resource.cpp:359 )	blink::Resource::NotifyFinished()
0x00007ffa5a8a94bf	(chrome_child.dll -resourcefetcher.cpp:1372 )	blink::ResourceFetcher::HandleLoaderFinish(blink::Resource *,double,blink::ResourceFetcher::LoaderFinishType)
0x00007ffa5bbcebd1	(chrome_child.dll -web_url_loader_impl.cc:901 )	content::WebURLLoaderImpl::Context::OnCompletedRequest(int,bool,base::TimeTicks const &,__int64,__int64,__int64)
0x00007ffa5b15440d	(chrome_child.dll -resource_dispatcher.cc:375 )	content::ResourceDispatcher::OnRequestComplete(int,content::ResourceRequestCompletionStatus const &)
0x00007ffa5b160dd2	(chrome_child.dll -url_response_body_consumer.cc:174 )	content::URLResponseBodyConsumer::NotifyCompletionIfAppropriate()
0x00007ffa5b160e13	(chrome_child.dll -url_response_body_consumer.cc:69 )	content::URLResponseBodyConsumer::OnComplete(content::ResourceRequestCompletionStatus const &)
0x00007ffa5b15c015	(chrome_child.dll -url_loader_client_impl.cc:186 )	content::URLLoaderClientImpl::OnComplete(content::ResourceRequestCompletionStatus const &)
0x00007ffa5a445197	(chrome_child.dll -url_loader.mojom.cc:1053 )	content::mojom::URLLoaderClientStubDispatch::Accept(content::mojom::URLLoaderClient *,mojo::Message *)
0x00007ffa5a9e6146	(chrome_child.dll -interface_endpoint_client.cc:418 )	mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::Message *)
0x00007ffa5a9e7411	(chrome_child.dll -filter_chain.cc:40 )	mojo::FilterChain::Accept(mojo::Message *)
0x00007ffa5a9df7ee	(chrome_child.dll -multiplex_router.cc:874 )	mojo::internal::MultiplexRouter::ProcessIncomingMessage(mojo::internal::MultiplexRouter::MessageWrapper *,mojo::internal::MultiplexRouter::ClientCallBehavior,base::SequencedTaskRunner *)
0x00007ffa5a9ddb21	(chrome_child.dll -multiplex_router.cc:599 )	mojo::internal::MultiplexRouter::Accept(mojo::Message *)
0x00007ffa5a9e7411	(chrome_child.dll -filter_chain.cc:40 )	mojo::FilterChain::Accept(mojo::Message *)
0x00007ffa5a9e394b	(chrome_child.dll -connector.cc:439 )	mojo::Connector::ReadSingleMessage(unsigned int *)
0x00007ffa5a9e374b	(chrome_child.dll -connector.cc:469 )	mojo::Connector::ReadAllAvailableMessages()
0x00007ffa5a7946cd	(chrome_child.dll -simple_watcher.h:193 )	mojo::SimpleWatcher::DiscardReadyState(base::RepeatingCallback<void > const &,unsigned int,mojo::HandleSignalsState const &)
0x00007ffa5a9ed244	(chrome_child.dll -simple_watcher.cc:276 )	mojo::SimpleWatcher::OnHandleReady(int,unsigned int,mojo::HandleSignalsState const &)
0x00007ffa5a9ecaef	(chrome_child.dll -bind_internal.h:297 )	base::internal::InvokeHelper<1,void>::MakeItSo<void ( mojo::SimpleWatcher::*const &)(int,unsigned int,mojo::HandleSignalsState const &),base::WeakPtr<mojo::SimpleWatcher> const &,int const &,unsigned int const &,mojo::HandleSignalsState const &>(void ( mojo::SimpleWatcher::*const &)(int,unsigned int,mojo::HandleSignalsState const &),base::WeakPtr<mojo::SimpleWatcher> const &,int const &,unsigned int const &,mojo::HandleSignalsState const &)
0x00007ffa5a9ed331	(chrome_child.dll -bind_internal.h:331 )	base::internal::Invoker<base::internal::BindState<void ( mojo::SimpleWatcher::*)(int,unsigned int,mojo::HandleSignalsState const &),base::WeakPtr<mojo::SimpleWatcher>,int,unsigned int,mojo::HandleSignalsState>,void >::Run(base::internal::BindStateBase *)
0x00007ffa594bbfa8	(chrome_child.dll -task_annotator.cc:57 )	base::debug::TaskAnnotator::RunTask(char const *,base::PendingTask *)
0x00007ffa5a8bef69	(chrome_child.dll -task_queue_manager.cc:531 )	blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue(blink::scheduler::internal::WorkQueue *,bool,blink::scheduler::LazyNow,base::TimeTicks *)
0x00007ffa5a8bdff4	(chrome_child.dll -task_queue_manager.cc:322 )	blink::scheduler::TaskQueueManager::DoWork(bool)
0x00007ffa5af789d8	(chrome_child.dll -bind_internal.h:297 )	base::internal::InvokeHelper<1,void>::MakeItSo<void ( JsonPrefStore::*const &)(bool),base::WeakPtr<JsonPrefStore> const &,bool>(void ( JsonPrefStore::*const &)(bool),base::WeakPtr<JsonPrefStore> const &,bool &&)
0x00007ffa594bbfa8	(chrome_child.dll -task_annotator.cc:57 )	base::debug::TaskAnnotator::RunTask(char const *,base::PendingTask *)
0x00007ffa59476498	(chrome_child.dll -message_loop.cc:392 )	base::MessageLoop::RunTask(base::PendingTask *)
0x00007ffa594766e7	(chrome_child.dll -message_loop.cc:404 )	base::MessageLoop::DeferOrRunPendingTask(base::PendingTask)
0x00007ffa594768f4	(chrome_child.dll -message_loop.cc:450 )	base::MessageLoop::DoWork()
0x00007ffa594d0fd0	(chrome_child.dll -message_pump_default.cc:37 )	base::MessagePumpDefault::Run(base::MessagePump::Delegate *)
0x00007ffa594a0419	(chrome_child.dll -run_loop.cc:118 )	base::RunLoop::Run()
0x00007ffa5b347780	(chrome_child.dll -renderer_main.cc:220 )	content::RendererMain(content::MainFunctionParams const &)
0x00007ffa5a9d2a6b	(chrome_child.dll -content_main_runner.cc:430 )	content::RunNamedProcessTypeMain(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,content::MainFunctionParams const &,content::ContentMainDelegate *)
0x00007ffa5a9d2878	(chrome_child.dll -content_main_runner.cc:710 )	content::ContentMainRunnerImpl::Run()
0x00007ffa5a9d9096	(chrome_child.dll -main.cc:469 )	service_manager::Main(service_manager::MainParams const &)
0x00007ffa5a9d2177	(chrome_child.dll -content_main.cc:19 )	content::ContentMain(content::ContentMainParams const &)
0x00007ffa5a4365f9	(chrome_child.dll -chrome_main.cc:123 )	ChromeMain
0x00007ff6ec57880f	(chrome.exe -main_dll_loader_win.cc:199 )	MainDllLoader::Launch(HINSTANCE__ *,base::TimeTicks)
0x00007ff6ec577603	(chrome.exe -chrome_exe_main_win.cc:230 )	wWinMain
0x00007ff6ec5aa2b2	(chrome.exe -exe_common.inl:283 )	__scrt_common_main_seh
0x00007ffa8e368101	(KERNEL32.DLL + 0x00018101 )	BaseThreadInitThunk
0x00007ffa8f6bc5b3	(ntdll.dll + 0x0005c5b3 )	RtlUserThreadStart
Cc: gov...@chromium.org pucchakayala@chromium.org
Labels: hasbisect
Owner: nainar@chromium.org
Status: Assigned (was: Unconfirmed)
This is regression issue broken in ‘M-63’ and below is the bisect info.

Manual Bisect
Good Build: 63.0.3239.15
Bad Build: 63.0.3239.16

CHANGELOG URL:
https://chromium.googlesource.com/chromium/src/+log/63.0.3239.15..63.0.3239.16?pretty=fuller&n=10000

Suspect:https://chromium.googlesource.com/chromium/src/+/9fd2dccce2d81546f8abf8a518b4036850cc21c5

@Naina Raisinghani: Could you please check whether this is caused with respect to your change, if not please help us in assigning it to the right owner.

Note:Cannot Narrow down using bisect script as the issue is broken in Branch and Bisect script is generating error when executed.


Thank You!
Actual_result.mp4
271 KB View Download
Labels: -Pri-1 ReleaseBlock-Dev Pri-0
Tagging this issue with Blocker label, This is blocking todays dev candidate. Can this be addressed.

Thanks.!
This is happening on any page, not just NTP..Just launching Dev tools crashes the page

Comment 6 by gov...@chromium.org, Oct 24 2017

Cc: dgozman@chromium.org shend@chromium.org

Comment 7 by gov...@chromium.org, Oct 24 2017

Cc: abdulsyed@chromium.org
+ dgozman@, could you ptal as suspected CL :https://chromium.googlesource.com/chromium/src/+/9fd2dccce2d81546f8abf8a518b4036850cc21c5 (63.0.3239.15) author is in Australia?

Comment 9 Deleted

Thank you dgozman@. Please merge both reverts to M63 branch 3239 if it fixes the crash and safe to merge. 

We're blocking today's dev release and plan for dev release tomorrow (if this bug gets fixed today)
Labels: Merge-Request-63
Confirmed locally that reverting both fixes the crash. Requesting approval to revert in 63 branch.
Labels: -Merge-Request-63 Merge-Approved-63
Approving merge to M63 branch 3239 based on comment #11 and per offline chat with dgozman@ and abdulsyed@. Please merge ASAP. Thank you.
 dgozman@ and nainar@  curious to know what are the implications of reverting the CL's on M63, Since the CL's are related to "Stability-Memory-AddressSanitizer".

Please let us know if we plan to address this during M63 Beta phase. 
re #c13: that's a good question. I guess the correct fix would include the original revert and something else? Note that ToT has both patches but does not exhibit the crash. Perhaps, there is another change which mitigates the crash and we could merge it?
Project Member

Comment 15 by bugdroid1@chromium.org, Oct 24 2017

Labels: -merge-approved-63 merge-merged-3239
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d6142075c8c7d2100666593f8a2abd94ed9710e6

commit d6142075c8c7d2100666593f8a2abd94ed9710e6
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Oct 24 18:28:10 2017

Revert "Fix compilation error on Beta"

This reverts commit 9fd2dccce2d81546f8abf8a518b4036850cc21c5.

Reason for revert: crashes DevTools on any site. See  crbug.com/777720 .
Bug:  777720 

Original change's description:
> Fix compilation error on Beta
> 
> Breaks beta: https://uberchromegw.corp.google.com/i/official.desktop.continuous/builders/linux64%20beta/builds/2020
> 
> Caused by change to CSSParserImpl.cpp (https://chromium.googlesource.com/chromium/src/+/243e0ebdc75cb7c74afe6c70c501aaedd3f949e8)
> 
> TBR=shend@chromium.org
> 
> Bug: 
> Change-Id: I79dc9dcdd199d7ad1e43077c689b9d4f6400ea3a
> Reviewed-on: https://chromium-review.googlesource.com/732332
> Reviewed-by: nainar <nainar@chromium.org>
> Cr-Commit-Position: refs/branch-heads/3239@{#147}
> Cr-Branched-From: adb61db19020ed8ecee5e91b1a0ea4c924ae2988-refs/heads/master@{#508578}

TBR=nainar@chromium.org,shend@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I701b89a3229252205318ca059c7501d74f97065a
Reviewed-on: https://chromium-review.googlesource.com/735217
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/branch-heads/3239@{#181}
Cr-Branched-From: adb61db19020ed8ecee5e91b1a0ea4c924ae2988-refs/heads/master@{#508578}
[modify] https://crrev.com/d6142075c8c7d2100666593f8a2abd94ed9710e6/third_party/WebKit/Source/core/css/parser/CSSParserImpl.cpp

Project Member

Comment 16 by bugdroid1@chromium.org, Oct 24 2017

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

commit c298e7c357bcbc2554fe5d132da15566c028b8ff
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Oct 24 18:29:08 2017

Revert "Revert implementing Lazy Parsing for Pseudo attributes (before/after)"

This reverts commit 243e0ebdc75cb7c74afe6c70c501aaedd3f949e8.

Reason for revert: crashes DevTools on any site. See  crbug.com/777720 .
Bug:  777720 

Original change's description:
> Revert implementing Lazy Parsing for Pseudo attributes (before/after)
> 
> This is due to the change being crashy
> 
> Revert CSS Parser: Lazy Parsing for Pseudo attributes (before/after)
> 
> Revert Move has_before_or_after_ from CSSLazyParsingState to CSSLazyPropertyParserImpl
> 
> TBR=nainar@google.com, shend@chromium.org
> 
> (cherry picked from commit 7aa7dab403ad24848afa2dfa57cb344427b31a8d)
> 
> Bug:  774061 
> Change-Id: I529f56c8751b11305cc23d506b8d4f4df476ae2a
> Reviewed-on: https://chromium-review.googlesource.com/729600
> Commit-Queue: nainar <nainar@chromium.org>
> Reviewed-by: nainar <nainar@chromium.org>
> Cr-Original-Commit-Position: refs/heads/master@{#510696}
> Reviewed-on: https://chromium-review.googlesource.com/732732
> Cr-Commit-Position: refs/branch-heads/3239@{#143}
> Cr-Branched-From: adb61db19020ed8ecee5e91b1a0ea4c924ae2988-refs/heads/master@{#508578}

TBR=nainar@chromium.org,shend@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  774061 
Change-Id: I9383956cec272b8fea8dc694902e1581514f1ab9
Reviewed-on: https://chromium-review.googlesource.com/734665
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/branch-heads/3239@{#182}
Cr-Branched-From: adb61db19020ed8ecee5e91b1a0ea4c924ae2988-refs/heads/master@{#508578}
[add] https://crrev.com/c298e7c357bcbc2554fe5d132da15566c028b8ff/third_party/WebKit/LayoutTests/fast/css/lazy-parsing-pseudo-attribute.html
[modify] https://crrev.com/c298e7c357bcbc2554fe5d132da15566c028b8ff/third_party/WebKit/Source/core/css/RuleFeature.cpp
[modify] https://crrev.com/c298e7c357bcbc2554fe5d132da15566c028b8ff/third_party/WebKit/Source/core/css/RuleFeature.h
[modify] https://crrev.com/c298e7c357bcbc2554fe5d132da15566c028b8ff/third_party/WebKit/Source/core/css/RuleSet.h
[modify] https://crrev.com/c298e7c357bcbc2554fe5d132da15566c028b8ff/third_party/WebKit/Source/core/css/StyleEngine.h
[modify] https://crrev.com/c298e7c357bcbc2554fe5d132da15566c028b8ff/third_party/WebKit/Source/core/css/StylePropertySet.h
[modify] https://crrev.com/c298e7c357bcbc2554fe5d132da15566c028b8ff/third_party/WebKit/Source/core/css/StyleRule.h
[modify] https://crrev.com/c298e7c357bcbc2554fe5d132da15566c028b8ff/third_party/WebKit/Source/core/css/parser/CSSLazyParsingState.cpp
[modify] https://crrev.com/c298e7c357bcbc2554fe5d132da15566c028b8ff/third_party/WebKit/Source/core/css/parser/CSSLazyParsingState.h
[modify] https://crrev.com/c298e7c357bcbc2554fe5d132da15566c028b8ff/third_party/WebKit/Source/core/css/parser/CSSLazyParsingTest.cpp
[modify] https://crrev.com/c298e7c357bcbc2554fe5d132da15566c028b8ff/third_party/WebKit/Source/core/css/parser/CSSLazyPropertyParserImpl.cpp
[modify] https://crrev.com/c298e7c357bcbc2554fe5d132da15566c028b8ff/third_party/WebKit/Source/core/css/parser/CSSLazyPropertyParserImpl.h
[modify] https://crrev.com/c298e7c357bcbc2554fe5d132da15566c028b8ff/third_party/WebKit/Source/core/css/parser/CSSParserImpl.cpp
[modify] https://crrev.com/c298e7c357bcbc2554fe5d132da15566c028b8ff/third_party/WebKit/Source/core/dom/Document.cpp

Hi, I am currently in the US timezone but I just saw this as I am AFK due to CDS. 

I will let dgozman@ proceed with the revert since they have more context. 

Curious so as to why this revert is causing crashes in 63 but not 64 since https://chromium.googlesource.com/chromium/src/+/243e0ebdc75cb7c74afe6c70c501aaedd3f949e8 landed in Dev and hasn't caused issues there and https://chromium.googlesource.com/chromium/src/+/9fd2dccce2d81546f8abf8a518b4036850cc21c5 was a fix necessary due to a merge conflict?

This revert will cause  crbug.com/774061  to rise again. But since that is only when people have experimental web platform features enabled, this is more severe. 

Re #13. The CLs are only to pull out code for --enable-experimental-web-platform-features so it shouldn't be a problem. 

Thank you for landing the reverts in dgozman@ I will try to see what went wrong with https://chromium.googlesource.com/chromium/src/+/9fd2dccce2d81546f8abf8a518b4036850cc21c5 since it is the only difference between 64 and 63 (pre your reverts). 

I think given the volatility this change has caused not touching 63 is the best approach. 

Terribly sorry for the inconvenience!
Note that ToT also has https://chromium.googlesource.com/chromium/src/+/ab1291fb2b682683463ca51ed3e616af39c0926f which might be mitigating the crash?
Cc: nainar@chromium.org
Owner: dgozman@chromium.org
Status: Fixed (was: Assigned)
Yup I am looking into Lazy + streaming parser interaction to see what's going on. Just for my own curiosity. 

Marking this as fixed in the meanwhile. And marking you as Owner so that you get appropriate credit. 
Cc: gkihumba@chromium.org
Labels: OS-Chrome
Able to reproduce the issue on Chrome 63.0.3239.17/CrOS 10032.14.0 - Daisy

Crash ID : 235c13aff0711d49
gkihumba@

Is this post the revert in comments 15 and 16? 
Labels: TE-Verified-63.0.3239.18 TE-Verified-M63
Note:
Retested the above issue on Dev(PGO) 63.0.3239.18 on Win(7,8,10), Mac(10.12.6,10.13.1) and Linux(14.04 LTS) and fix is working as intended.Hence adding TE-Verified label. Attached the screenshot for reference.

Thank you!
Verifiedcrash.mp4
1.4 MB View Download

Sign in to add a comment