Assert Function marked as IO-only was called from a thread that disallows IO! net::GetNetworkList |
||||||||||
Issue descriptionChromium 60.0.3096.0 (Developer Build) (32-bit) Revision f4f904edc4cbbb9ffd269cd6fd5d26d9925aee8c-refs/heads/master@{#470702} [8716:17620:0511/131216.411:FATAL:thread_restrictions.cc(38)] Check failed: false. Function marked as IO-only was called from a thread that disallows IO! If this thread really should be allowed to make IO calls, adjust the call to base::ThreadRestrictions::SetIOAllowed() in this thread's startup. Backtrace: base::debug::StackTrace::StackTrace [0x100AD4A7+55] base::debug::StackTrace::StackTrace [0x100AD141+17] logging::LogMessage::~LogMessage [0x10100E7E+94] base::ThreadRestrictions::AssertIOAllowed [0x1029B8D0+144] net::GetNetworkList [0x0ACF2536+70] net::NetworkChangeNotifier::ConnectionTypeFromInterfaces [0x0ACC8FD9+25] net::NetworkChangeNotifierWin::RecomputeCurrentConnectionType [0x0ACEB840+1056] net::NetworkChangeNotifierWin::NotifyObservers [0x0ACEAFFF+143] net::NetworkChangeNotifierWin::OnObjectSignaled [0x0ACEB3D6+262] base::win::ObjectWatcher::Signal [0x1039E446+54] base::internal::FunctorTraits<void (__thiscall base::win::ObjectWatcher::*)(base::win::ObjectWatcher::Delegate *),void>::Invoke<base::WeakPtr<base::win::ObjectWatcher> const &,base::win::ObjectWatcher::Delegate * const &> [0x1039DA74+36] base::internal::InvokeHelper<1,void>::MakeItSo<void (__thiscall base::win::ObjectWatcher::*const &)(base::win::ObjectWatcher::Delegate *),base::WeakPtr<base::win::ObjectWatcher> const &,base::win::ObjectWatcher::Delegate * const &> [0x1039DB42+66] base::internal::Invoker<base::internal::BindState<void (__thiscall base::win::ObjectWatcher::*)(base::win::ObjectWatcher::Delegate *),base::WeakPtr<base::win::ObjectWatcher>,base::win::ObjectWatcher::Delegate *>,void __cdecl(void)>::RunImpl<void (__thisca [0x1039DBB3+83] base::internal::Invoker<base::internal::BindState<void (__thiscall base::win::ObjectWatcher::*)(base::win::ObjectWatcher::Delegate *),base::WeakPtr<base::win::ObjectWatcher>,base::win::ObjectWatcher::Delegate *>,void __cdecl(void)>::Run [0x1039E3F4+36] base::Callback<void __cdecl(void),0,0>::Run [0x100499C5+53] base::debug::TaskAnnotator::RunTask [0x100B43BC+476] base::MessageLoop::RunTask [0x1012F75C+620] base::MessageLoop::DeferOrRunPendingTask [0x1012DC5B+43] base::MessageLoop::DoWork [0x1012E25F+239] base::MessagePumpForUI::DoRunLoop [0x10136173+67] base::MessagePumpWin::Run [0x1013710B+123] base::MessageLoop::RunHandler [0x1012F3D5+293] base::RunLoop::Run [0x101ED406+166] ChromeBrowserMainParts::MainMessageLoopRun [0x04CAC268+248] content::BrowserMainLoop::RunMainMessageLoopParts [0x11ADD6B1+225] content::BrowserMainRunnerImpl::Run [0x11AE3763+243] content::BrowserMain [0x11ACF19B+155] content::RunNamedProcessTypeMain [0x1354BE87+135] content::ContentMainRunnerImpl::Run [0x1354BD2C+572] content::ContentServiceManagerMainDelegate::RunEmbedderProcess [0x13549B04+36] service_manager::Main [0x0114D709+777] content::ContentMain [0x13549FF9+41] ChromeMain [0x03721D90+256] MainDllLoader::Launch [0x0042F5FD+829] wWinMain [0x0042A4B0+576] invoke_main [0x004EA62E+30] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:118) __scrt_common_main_seh [0x004EA490+336] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253) __scrt_common_main [0x004EA32D+13] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:296) wWinMainCRTStartup [0x004EA648+8] (f:\dd\vctools\crt\vcstartup\src\startup\exe_wwinmain.cpp:17) BaseThreadInitThunk [0x758438F4+36] RtlUnicodeStringToInteger [0x77C15DE3+595] RtlUnicodeStringToInteger [0x77C15DAE+542]
,
May 11 2017
[+jkarlin] I assume this is due to https://codereview.chromium.org/2872433004
,
May 11 2017
,
May 12 2017
One possible solution is to post NetworkChangeNotifierWin::NotifyObservers() to NetworkChangeNotifierWin::dns_config_service_thread_
,
May 22 2017
,
May 24 2017
I've hit this when leaving debug Chromium running overnight. The call stack is exactly the same as above.
,
May 24 2017
Also hitting this in a debug Windows build, after resuming following a long debugger breakpoint.
,
May 25 2017
It happens when your machine's connectivity changes. Sorry about it. Patch is in the works.
,
May 26 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6b0ea35f8c93c6eb229ba09624d566a339b3073b commit 6b0ea35f8c93c6eb229ba09624d566a339b3073b Author: jkarlin <jkarlin@chromium.org> Date: Fri May 26 19:10:42 2017 [NetworkChangeNotifier] Run Windows connection type computation on safe thread 1. Move RecomputeCurrentConnectionType to anonymous namespace 2. Call RecomputeCurrentConnectionType via callback so tests can override 3. Call RecomputeCurrentConnectionType on dns thread 4. Tests inject their own dns task runner BUG= 721461 ,725487 Review-Url: https://codereview.chromium.org/2893943002 Cr-Commit-Position: refs/heads/master@{#475082} [modify] https://crrev.com/6b0ea35f8c93c6eb229ba09624d566a339b3073b/net/base/network_change_notifier_win.cc [modify] https://crrev.com/6b0ea35f8c93c6eb229ba09624d566a339b3073b/net/base/network_change_notifier_win.h [modify] https://crrev.com/6b0ea35f8c93c6eb229ba09624d566a339b3073b/net/base/network_change_notifier_win_unittest.cc
,
May 31 2017
Landed 5 days ago and no reports of problems since, so requesting merge to beta.
,
May 31 2017
This bug requires manual review: We are only 5 days from stable. Please contact the milestone owner if you have questions. Owners: amineer@(Android), cmasso@(iOS), gkihumba@(ChromeOS), Abdul Syed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
May 31 2017
Ah, I didn't want 59. I wanted 60. Switched.
,
May 31 2017
Your change meets the bar and is auto-approved for M60. Please go ahead and merge the CL to branch 3112 manually. Please contact milestone owner if you have questions. Owners: amineer@(Android), cmasso@(iOS), josafat@(ChromeOS), bustamante@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
May 31 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6da688ab3117d09406f40fd3395c6874d0d39039 commit 6da688ab3117d09406f40fd3395c6874d0d39039 Author: Josh Karlin <jkarlin@chromium.org> Date: Wed May 31 17:28:50 2017 [NetworkChangeNotifier] Run Windows connection type computation on safe thread *Merge to M60* 1. Move RecomputeCurrentConnectionType to anonymous namespace 2. Call RecomputeCurrentConnectionType via callback so tests can override 3. Call RecomputeCurrentConnectionType on dns thread 4. Tests inject their own dns task runner BUG= 721461 ,725487 Review-Url: https://codereview.chromium.org/2893943002 Cr-Commit-Position: refs/heads/master@{#475082} (cherry picked from commit 6b0ea35f8c93c6eb229ba09624d566a339b3073b) TBR=pauljensen Review-Url: https://codereview.chromium.org/2914833002 . Cr-Commit-Position: refs/branch-heads/3112@{#59} Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897} [modify] https://crrev.com/6da688ab3117d09406f40fd3395c6874d0d39039/net/base/network_change_notifier_win.cc [modify] https://crrev.com/6da688ab3117d09406f40fd3395c6874d0d39039/net/base/network_change_notifier_win.h [modify] https://crrev.com/6da688ab3117d09406f40fd3395c6874d0d39039/net/base/network_change_notifier_win_unittest.cc
,
May 31 2017
|
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by mef@chromium.org
, May 11 2017