[Webkit-unassigned] [Bug 222682] [WinCairo] deadlock in WTF::Thread::ThreadHolder::~ThreadHolder while WebKitWebProcess.exe is shutting down
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Mar 5 18:46:07 PST 2021
https://bugs.webkit.org/show_bug.cgi?id=222682
--- Comment #2 from Fujii Hironori <Hironori.Fujii at sony.com> ---
The callstack of comment#0 is came from Release build, thus it is confusing.
Here is a callsck of Debug build.
> ntdll.dll!NtWaitForAlertByThreadId() Unknown
> ntdll.dll!RtlSleepConditionVariableSRW() Unknown
> KernelBase.dll!SleepConditionVariableSRW() Unknown
> WTF.dll!WTF::ThreadCondition::timedWait(WTF::Mutex & mutex, WTF::WallTime absoluteTime) Line 390 C++
> WTF.dll!WTF::ParkingLot::parkConditionallyImpl(const void * address, const WTF::ScopedLambda<bool __cdecl(void)> & validation, const WTF::ScopedLambda<void __cdecl(void)> & beforeSleep, const WTF::TimeWithDynamicClockType & timeout) Line 602 C++
> WTF.dll!WTF::ParkingLot::parkConditionally<bool <lambda>(void),void <lambda>(void)>(const void * address, const WTF::ParkingLot::compareAndPark::__l2::bool <lambda>(void) & validation, const WTF::ParkingLot::compareAndPark::__l2::void <lambda>(void) & beforeSleep, const WTF::TimeWithDynamicClockType & timeout) Line 82 C++
> WTF.dll!WTF::ParkingLot::compareAndPark<unsigned char,unsigned char>(const WTF::Atomic<unsigned char> * address, unsigned char expected) Line 94 C++
> WTF.dll!WTF::LockAlgorithm<unsigned char,1,2,WTF::EmptyLockHooks<unsigned char>>::lockSlow(WTF::Atomic<unsigned char> & lock) Line 83 C++
> WTF.dll!WTF::Lock::lockSlow() Line 41 C++
> WTF.dll!WTF::Lock::lock() Line 60 C++
> WTF.dll!WTF::Locker<WTF::Lock>::lock() Line 131 C++
> WTF.dll!WTF::Locker<WTF::Lock>::Locker<WTF::Lock>(WTF::Lock & lockable) Line 60 C++
> WTF.dll!WTF::holdLock<WTF::Lock>(WTF::Lock & lock) Line 144 C++
> WTF.dll!WTF::RunLoop::threadWillExit() Line 179 C++
> WTF.dll!WTF::RunLoop::Holder::~Holder() Line 52 C++
> WTF.dll!WTF::RunLoop::Holder::`scalar deleting destructor'(unsigned int) C++
> WTF.dll!WTF::ThreadSpecific<WTF::RunLoop::Holder,0>::Data::~Data() Line 91 C++
> WTF.dll!WTF::ThreadSpecific<WTF::RunLoop::Holder,0>::Data::`scalar deleting destructor'(unsigned int) C++
> WTF.dll!WTF::ThreadSpecific<WTF::RunLoop::Holder,0>::destroy(void * ptr) Line 178 C++
> WTF.dll!WTF::Thread::SpecificStorage::destroySlots() Line 331 C++
> WTF.dll!WTF::Thread::ThreadHolder::~ThreadHolder() Line 279 C++
> WTF.dll!WTF::`dynamic atexit destructor for 's_threadHolder''() C++
> WTF.dll!__dyn_tls_dtor(void * __formal, const unsigned long dwReason, void * __formal) Line 119 C++
> ntdll.dll!LdrpCallInitRoutine() Unknown
> ntdll.dll!LdrpCallTlsInitializers() Unknown
> ntdll.dll!LdrShutdownProcess() Unknown
> ntdll.dll!RtlExitUserProcess() Unknown
> kernel32.dll!ExitProcessImplementation() Unknown
> ucrtbase.dll!exit_or_terminate_process() Unknown
> ucrtbase.dll!common_exit() Unknown
> WebKit2.dll!WebKit::callExit(IPC::Connection * __formal) Line 236 C++
> WebKit2.dll!IPC::Connection::connectionDidClose() Line 849 C++
> WebKit2.dll!IPC::Connection::readEventHandler() Line 159 C++
> WebKit2.dll!IPC::Connection::invokeReadEventHandler::__l2::<lambda>() Line 238 C++
> WebKit2.dll!WTF::Detail::CallableWrapper<void <lambda>(void),void>::call() Line 52 C++
> WTF.dll!WTF::Function<void __cdecl(void)>::operator()() Line 84 C++
> WTF.dll!WTF::WorkQueue::dispatch::__l2::<lambda>() Line 62 C++
> WTF.dll!WTF::Detail::CallableWrapper<void <lambda>(void),void>::call() Line 52 C++
> WTF.dll!WTF::Function<void __cdecl(void)>::operator()() Line 84 C++
> WTF.dll!WTF::RunLoop::performWork() Line 129 C++
> WTF.dll!WTF::RunLoop::wndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 57 C++
> WTF.dll!WTF::RunLoop::RunLoopWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 39 C++
> user32.dll!UserCallWinProcCheckWow() Unknown
> user32.dll!DispatchMessageWorker() Unknown
> WTF.dll!WTF::RunLoop::run() Line 74 C++
> WTF.dll!WTF::WorkQueue::platformInitialize::__l2::<lambda>() Line 42 C++
> WTF.dll!WTF::Detail::CallableWrapper<void <lambda>(void),void>::call() Line 52 C++
> WTF.dll!WTF::Function<void __cdecl(void)>::operator()() Line 84 C++
> WTF.dll!WTF::Thread::entryPoint(WTF::Thread::NewThreadContext * newThreadContext) Line 182 C++
> WTF.dll!WTF::wtfThreadEntryPoint(void * data) Line 153 C++
> ucrtbase.dll!thread_start<unsigned int (__cdecl*)(void *),1>() Unknown
> kernel32.dll!BaseThreadInitThunk() Unknown
> ntdll.dll!RtlUserThreadStart() Unknown
Connection::connectionDidClose calls WebKit::callExit.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210306/394e1275/attachment.htm>
More information about the webkit-unassigned
mailing list