Issue metadata
Sign in to add a comment
|
EMBED element should not call Document::ImplicitClose() during ReattachLayoutTree |
||||||||||||||||||||||||
Issue descriptionDetailed report: https://clusterfuzz.com/testcase?key=6034305877540864 Fuzzer: ifratric-browserfuzzer-v3 Job Type: linux_cfi_chrome Platform Id: linux Crash Type: Null-dereference READ Crash Address: 0x000000000018 Crash State: chrome blink::LayoutTreeBuilderForElement::CreateLayoutObject blink::Element::AttachLayoutTree Sanitizer: cfi (CFI) Regressed: https://clusterfuzz.com/revisions?job=linux_cfi_chrome&range=562777:562798 Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=6034305877540864 Issue filed automatically. See https://github.com/google/clusterfuzz-tools for more information.
,
May 30 2018
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/chromium/src/+/181c301956206601a8a4e90b5b903cd9743a8895 ([LayoutNG] Introduce ReattachLegacyLayoutObjectList to replace NG objects to legacy objects). If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label. If you aren't the correct owner for this issue, please unassign yourself as soon as possible so it can be re-triaged.
,
May 31 2018
Hit DCHECK(!InStyleRecalc()) in Document::ImplicitClose() Thus, my patch exposes this instead of changing behavior. Document::ImplicitClose() Line 3252 Document::CheckCompleted() Line 3365 LocalFrame::CheckCompleted() Line 427 FrameLoader::DidFinishNavigation() Line 485 FrameLoader::DetachProvisionalDocumentLoader(blink::DocumentLoader * loader) Line 1297 DocumentLoader::LoadFailed(const blink::ResourceError & error) Line 433 DocumentLoader::StopLoading() Line 811 DocumentLoader::DetachFromFrame() Line 817 WebDocumentLoaderImpl::DetachFromFrame() Line 172 FrameLoader::DetachDocumentLoader(blink::Member<blink::DocumentLoader> & loader) Line 548 FrameLoader::StopAllLoaders() Line 1037 LocalFrame::Detach(blink::FrameDetachType type) Line 354 HTMLFrameOwnerElement::DisconnectContentFrame() Line 203 HTMLPlugInElement::DisconnectContentFrame() Line 486 ChildFrameDisconnector::DisconnectCollectedFrameOwners() Line 60 ChildFrameDisconnector::Disconnect(blink::ChildFrameDisconnector::DisconnectPolicy policy) Line 33 HTMLPlugInElement::DetachLayoutTree(const blink::Node::AttachContext & context) Line 315 Node::ReattachLayoutTree(blink::Node::AttachContext & context) Line 1089 Element::RebuildLayoutTree(blink::WhitespaceAttacher & whitespace_attacher) Line 2375 ContainerNode::RebuildLayoutTreeForChild(blink::Node * child, blink::WhitespaceAttacher & whitespace_attacher) Line 1365 ContainerNode::RebuildChildrenLayoutTrees(blink::WhitespaceAttacher & whitespace_attacher) Line 1409 Element::RebuildLayoutTree(blink::WhitespaceAttacher & whitespace_attacher) Line 2402 ContainerNode::RebuildLayoutTreeForChild(blink::Node * child, blink::WhitespaceAttacher & whitespace_attacher) Line 1365 ContainerNode::RebuildChildrenLayoutTrees(blink::WhitespaceAttacher & whitespace_attacher) Line 1409 Element::RebuildLayoutTree(blink::WhitespaceAttacher & whitespace_attacher) Line 2402 Document::UpdateStyle() Line 2253 Document::UpdateStyleAndLayoutTree() Line 2156 LocalFrameView::UpdateStyleAndLayoutIfNeededRecursiveInternal() Line 3354 LocalFrameView::UpdateStyleAndLayoutIfNeededRecursive() Line 3329 LocalFrameView::UpdateLifecyclePhasesInternal(blink::DocumentLifecycle::LifecycleState target_state) Line 2969 LocalFrameView::UpdateLifecycleToPrePaintClean() Line 2793 LayoutView::HitTest(blink::HitTestResult & result) Line 119 Document::PerformMouseEventHitTest(const blink::HitTestRequest & request, const blink::LayoutPoint & document_point, const blink::WebMouseEvent & event) Line 4160 EventHandlingUtil::PerformMouseEventHitTest(blink::LocalFrame * frame, const blink::HitTestRequest & request, const blink::WebMouseEvent & mev) Line 125 EventHandler::HandleMouseMoveOrLeaveEvent(const blink::WebMouseEvent & mouse_event, const WTF::Vector<blink::WebMouseEvent,0,WTF::PartitionAllocator> & coalesced_events, blink::HitTestResult * hovered_node, bool only_update_scrollbars, bool force_leave) Line 867 EventHandler::HandleMouseMoveEvent(const blink::WebMouseEvent & event, const WTF::Vector<blink::WebMouseEvent,0,WTF::PartitionAllocator> & coalesced_events) Line 753 MouseEventManager::FakeMouseMoveEventTimerFired(blink::TimerBase * timer) Line 377 TaskRunnerTimer<blink::MouseEventManager>::Fired() Line 158 blink_platform.dll!blink::TimerBase::RunInternal() Line 162 blink_platform.dll!base::internal::FunctorTraits<void (blink::TimerBase::*)(),void>::Invoke<void (blink::TimerBase::*)(),base::WeakPtr<blink::TimerBase>>(void(blink::TimerBase::*)() method, base::WeakPtr<blink::TimerBase> && receiver_ptr) Line 447 blink_platform.dll!base::internal::InvokeHelper<1,void>::MakeItSo<void (blink::TimerBase::*)(),base::WeakPtr<blink::TimerBase>>(void(blink::TimerBase::*)() && functor, base::WeakPtr<blink::TimerBase> && weak_ptr) Line 570 blink_platform.dll!base::internal::Invoker<base::internal::BindState<void (blink::TimerBase::*)(),base::WeakPtr<blink::TimerBase> >,void ()>::RunImpl<void (blink::TimerBase::*)(),std::tuple<base::WeakPtr<blink::TimerBase> >,0>(void(blink::TimerBase::*)() && functor, std::tuple<base::WeakPtr<blink::TimerBase> > && bound, std::integer_sequence<unsigned long long,0>) Line 621 blink_platform.dll!base::internal::Invoker<base::internal::BindState<void (blink::TimerBase::*)(),base::WeakPtr<blink::TimerBase> >,void ()>::RunOnce(base::internal::BindStateBase * base) Line 589 blink_platform.dll!base::OnceCallback<void ()>::Run() Line 97 blink_platform.dll!WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::RunInternal(base::OnceCallback<void ()> * callback) Line 258 blink_platform.dll!WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::Run() Line 245 blink_platform.dll!base::internal::FunctorTraits<void (WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)(),void>::Invoke<void (WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)(),std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > >>(void(WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)() method, std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > > && receiver_ptr) Line 447 blink_platform.dll!base::internal::InvokeHelper<0,void>::MakeItSo<void (WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)(),std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > > >(void(WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)() && functor, std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > > && args) Line 547 blink_platform.dll!base::internal::Invoker<base::internal::BindState<void (WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)(),std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > > >,void ()>::RunImpl<void (WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)(),std::tuple<std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > > >,0>(void(WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)() && functor, std::tuple<std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > > > && bound, std::integer_sequence<unsigned long long,0>) Line 621 blink_platform.dll!base::internal::Invoker<base::internal::BindState<void (WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)(),std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > > >,void ()>::RunOnce(base::internal::BindStateBase * base) Line 589 base::OnceCallback<void ()>::Run() Line 97 base::debug::TaskAnnotator::RunTask(const char * queue_function, base::PendingTask * pending_task) Line 103 blink_platform.dll!base::sequence_manager::internal::ThreadControllerImpl::DoWork(base::sequence_manager::internal::ThreadControllerImpl::WorkType work_type) Line 168 blink_platform.dll!base::internal::FunctorTraits<void (base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType),void>::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 &>(void(base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType) method, const base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl> & receiver_ptr, const base::sequence_manager::internal::ThreadControllerImpl::WorkType & args) Line 447 blink_platform.dll!base::internal::InvokeHelper<1,void>::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 &>(void(base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType) & functor, const base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl> & weak_ptr, const base::sequence_manager::internal::ThreadControllerImpl::WorkType & args) Line 570 blink_platform.dll!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 ()>::RunImpl<void (base::sequence_manager::internal::ThreadControllerImpl::*const &)(base::sequence_manager::internal::ThreadControllerImpl::WorkType),const std::tuple<base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl>,base::sequence_manager::internal::ThreadControllerImpl::WorkType> &,0,1>(void(base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType) & functor, const std::tuple<base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl>,base::sequence_manager::internal::ThreadControllerImpl::WorkType> & bound, std::integer_sequence<unsigned long long,0,1>) Line 621 blink_platform.dll!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) Line 603 base::OnceCallback<void ()>::Run() Line 97 base::debug::TaskAnnotator::RunTask(const char * queue_function, base::PendingTask * pending_task) Line 103 base::internal::IncomingTaskQueue::RunTask(base::PendingTask * pending_task) Line 124 base::MessageLoop::RunTask(base::PendingTask * pending_task) Line 320 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask pending_task) Line 332 base::MessageLoop::DoWork() Line 373 base::MessagePumpForUI::DoRunLoop() Line 173 base::MessagePumpWin::Run(base::MessagePump::Delegate * delegate) Line 58 base::MessageLoop::Run(bool application_tasks_allowed) Line 273 base::RunLoop::Run() Line 105 base::Thread::Run(base::RunLoop * run_loop) Line 255 base::Thread::ThreadMain() Line 340
,
May 31 2018
,
May 31 2018
Minimal reproduce HTML:
<!doctype html>
<embed src="foo"></embed>
<script>
document.querySelector('embed').align = 'right';
</script>
,
May 31 2018
The patch[1] starts calling Document::ImplicitClose() in HTMLPluginElement::DetachLayoutTree(). [1] http://crrev.com/c/996314 Cleanup plugin element frames when the layout tree is detached
,
May 31 2018
ekaramad@, could you take look? Simple solution, not to call Disconnect() for |!performing_reattach| doesn't work. To fix this issue, needs plug-in expert knowledge. Stack trace when not calling Disconnect() for reattach. HTMLPlugInElement::RequestObjectInternal(const blink::PluginParameters & plugin_params) Line 153 HTMLPlugInElement::RequestObject(const blink::PluginParameters & plugin_params) Line 558 HTMLEmbedElement::UpdatePluginInternal() Line 170 HTMLPlugInElement::UpdatePlugin() Line 249 LocalFrameView::UpdatePlugins() Line 2359 LocalFrameView::UpdatePluginsTimerFired(blink::TimerBase *) Line 2373 TaskRunnerTimer<blink::LocalFrameView>::Fired() Line 158 blink_platform.dll!blink::TimerBase::RunInternal() Line 162 blink_platform.dll!base::internal::FunctorTraits<void (blink::TimerBase::*)(),void>::Invoke<void (blink::TimerBase::*)(),base::WeakPtr<blink::TimerBase>>(void(blink::TimerBase::*)() method, base::WeakPtr<blink::TimerBase> && receiver_ptr) Line 447 blink_platform.dll!base::internal::InvokeHelper<1,void>::MakeItSo<void (blink::TimerBase::*)(),base::WeakPtr<blink::TimerBase>>(void(blink::TimerBase::*)() && functor, base::WeakPtr<blink::TimerBase> && weak_ptr) Line 570 blink_platform.dll!base::internal::Invoker<base::internal::BindState<void (blink::TimerBase::*)(),base::WeakPtr<blink::TimerBase> >,void ()>::RunImpl<void (blink::TimerBase::*)(),std::tuple<base::WeakPtr<blink::TimerBase> >,0>(void(blink::TimerBase::*)() && functor, std::tuple<base::WeakPtr<blink::TimerBase> > && bound, std::integer_sequence<unsigned long long,0>) Line 621 blink_platform.dll!base::internal::Invoker<base::internal::BindState<void (blink::TimerBase::*)(),base::WeakPtr<blink::TimerBase> >,void ()>::RunOnce(base::internal::BindStateBase * base) Line 589 blink_platform.dll!base::OnceCallback<void ()>::Run() Line 97 blink_platform.dll!WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::RunInternal(base::OnceCallback<void ()> * callback) Line 258 blink_platform.dll!WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::Run() Line 245 blink_platform.dll!base::internal::FunctorTraits<void (WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)(),void>::Invoke<void (WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)(),std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > >>(void(WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)() method, std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > > && receiver_ptr) Line 447 blink_platform.dll!base::internal::InvokeHelper<0,void>::MakeItSo<void (WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)(),std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > > >(void(WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)() && functor, std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > > && args) Line 547 blink_platform.dll!base::internal::Invoker<base::internal::BindState<void (WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)(),std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > > >,void ()>::RunImpl<void (WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)(),std::tuple<std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > > >,0>(void(WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)() && functor, std::tuple<std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > > > && bound, std::integer_sequence<unsigned long long,0>) Line 621 blink_platform.dll!base::internal::Invoker<base::internal::BindState<void (WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>::*)(),std::unique_ptr<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()>,std::default_delete<WTF::ThreadCheckingCallbackWrapper<base::OnceCallback<void ()>,void ()> > > >,void ()>::RunOnce(base::internal::BindStateBase * base) Line 589 base.dll!base::OnceCallback<void ()>::Run() Line 97 base.dll!base::debug::TaskAnnotator::RunTask(const char * queue_function, base::PendingTask * pending_task) Line 103 blink_platform.dll!base::sequence_manager::internal::ThreadControllerImpl::DoWork(base::sequence_manager::internal::ThreadControllerImpl::WorkType work_type) Line 168 blink_platform.dll!base::internal::FunctorTraits<void (base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType),void>::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 &>(void(base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType) method, const base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl> & receiver_ptr, const base::sequence_manager::internal::ThreadControllerImpl::WorkType & args) Line 447 blink_platform.dll!base::internal::InvokeHelper<1,void>::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 &>(void(base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType) & functor, const base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl> & weak_ptr, const base::sequence_manager::internal::ThreadControllerImpl::WorkType & args) Line 570 blink_platform.dll!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 ()>::RunImpl<void (base::sequence_manager::internal::ThreadControllerImpl::*const &)(base::sequence_manager::internal::ThreadControllerImpl::WorkType),const std::tuple<base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl>,base::sequence_manager::internal::ThreadControllerImpl::WorkType> &,0,1>(void(base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType) & functor, const std::tuple<base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl>,base::sequence_manager::internal::ThreadControllerImpl::WorkType> & bound, std::integer_sequence<unsigned long long,0,1>) Line 621 blink_platform.dll!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) Line 603 base.dll!base::OnceCallback<void ()>::Run() Line 97 base.dll!base::debug::TaskAnnotator::RunTask(const char * queue_function, base::PendingTask * pending_task) Line 103 base.dll!base::internal::IncomingTaskQueue::RunTask(base::PendingTask * pending_task) Line 124 base.dll!base::MessageLoop::RunTask(base::PendingTask * pending_task) Line 320 base.dll!base::MessageLoop::DeferOrRunPendingTask(base::PendingTask pending_task) Line 332 base.dll!base::MessageLoop::DoWork() Line 373 base.dll!base::MessagePumpForUI::DoRunLoop() Line 173 base.dll!base::MessagePumpWin::Run(base::MessagePump::Delegate * delegate) Line 58 base.dll!base::MessageLoop::Run(bool application_tasks_allowed) Line 273 base.dll!base::RunLoop::Run() Line 105 base.dll!base::Thread::Run(base::RunLoop * run_loop) Line 255 base.dll!base::Thread::ThreadMain() Line 340
,
May 31 2018
ClusterFuzz testcase 6027785580314624 is verified as fixed, so closing issue as verified. If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
,
May 31 2018
Still reproduce in ToT with debug build.
,
May 31 2018
Thanks. Yes this is not fixed yet. This all goes to detaching a content frame of plugin element during Document::InStyleRecacl(). There is a CL under review for the fix. Marking as duplicate.
,
Jun 2 2018
ClusterFuzz has detected this issue as fixed in range 563896:563919. Detailed report: https://clusterfuzz.com/testcase?key=6034305877540864 Fuzzer: ifratric-browserfuzzer-v3 Job Type: linux_cfi_chrome Platform Id: linux Crash Type: Null-dereference READ Crash Address: 0x000000000018 Crash State: chrome blink::LayoutTreeBuilderForElement::CreateLayoutObject blink::Element::AttachLayoutTree Sanitizer: cfi (CFI) Regressed: https://clusterfuzz.com/revisions?job=linux_cfi_chrome&range=562777:562798 Fixed: https://clusterfuzz.com/revisions?job=linux_cfi_chrome&range=563896:563919 Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=6034305877540864 See https://github.com/google/clusterfuzz-tools for more information. If you suspect that the result above is incorrect, try re-doing that job on the test case report page. |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by ClusterFuzz
, May 30 2018Labels: Test-Predator-Auto-Components