New issue
Advanced search Search tips

Issue 664071 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 673375
Owner:
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Hit DCHECK in SequencedWorkerPool::RedirectToTaskSchedulerForProcess

Project Member Reported by grt@chromium.org, Nov 10 2016

Issue description

I installed a local build (at r430922) as canary and got this DCHECK when the uninstaller launched Chrome to show the uninstall prompt (chrome.exe --uninstall):

[6472:3396:1110/110048:FATAL:sequenced_worker_pool.cc(1447)] Check failed: AllPoolsState::NONE_ACTIVE == subtle::NoBarrier_Load(&g_all_pools_state) (0 vs. 1)
Backtrace:
	base::debug::StackTrace::StackTrace [0x1007C287+23] (c:\src\chromium\src\base\debug\stack_trace_win.cc:214)
	logging::LogMessage::~LogMessage [0x100CDEDB+59] (c:\src\chromium\src\base\logging.cc:533)
	base::SequencedWorkerPool::RedirectToTaskSchedulerForProcess [0x1022F307+311] (c:\src\chromium\src\base\threading\sequenced_worker_pool.cc:1448)
	`anonymous namespace'::MaybeInitializeTaskScheduler [0x03FBAA88+520] (c:\src\chromium\src\chrome\browser\chrome_browser_main.cc:340)
	ChromeBrowserMainParts::PreCreateThreadsImpl [0x03FBCB25+4053] (c:\src\chromium\src\chrome\browser\chrome_browser_main.cc:1246)
	ChromeBrowserMainParts::PreCreateThreads [0x03FBB8A2+178] (c:\src\chromium\src\chrome\browser\chrome_browser_main.cc:955)
	ChromeBrowserMainPartsWin::PreCreateThreads [0x03C6E97B+27] (c:\src\chromium\src\chrome\browser\chrome_browser_main_win.cc:292)
	content::BrowserMainLoop::PreCreateThreads [0x116A9ADA+234] (c:\src\chromium\src\content\browser\browser_main_loop.cc:742)
	base::internal::FunctorTraits<int (__thiscall content::BrowserMainLoop::*)(void),void>::Invoke<content::BrowserMainLoop *> [0x1169F772+18] (c:\src\chromium\src\base\bind_internal.h:215)
	base::internal::InvokeHelper<0,int>::MakeItSo<int (__thiscall content::BrowserMainLoop::*const &)(void),content::BrowserMainLoop *> [0x1169FC14+36] (c:\src\chromium\src\base\bind_internal.h:285)
	base::internal::Invoker<base::internal::BindState<int (__thiscall content::BrowserMainLoop::*)(void),base::internal::UnretainedWrapper<content::BrowserMainLoop> >,int __cdecl(void)>::RunImpl<int (__thiscall content::BrowserMainLoop::*const &)(void),std::t [0x116A001B+59] (c:\src\chromium\src\base\bind_internal.h:361)
	base::internal::Invoker<base::internal::BindState<int (__thiscall content::BrowserMainLoop::*)(void),base::internal::UnretainedWrapper<content::BrowserMainLoop> >,int __cdecl(void)>::Run [0x116AA2F4+36] (c:\src\chromium\src\base\bind_internal.h:339)
	base::internal::RunMixin<base::Callback<int __cdecl(void),1,1> >::Run [0x11E1169F+63] (c:\src\chromium\src\base\callback.h:64)
	content::StartupTaskRunner::RunAllTasksNow [0x1234376E+110] (c:\src\chromium\src\content\browser\startup_task_runner.cc:45)
	content::BrowserMainLoop::CreateStartupTasks [0x116A6449+569] (c:\src\chromium\src\content\browser\browser_main_loop.cc:852)
	content::BrowserMainRunnerImpl::Initialize [0x116AFD3E+958] (c:\src\chromium\src\content\browser\browser_main_runner.cc:141)
	content::BrowserMain [0x1169C86F+95] (c:\src\chromium\src\content\browser\browser_main.cc:42)
	content::RunNamedProcessTypeMain [0x1300BB37+135] (c:\src\chromium\src\content\app\content_main_runner.cc:408)
	content::ContentMainRunnerImpl::Run [0x1300B9F8+488] (c:\src\chromium\src\content\app\content_main_runner.cc:776)
	content::ContentMain [0x13009914+100] (c:\src\chromium\src\content\app\content_main.cc:20)
	ChromeMain [0x02B572D8+264] (c:\src\chromium\src\chrome\app\chrome_main.cc:108)
	MainDllLoader::Launch [0x0042E476+918] (c:\src\chromium\src\chrome\app\main_dll_loader_win.cc:174)
	wWinMain [0x0042918E+558] (c:\src\chromium\src\chrome\app\chrome_exe_main_win.cc:249)
	invoke_main [0x004DBF3E+30] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:118)
	__scrt_common_main_seh [0x004DBDA0+336] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253)
	__scrt_common_main [0x004DBC3D+13] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:296)
	wWinMainCRTStartup [0x004DBF58+8] (f:\dd\vctools\crt\vcstartup\src\startup\exe_wwinmain.cpp:17)
	BaseThreadInitThunk [0x76A162C4+36]
	RtlSubscribeWnfStateChangeNotification [0x77670719+1081]
	RtlSubscribeWnfStateChangeNotification [0x776706E4+1028]
 

Comment 1 by gab@chromium.org, Nov 11 2016

Cc: -fdoray@chromium.org gab@chromium.org
Owner: fdoray@chromium.org
I can repro by installing Chromium (ninja -C out\Release mini_installer && out\Release\setup.exe), then running "%localappdata%\Chromium\Application\chrome.exe --uninstall --force-fieldtrials=BrowserScheduler/Enabled/ --force-fieldtrial-params=BrowserScheduler.Enabled:Background/3;3;1;0;10000/BackgroundFileIO/3;3;1;0;10000/Foreground/3;3;1;0;10000/ForegroundFileIO/3;3;1;0;10000/RedirectSequencedWorkerPools/true"

This means something posts to SequencedWorkerPool too early, fdoray has a pending CL to catch these which should tell us what is: https://codereview.chromium.org/2445763002/

Comment 2 by gab@chromium.org, Nov 11 2016

Hmmm the too early task appears to be conditional as I can no longer repro in subsequent runs after F5'ing through the DCHECK...

Anyways, Francois' CL will generate DUMP_WITHOUT_CRASH in the wild so we hope to catch all of those weird edge cases we don't hit in local runs.

Comment 3 by grt@chromium.org, Nov 18 2016

I just hit this again with a regular browser launch. Should I just disable the DCHECK locally, or do you have a fix coming down the pike?

Comment 4 by fdoray@chromium.org, Nov 18 2016

You can safely disable the DCHECK locally. Yesterday we landed a CL that will help us understand how that happens - a fix will be coming shortly after we understand the problem.

Comment 5 by grt@chromium.org, Nov 18 2016

Super. If I sync to ToT and leave the DCHECK in, will I be able to collect useful data for you should it happen again?

Comment 6 by fdoray@chromium.org, Feb 14 2017

Mergedinto: 673375
Status: Duplicate (was: Assigned)

Sign in to add a comment