Fixes crash in chrome.automation.getTree
[97932:775:0107/075158.384149:FATAL:automation_event_router.cc(184)] Check failed: desktop || ax_tree_id != ui::AXTreeIDUnknown(). 0 libbase.dylib 0x0000000104b0d23f base::debug::CollectStackTrace(void**, unsigned long) + 31 1 libbase.dylib 0x0000000104819ca8 base::debug::StackTrace::StackTrace(unsigned long) + 72 2 libbase.dylib 0x0000000104819d2d base::debug::StackTrace::StackTrace(unsigned long) + 29 3 libbase.dylib 0x0000000104819d05 base::debug::StackTrace::StackTrace() + 37 4 libbase.dylib 0x0000000104872433 logging::LogMessage::~LogMessage() + 179 5 libbase.dylib 0x00000001048733b5 logging::LogMessage::~LogMessage() + 21 6 libbase.dylib 0x00000001048733d9 logging::LogMessage::~LogMessage() + 25 7 libbase.dylib 0x00000001047d730b logging::CheckError::~CheckError() + 43 8 libbase.dylib 0x00000001047d6dc5 logging::CheckError::~CheckError() + 21 9 libchrome_dll.dylib 0x0000000109cdc3bb extensions::AutomationEventRouter::Register(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, ui::AXTreeID, bool) + 219 10 libchrome_dll.dylib 0x0000000109cdc2b2 extensions::AutomationEventRouter::RegisterListenerForOneTree(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, ui::AXTreeID) + 98 11 libchrome_dll.dylib 0x0000000109ce3efb extensions::AutomationInternalEnableTabFunction::Run() + 1579 12 libchrome_dll.dylib 0x0000000109889e8b ExtensionFunction::RunWithValidation() + 539 13 libchrome_dll.dylib 0x0000000109894d1d extensions::ExtensionFunctionDispatcher::DispatchWithCallbackInternal(ExtensionHostMsg_Request_Params const&, content::RenderFrameHost*, int, base::RepeatingCallback<void (ExtensionFunction::ResponseType, base::ListValue const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)> const&) + 1741 14 libchrome_dll.dylib 0x0000000109893f4d extensions::ExtensionFunctionDispatcher::Dispatch(ExtensionHostMsg_Request_Params const&, content::RenderFrameHost*, int) + 637 15 libchrome_dll.dylib 0x0000000109921bd3 extensions::ExtensionWebContentsObserver::OnRequest(content::RenderFrameHost*, ExtensionHostMsg_Request_Params const&) + 211 16 libchrome_dll.dylib 0x0000000109923827 void IPC::DispatchToMethodImpl<extensions::ExtensionWebContentsObserver, void (extensions::ExtensionWebContentsObserver::*)(content::RenderFrameHost*, ExtensionHostMsg_Request_Params const&), content::RenderFrameHost, std::__1::tuple<ExtensionHostMsg_Request_Params>, 0ul>(extensions::ExtensionWebContentsObserver*, void (extensions::ExtensionWebContentsObserver::*)(content::RenderFrameHost*, ExtensionHostMsg_Request_Params const&), content::RenderFrameHost*, std::__1::tuple<ExtensionHostMsg_Request_Params>&&, std::__1::integer_sequence<unsigned long, 0ul>) + 167 17 libchrome_dll.dylib 0x00000001099236d8 std::__1::enable_if<(sizeof...(ExtensionHostMsg_Request_Params const&)) == (std::tuple_size<std::__1::decay<std::__1::tuple<ExtensionHostMsg_Request_Params> >::type>::value), void>::type IPC::DispatchToMethod<extensions::ExtensionWebContentsObserver, content::RenderFrameHost, ExtensionHostMsg_Request_Params const&, std::__1::tuple<ExtensionHostMsg_Request_Params> >(extensions::ExtensionWebContentsObserver*, void (extensions::ExtensionWebContentsObserver::*)(content::RenderFrameHost*, ExtensionHostMsg_Request_Params const&), content::RenderFrameHost*, std::__1::tuple<ExtensionHostMsg_Request_Params>&&) + 136 18 libchrome_dll.dylib 0x0000000109921a7f bool IPC::MessageT<ExtensionHostMsg_Request_Meta, std::__1::tuple<ExtensionHostMsg_Request_Params>, void>::Dispatch<extensions::ExtensionWebContentsObserver, extensions::ExtensionWebContentsObserver, content::RenderFrameHost, void (extensions::ExtensionWebContentsObserver::*)(content::RenderFrameHost*, ExtensionHostMsg_Request_Params const&)>(IPC::Message const*, extensions::ExtensionWebContentsObserver*, extensions::ExtensionWebContentsObserver*, content::RenderFrameHost*, void (extensions::ExtensionWebContentsObserver::*)(content::RenderFrameHost*, ExtensionHostMsg_Request_Params const&)) + 575 19 libchrome_dll.dylib 0x00000001099217e7 extensions::ExtensionWebContentsObserver::OnMessageReceived(IPC::Message const&, content::RenderFrameHost*) + 295 20 libchrome_dll.dylib 0x000000010f2a0216 extensions::ChromeExtensionWebContentsObserver::OnMessageReceived(IPC::Message const&, content::RenderFrameHost*) + 166 21 libcontent.dylib 0x00000001486eba12 content::WebContentsImpl::OnMessageReceived(content::RenderFrameHostImpl*, IPC::Message const&) + 706 22 libcontent.dylib 0x0000000147fcaa32 content::RenderFrameHostImpl::OnMessageReceived(IPC::Message const&) + 114 23 libcontent.dylib 0x00000001480cb8b4 content::RenderProcessHostImpl::OnMessageReceived(IPC::Message const&) + 228 24 libipc.dylib 0x000000013b853700 IPC::ChannelProxy::Context::OnDispatchMessage(IPC::Message const&) + 160 25 libipc.dylib 0x000000013b859cb7 void base::internal::FunctorTraits<void (IPC::ChannelProxy::Context::*)(IPC::Message const&), void>::Invoke<void (IPC::ChannelProxy::Context::*)(IPC::Message const&), scoped_refptr<IPC::ChannelProxy::Context>, IPC::Message>(void (IPC::ChannelProxy::Context::*)(IPC::Message const&), scoped_refptr<IPC::ChannelProxy::Context>&&, IPC::Message&&) + 151 26 libipc.dylib 0x000000013b859b66 void base::internal::InvokeHelper<false, void>::MakeItSo<void (IPC::ChannelProxy::Context::*)(IPC::Message const&), scoped_refptr<IPC::ChannelProxy::Context>, IPC::Message>(void (IPC::ChannelProxy::Context::*&&)(IPC::Message const&), scoped_refptr<IPC::ChannelProxy::Context>&&, IPC::Message&&) + 102 27 libipc.dylib 0x000000013b859ad3 void base::internal::Invoker<base::internal::BindState<void (IPC::ChannelProxy::Context::*)(IPC::Message const&), scoped_refptr<IPC::ChannelProxy::Context>, IPC::Message>, void ()>::RunImpl<void (IPC::ChannelProxy::Context::*)(IPC::Message const&), std::__1::tuple<scoped_refptr<IPC::ChannelProxy::Context>, IPC::Message>, 0ul, 1ul>(void (IPC::ChannelProxy::Context::*&&)(IPC::Message const&), std::__1::tuple<scoped_refptr<IPC::ChannelProxy::Context>, IPC::Message>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 99 28 libipc.dylib 0x000000013b859a5c base::internal::Invoker<base::internal::BindState<void (IPC::ChannelProxy::Context::*)(IPC::Message const&), scoped_refptr<IPC::ChannelProxy::Context>, IPC::Message>, void ()>::RunOnce(base::internal::BindStateBase*) + 76 29 libbase.dylib 0x00000001047cba2f base::OnceCallback<void ()>::Run() && + 111 30 libbase.dylib 0x00000001049e2fd2 base::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 1394 31 libbase.dylib 0x0000000104a36bc1 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow*) + 1569 32 libbase.dylib 0x0000000104a36343 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() + 147 R=dmazzoni@chromium.org Change-Id: I1dbef11639111a1c5723ad7f8636c0dc39c0f8eb Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2614842Reviewed-by:Dominic Mazzoni <dmazzoni@chromium.org> Commit-Queue: David Tseng <dtseng@chromium.org> Cr-Commit-Position: refs/heads/master@{#841300}
Showing
Please register or sign in to comment