Check failure in storage/indexeddb/pending-version-change-stuck.html |
|||
Issue descriptionThe Win7 dbg bot is hitting this renderer crash: 10:46:40.226 3028 worker/5 storage/indexeddb/pending-version-change-stuck.html crashed, (stderr lines): 10:46:40.226 3028 [896:4744:1107/104637:5927741:FATAL:ipc_mojo_bootstrap.cc(489)] Check failed: proxy_task_runner_->BelongsToCurrentThread(). 10:46:40.226 3028 Backtrace: 10:46:40.226 3028 base::debug::StackTrace::StackTrace [0x015AC0C7+23] 10:46:40.226 3028 logging::LogMessage::~LogMessage [0x015FDE2B+59] 10:46:40.226 3028 base::internal::Invoker<base::internal::BindState<void (__thiscall IPC::`anonymous namespace'::ChannelAssociatedGroupController::Endpoint::*)(unsigned int),base::internal::UnretainedWrapper<IPC::`anonymous namespace'::ChannelAssociatedGroupController::End [0x01B97E4A+842] 10:46:40.226 3028 mojo::SyncHandleWatcher::`scalar deleting destructor' [0x01B93476+1654] 10:46:40.226 3028 mojo::internal::Serializer<mojo::pipe_control::RunOrClosePipeMessageParamsDataView,mojo::StructPtr<mojo::pipe_control::RunOrClosePipeMessageParams> >::PrepareToSerialize [0x0127EA56+326] 10:46:40.226 3028 mojo::PipeControlMessageProxy::NotifyPeerEndpointClosed [0x0127E6E8+280] 10:46:40.226 3028 mojo::AssociatedInterfaceRequest<IPC::mojom::Channel>::Bind [0x01B94FEF+1743] 10:46:40.226 3028 mojo::ScopedInterfaceEndpointHandle::reset [0x01288ED9+73] 10:46:40.226 3028 mojo::ScopedInterfaceEndpointHandle::~ScopedInterfaceEndpointHandle [0x01288D9F+15] 10:46:40.226 3028 mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database>::~AssociatedInterfacePtrInfo<indexed_db::mojom::Database> [0x1054E850+16] 10:46:40.226 3028 base::internal::PassedWrapper<mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database> >::~PassedWrapper<mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database> > [0x1054E992+18] 10:46:40.226 3028 std::_Tuple_val<base::internal::PassedWrapper<mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database> > >::~_Tuple_val<base::internal::PassedWrapper<mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database> > > [0x1054EECF+15] 10:46:40.226 3028 std::tuple<base::internal::PassedWrapper<mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database> >,__int64,enum blink::WebIDBDataLoss,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,content::IndexedDBDatabaseMetadata>::~tuple<ba [0x1054F282+18] 10:46:40.226 3028 std::tuple<base::internal::UnretainedWrapper<content::IndexedDBCallbacksImpl::InternalState>,base::internal::PassedWrapper<mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database> >,__int64,enum blink::WebIDBDataLoss,std::basic_string<char,std::char_ [0x1054F36F+15] 10:46:40.226 3028 base::internal::BindState<void (__thiscall content::IndexedDBCallbacksImpl::InternalState::*)(mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database>,__int64,enum blink::WebIDBDataLoss,std::basic_string<char,std::char_traits<char>,std::allocator<cha [0x1054E912+18] 10:46:40.226 3028 base::internal::BindState<void (__thiscall content::IndexedDBCallbacksImpl::InternalState::*)(mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database>,__int64,enum blink::WebIDBDataLoss,std::basic_string<char,std::char_traits<char>,std::allocator<cha [0x1055484F+15] 10:46:40.226 3028 base::internal::BindState<void (__thiscall content::IndexedDBCallbacksImpl::InternalState::*)(mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database>,__int64,enum blink::WebIDBDataLoss,std::basic_string<char,std::char_traits<char>,std::allocator<cha [0x10555A72+34] 10:46:40.226 3028 base::internal::BindStateBase::Release [0x01577C39+41] 10:46:40.226 3028 scoped_refptr<base::internal::BindStateBase>::Release [0x01577C0B+11] 10:46:40.226 3028 scoped_refptr<base::internal::BindStateBase>::~scoped_refptr<base::internal::BindStateBase> [0x0157786A+26] 10:46:40.226 3028 base::internal::CallbackBase<0>::~CallbackBase<0> [0x0157783F+15] 10:46:40.226 3028 base::Callback<void __cdecl(void),0,0>::~Callback<void __cdecl(void),0,0> [0x015AF76F+15] 10:46:40.227 3028 base::PendingTask::~PendingTask [0x016B47F2+18] 10:46:40.227 3028 blink::scheduler::internal::TaskQueueImpl::Task::~Task [0x0B5C6730+16] 10:46:40.227 3028 blink::scheduler::internal::TaskQueueImpl::Task::`scalar deleting destructor' [0x0B5CE61F+15] 10:46:40.227 3028 std::allocator<blink::scheduler::internal::TaskQueueImpl::Task>::destroy<blink::scheduler::internal::TaskQueueImpl::Task> [0x0B5CB7D1+17] 10:46:40.227 3028 std::allocator_traits<std::allocator<blink::scheduler::internal::TaskQueueImpl::Task> >::destroy<blink::scheduler::internal::TaskQueueImpl::Task> [0x0B5CB7EF+15] 10:46:40.227 3028 std::_Wrap_alloc<std::allocator<blink::scheduler::internal::TaskQueueImpl::Task> >::destroy<blink::scheduler::internal::TaskQueueImpl::Task> [0x0B5CB7A4+20] 10:46:40.227 3028 std::deque<blink::scheduler::internal::TaskQueueImpl::Task,std::allocator<blink::scheduler::internal::TaskQueueImpl::Task> >::pop_back [0x0B5D4886+166] 10:46:40.227 3028 std::deque<blink::scheduler::internal::TaskQueueImpl::Task,std::allocator<blink::scheduler::internal::TaskQueueImpl::Task> >::_Tidy [0x0B5D3541+49] 10:46:40.227 3028 std::deque<blink::scheduler::internal::TaskQueueImpl::Task,std::allocator<blink::scheduler::internal::TaskQueueImpl::Task> >::~deque<blink::scheduler::internal::TaskQueueImpl::Task,std::allocator<blink::scheduler::internal::TaskQueueImpl::Task> > [0x0B5CD4DF+15] 10:46:40.227 3028 std::queue<blink::scheduler::internal::TaskQueueImpl::Task,std::deque<blink::scheduler::internal::TaskQueueImpl::Task,std::allocator<blink::scheduler::internal::TaskQueueImpl::Task> > >::~queue<blink::scheduler::internal::TaskQueueImpl::Task,std::deque<bl [0x0B5CD52F+15] 10:46:40.227 3028 blink::scheduler::internal::WorkQueue::~WorkQueue [0x0B5F9674+260] 10:46:40.227 3028 blink::scheduler::internal::WorkQueue::`scalar deleting destructor' [0x0B5CE69F+15] 10:46:40.227 3028 std::default_delete<blink::scheduler::internal::WorkQueue>::operator() [0x0B5CE495+37] 10:46:40.227 3028 std::unique_ptr<blink::scheduler::internal::WorkQueue,std::default_delete<blink::scheduler::internal::WorkQueue> >::reset [0x0B5D50DA+58] 10:46:40.227 3028 blink::scheduler::internal::TaskQueueImpl::UnregisterTaskQueue [0x0B5D18B3+259] 10:46:40.227 3028 blink::scheduler::TaskQueueManager::~TaskQueueManager [0x0B5DE3F1+241] 10:46:40.227 3028 blink::scheduler::TaskQueueManager::`vector deleting destructor' [0x0B5E0390+80] 10:46:40.227 3028 std::default_delete<blink::scheduler::TaskQueueManager>::operator() [0x0B6066D9+41] 10:46:40.227 3028 std::unique_ptr<blink::scheduler::TaskQueueManager,std::default_delete<blink::scheduler::TaskQueueManager> >::reset [0x0B60738A+58] 10:46:40.227 3028 blink::scheduler::SchedulerHelper::Shutdown [0x0B607104+68] 10:46:40.227 3028 blink::scheduler::WorkerSchedulerImpl::Shutdown [0x0B614053+179] 10:46:40.227 3028 blink::scheduler::WebSchedulerImpl::shutdown [0x0B60A71A+26] 10:46:40.227 3028 blink::WebThreadSupportingGC::shutdown [0x0B230660+80] 10:46:40.227 3028 blink::WorkerBackingThread::shutdown [0x1659C2A6+102] 10:46:40.227 3028 blink::WorkerThread::performShutdownOnWorkerThread [0x165C0FF7+519] 10:46:40.227 3028 ??$Invoke@PAVWorkerThread@blink@@$$V@?$FunctorTraits@P8WorkerThread@blink@@AEXXZX@internal@base@@SAXP8WorkerThread@blink@@AEXXZ$$QAPAV34@@Z [0x165B83A2+18] 10:46:40.227 3028 base::internal::InvokeHelper<0,void>::MakeItSo<void (__thiscall blink::WorkerThread::*const &)(void),blink::WorkerThread *> [0x165B8914+36] 10:46:40.227 3028 base::internal::Invoker<base::internal::BindState<void (__thiscall blink::WorkerThread::*)(void),WTF::UnretainedWrapper<blink::WorkerThread,0> >,void __cdecl(void)>::RunImpl<void (__thiscall blink::WorkerThread::*const &)(void),std::tuple<WTF::UnretainedW [0x165B8BAB+59] 10:46:40.227 3028 base::internal::Invoker<base::internal::BindState<void (__thiscall blink::WorkerThread::*)(void),WTF::UnretainedWrapper<blink::WorkerThread,0> >,void __cdecl(void)>::Run [0x165BCE84+36] 10:46:40.227 3028 base::internal::RunMixin<base::Callback<void __cdecl(void),0,0> >::Run [0x015B1E64+68] 10:46:40.227 3028 base::debug::TaskAnnotator::RunTask [0x015B1FFF+367] 10:46:40.227 3028 blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue [0x0B5E2E24+1508] 10:46:40.228 3028 blink::scheduler::TaskQueueManager::DoWork [0x0B5E13B1+737] 10:46:40.228 3028 base::internal::FunctorTraits<void (__thiscall blink::scheduler::TaskQueueManager::*)(base::TimeTicks,bool),void>::Invoke<base::WeakPtr<blink::scheduler::TaskQueueManager> const &,base::TimeTicks const &,bool const &> [0x0B5D6DCD+61] 10:46:40.228 3028 base::internal::InvokeHelper<1,void>::MakeItSo<void (__thiscall blink::scheduler::TaskQueueManager::*const &)(base::TimeTicks,bool),base::WeakPtr<blink::scheduler::TaskQueueManager> const &,base::TimeTicks const &,bool const &> [0x0B5D6EE3+83] 10:46:40.228 3028 base::internal::Invoker<base::internal::BindState<void (__thiscall blink::scheduler::TaskQueueManager::*)(base::TimeTicks,bool),base::WeakPtr<blink::scheduler::TaskQueueManager>,base::TimeTicks,bool>,void __cdecl(void)>::RunImpl<void (__thiscall blink::sc [0x0B5D6FD2+114] 10:46:40.228 3028 base::internal::Invoker<base::internal::BindState<void (__thiscall blink::scheduler::TaskQueueManager::*)(base::TimeTicks,bool),base::WeakPtr<blink::scheduler::TaskQueueManager>,base::TimeTicks,bool>,void __cdecl(void)>::Run [0x0B5E38B4+36] 10:46:40.228 3028 base::internal::RunMixin<base::Callback<void __cdecl(void),0,0> >::Run [0x015B1E64+68] 10:46:40.228 3028 base::debug::TaskAnnotator::RunTask [0x015B1FFF+367] 10:46:40.228 3028 base::MessageLoop::RunTask [0x0162E8E4+660] 10:46:40.228 3028 10:46:40.228 3028 Backtrace: 10:46:40.228 3028 base::debug::BreakDebugger [0x015AA5C7+23] 10:46:40.228 3028 logging::LogMessage::~LogMessage [0x015FE0AD+701] 10:46:40.228 3028 base::internal::Invoker<base::internal::BindState<void (__thiscall IPC::`anonymous namespace'::ChannelAssociatedGroupController::Endpoint::*)(unsigned int),base::internal::UnretainedWrapper<IPC::`anonymous namespace'::ChannelAssociatedGroupController::End [0x01B97E4A+842] 10:46:40.228 3028 mojo::SyncHandleWatcher::`scalar deleting destructor' [0x01B93476+1654] 10:46:40.228 3028 mojo::internal::Serializer<mojo::pipe_control::RunOrClosePipeMessageParamsDataView,mojo::StructPtr<mojo::pipe_control::RunOrClosePipeMessageParams> >::PrepareToSerialize [0x0127EA56+326] 10:46:40.228 3028 mojo::PipeControlMessageProxy::NotifyPeerEndpointClosed [0x0127E6E8+280] 10:46:40.228 3028 mojo::AssociatedInterfaceRequest<IPC::mojom::Channel>::Bind [0x01B94FEF+1743] 10:46:40.228 3028 mojo::ScopedInterfaceEndpointHandle::reset [0x01288ED9+73] 10:46:40.228 3028 mojo::ScopedInterfaceEndpointHandle::~ScopedInterfaceEndpointHandle [0x01288D9F+15] 10:46:40.228 3028 mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database>::~AssociatedInterfacePtrInfo<indexed_db::mojom::Database> [0x1054E850+16] 10:46:40.228 3028 base::internal::PassedWrapper<mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database> >::~PassedWrapper<mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database> > [0x1054E992+18] 10:46:40.228 3028 std::_Tuple_val<base::internal::PassedWrapper<mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database> > >::~_Tuple_val<base::internal::PassedWrapper<mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database> > > [0x1054EECF+15] 10:46:40.228 3028 std::tuple<base::internal::PassedWrapper<mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database> >,__int64,enum blink::WebIDBDataLoss,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,content::IndexedDBDatabaseMetadata>::~tuple<ba [0x1054F282+18] 10:46:40.228 3028 std::tuple<base::internal::UnretainedWrapper<content::IndexedDBCallbacksImpl::InternalState>,base::internal::PassedWrapper<mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database> >,__int64,enum blink::WebIDBDataLoss,std::basic_string<char,std::char_ [0x1054F36F+15] 10:46:40.228 3028 base::internal::BindState<void (__thiscall content::IndexedDBCallbacksImpl::InternalState::*)(mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database>,__int64,enum blink::WebIDBDataLoss,std::basic_string<char,std::char_traits<char>,std::allocator<cha [0x1054E912+18] 10:46:40.228 3028 base::internal::BindState<void (__thiscall content::IndexedDBCallbacksImpl::InternalState::*)(mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database>,__int64,enum blink::WebIDBDataLoss,std::basic_string<char,std::char_traits<char>,std::allocator<cha [0x1055484F+15] 10:46:40.228 3028 base::internal::BindState<void (__thiscall content::IndexedDBCallbacksImpl::InternalState::*)(mojo::AssociatedInterfacePtrInfo<indexed_db::mojom::Database>,__int64,enum blink::WebIDBDataLoss,std::basic_string<char,std::char_traits<char>,std::allocator<cha [0x10555A72+34] 10:46:40.228 3028 base::internal::BindStateBase::Release [0x01577C39+41] 10:46:40.228 3028 scoped_refptr<base::internal::BindStateBase>::Release [0x01577C0B+11] 10:46:40.228 3028 scoped_refptr<base::internal::BindStateBase>::~scoped_refptr<base::internal::BindStateBase> [0x0157786A+26] 10:46:40.229 3028 base::internal::CallbackBase<0>::~CallbackBase<0> [0x0157783F+15] 10:46:40.229 3028 base::Callback<void __cdecl(void),0,0>::~Callback<void __cdecl(void),0,0> [0x015AF76F+15] 10:46:40.229 3028 base::PendingTask::~PendingTask [0x016B47F2+18] 10:46:40.229 3028 blink::scheduler::internal::TaskQueueImpl::Task::~Task [0x0B5C6730+16] 10:46:40.229 3028 blink::scheduler::internal::TaskQueueImpl::Task::`scalar deleting destructor' [0x0B5CE61F+15] 10:46:40.229 3028 std::allocator<blink::scheduler::internal::TaskQueueImpl::Task>::destroy<blink::scheduler::internal::TaskQueueImpl::Task> [0x0B5CB7D1+17] 10:46:40.229 3028 std::allocator_traits<std::allocator<blink::scheduler::internal::TaskQueueImpl::Task> >::destroy<blink::scheduler::internal::TaskQueueImpl::Task> [0x0B5CB7EF+15] 10:46:40.229 3028 std::_Wrap_alloc<std::allocator<blink::scheduler::internal::TaskQueueImpl::Task> >::destroy<blink::scheduler::internal::TaskQueueImpl::Task> [0x0B5CB7A4+20] 10:46:40.229 3028 std::deque<blink::scheduler::internal::TaskQueueImpl::Task,std::allocator<blink::scheduler::internal::TaskQueueImpl::Task> >::pop_back [0x0B5D4886+166] 10:46:40.229 3028 std::deque<blink::scheduler::internal::TaskQueueImpl::Task,std::allocator<blink::scheduler::internal::TaskQueueImpl::Task> >::_Tidy [0x0B5D3541+49] 10:46:40.229 3028 std::deque<blink::scheduler::internal::TaskQueueImpl::Task,std::allocator<blink::scheduler::internal::TaskQueueImpl::Task> >::~deque<blink::scheduler::internal::TaskQueueImpl::Task,std::allocator<blink::scheduler::internal::TaskQueueImpl::Task> > [0x0B5CD4DF+15] 10:46:40.229 3028 std::queue<blink::scheduler::internal::TaskQueueImpl::Task,std::deque<blink::scheduler::internal::TaskQueueImpl::Task,std::allocator<blink::scheduler::internal::TaskQueueImpl::Task> > >::~queue<blink::scheduler::internal::TaskQueueImpl::Task,std::deque<bl [0x0B5CD52F+15] 10:46:40.229 3028 blink::scheduler::internal::WorkQueue::~WorkQueue [0x0B5F9674+260] 10:46:40.229 3028 blink::scheduler::internal::WorkQueue::`scalar deleting destructor' [0x0B5CE69F+15] 10:46:40.229 3028 std::default_delete<blink::scheduler::internal::WorkQueue>::operator() [0x0B5CE495+37] 10:46:40.229 3028 std::unique_ptr<blink::scheduler::internal::WorkQueue,std::default_delete<blink::scheduler::internal::WorkQueue> >::reset [0x0B5D50DA+58] 10:46:40.229 3028 blink::scheduler::internal::TaskQueueImpl::UnregisterTaskQueue [0x0B5D18B3+259] 10:46:40.229 3028 blink::scheduler::TaskQueueManager::~TaskQueueManager [0x0B5DE3F1+241] 10:46:40.229 3028 blink::scheduler::TaskQueueManager::`vector deleting destructor' [0x0B5E0390+80] 10:46:40.229 3028 std::default_delete<blink::scheduler::TaskQueueManager>::operator() [0x0B6066D9+41] 10:46:40.229 3028 std::unique_ptr<blink::scheduler::TaskQueueManager,std::default_delete<blink::scheduler::TaskQueueManager> >::reset [0x0B60738A+58] 10:46:40.229 3028 blink::scheduler::SchedulerHelper::Shutdown [0x0B607104+68] 10:46:40.229 3028 blink::scheduler::WorkerSchedulerImpl::Shutdown [0x0B614053+179] 10:46:40.229 3028 blink::scheduler::WebSchedulerImpl::shutdown [0x0B60A71A+26] 10:46:40.229 3028 blink::WebThreadSupportingGC::shutdown [0x0B230660+80] 10:46:40.229 3028 blink::WorkerBackingThread::shutdown [0x1659C2A6+102] 10:46:40.229 3028 blink::WorkerThread::performShutdownOnWorkerThread [0x165C0FF7+519] 10:46:40.229 3028 ??$Invoke@PAVWorkerThread@blink@@$$V@?$FunctorTraits@P8WorkerThread@blink@@AEXXZX@internal@base@@SAXP8WorkerThread@blink@@AEXXZ$$QAPAV34@@Z [0x165B83A2+18] 10:46:40.229 3028 base::internal::InvokeHelper<0,void>::MakeItSo<void (__thiscall blink::WorkerThread::*const &)(void),blink::WorkerThread *> [0x165B8914+36] 10:46:40.229 3028 base::internal::Invoker<base::internal::BindState<void (__thiscall blink::WorkerThread::*)(void),WTF::UnretainedWrapper<blink::WorkerThread,0> >,void __cdecl(void)>::RunImpl<void (__thiscall blink::WorkerThread::*const &)(void),std::tuple<WTF::UnretainedW [0x165B8BAB+59] 10:46:40.229 3028 base::internal::Invoker<base::internal::BindState<void (__thiscall blink::WorkerThread::*)(void),WTF::UnretainedWrapper<blink::WorkerThread,0> >,void __cdecl(void)>::Run [0x165BCE84+36] 10:46:40.230 3028 base::internal::RunMixin<base::Callback<void __cdecl(void),0,0> >::Run [0x015B1E64+68] 10:46:40.230 3028 base::debug::TaskAnnotator::RunTask [0x015B1FFF+367] 10:46:40.230 3028 blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue [0x0B5E2E24+1508] 10:46:40.230 3028 blink::scheduler::TaskQueueManager::DoWork [0x0B5E13B1+737] 10:46:40.230 3028 base::internal::FunctorTraits<void (__thiscall blink::scheduler::TaskQueueManager::*)(base::TimeTicks,bool),void>::Invoke<base::WeakPtr<blink::scheduler::TaskQueueManager> const &,base::TimeTicks const &,bool const &> [0x0B5D6DCD+61] 10:46:40.230 3028 base::internal::InvokeHelper<1,void>::MakeItSo<void (__thiscall blink::scheduler::TaskQueueManager::*const &)(base::TimeTicks,bool),base::WeakPtr<blink::scheduler::TaskQueueManager> const &,base::TimeTicks const &,bool const &> [0x0B5D6EE3+83] 10:46:40.230 3028 base::internal::Invoker<base::internal::BindState<void (__thiscall blink::scheduler::TaskQueueManager::*)(base::TimeTicks,bool),base::WeakPtr<blink::scheduler::TaskQueueManager>,base::TimeTicks,bool>,void __cdecl(void)>::RunImpl<void (__thiscall blink::sc [0x0B5D6FD2+114] 10:46:40.230 3028 base::internal::Invoker<base::internal::BindState<void (__thiscall blink::scheduler::TaskQueueManager::*)(base::TimeTicks,bool),base::WeakPtr<blink::scheduler::TaskQueueManager>,base::TimeTicks,bool>,void __cdecl(void)>::Run [0x0B5E38B4+36] 10:46:40.230 3028 base::internal::RunMixin<base::Callback<void __cdecl(void),0,0> >::Run [0x015B1E64+68] 10:46:40.230 3028 base::debug::TaskAnnotator::RunTask [0x015B1FFF+367] 10:46:40.230 3028 base::MessageLoop::RunTask [0x0162E8E4+660] 10:46:40.292 3184 [39683/42365] storage/indexeddb/pending-version-change-stuck.html failed unexpectedly (renderer crashed)
,
Nov 7 2016
I was under the impression that PtrInfo objects are thread-safe but this check indicates otherwise.
,
Nov 7 2016
Ken will remove the DCHECK.
,
Nov 7 2016
,
Nov 8 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/becd3f741efe619c34bb569fd4ab18d85da45d6f commit becd3f741efe619c34bb569fd4ab18d85da45d6f Author: rockot <rockot@chromium.org> Date: Tue Nov 08 20:47:00 2016 IPC: Relax thread constraints on Channel-associated send This removes a DCHECK from ChannelAssociatedGroupController, allowing messages to be sent from arbitrary threads rather than only from the IO thread or proxy thread. While it is still unsafe to bind associated endpoints on non-proxy non-IO threads, this allows control messages to be transmitted safely from any thread, so for example an AssociatedPtrInfo can safely notify the request side of closure if it's destroyed on an arbitrary thread. BUG= 663046 R=yzshen@chromium.org Review-Url: https://codereview.chromium.org/2481963002 Cr-Commit-Position: refs/heads/master@{#430705} [modify] https://crrev.com/becd3f741efe619c34bb569fd4ab18d85da45d6f/ipc/ipc_mojo_bootstrap.cc
,
Nov 9 2016
|
|||
►
Sign in to add a comment |
|||
Comment 1 by reillyg@chromium.org
, Nov 7 2016