[Webkit-unassigned] [Bug 222682] New: [WinCairo] dead lock in WTF::Thread::ThreadHolder::~ThreadHolder while WebKitWebProcess.exe is shutting down
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Mar 3 13:26:39 PST 2021
https://bugs.webkit.org/show_bug.cgi?id=222682
Bug ID: 222682
Summary: [WinCairo] dead lock in
WTF::Thread::ThreadHolder::~ThreadHolder while
WebKitWebProcess.exe is shutting down
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: Web Template Framework
Assignee: webkit-unassigned at lists.webkit.org
Reporter: Hironori.Fujii at sony.com
[WinCairo] dead lock in WTF::Thread::ThreadHolder::~ThreadHolder while WebKitWebProcess.exe is shutting down
I'm recently infrequently observing WebKitWebProcess.exe's dead lock while it is quiting by running WinCairo WebKit2 layout tests.
I think this problem has started since late February 2021.
Callstack:
> 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 ()> & validation, const WTF::ScopedLambda<void ()> & beforeSleep, const WTF::TimeWithDynamicClockType & timeout) Line 602 C++
> [Inline Frame] WTF.dll!WTF::ParkingLot::parkConditionally(const void * address, const WTF::ParkingLot::compareAndPark<unsigned char,unsigned char>::<unnamed-tag> & validation, const WTF::ParkingLot::compareAndPark<unsigned char,unsigned char>::<unnamed-tag> & beforeSleep, const WTF::TimeWithDynamicClockType & timeout) Line 82 C++
> [Inline Frame] WTF.dll!WTF::ParkingLot::compareAndPark(const WTF::Atomic<unsigned char> * address, unsigned char expected) Line 94 C++
> WTF.dll!WTF::LockAlgorithm<unsigned char,'\x01','\x02',WTF::EmptyLockHooks<unsigned char>>::lockSlow(WTF::Atomic<unsigned char> & lock) Line 85 C++
> [Inline Frame] WTF.dll!WTF::Lock::lock() Line 59 C++
> [Inline Frame] WTF.dll!WTF::Locker<WTF::Lock>::lock() Line 128 C++
> [Inline Frame] WTF.dll!WTF::Locker<WTF::Lock>::Locker(WTF::Lock & lockable) Line 60 C++
> [Inline Frame] WTF.dll!WTF::holdLock(WTF::Lock & lock) Line 144 C++
> WTF.dll!WTF::RunLoop::threadWillExit() Line 179 C++
> [Inline Frame] WTF.dll!WTF::RunLoop::Holder::~Holder() Line 51 C++
> [Inline Frame] WTF.dll!WTF::ThreadSpecific<WTF::RunLoop::Holder,WTF::CanBeGCThread::False>::Data::~Data() Line 90 C++
> WTF.dll!WTF::ThreadSpecific<WTF::RunLoop::Holder,WTF::CanBeGCThread::False>::destroy(void * ptr) Line 178 C++
> [Inline Frame] WTF.dll!WTF::Thread::SpecificStorage::destroySlots() Line 330 C++
> [Inline Frame] WTF.dll!WTF::Thread::ThreadHolder::~ThreadHolder() Line 278 C++
> WTF.dll!WTF::`dynamic atexit destructor for 's_threadHolder'() Line 286 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::AuxiliaryProcess::didClose(IPC::Connection &) Line 60 C++
> WebKit2.dll!IPC::Connection::connectionDidClose() Line 849 C++
> WebKit2.dll!IPC::Connection::readEventHandler() Line 158 C++
> [Inline Frame] WTF.dll!WTF::Function<void ()>::operator()() Line 83 C++
> WTF.dll!WTF::RunLoop::performWork() Line 129 C++
> [Inline Frame] WTF.dll!WTF::RunLoop::wndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 56 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 73 C++
> [Inline Frame] WTF.dll!WTF::Function<void ()>::operator()() Line 83 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
I fixed a similar bug in 10 months ago.
Bug 210955 – [Win] Deadlock in WTF::Thread::didExit() while WebKitNetworkProcess.exe is exiting
--
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/20210303/030b2686/attachment.htm>
More information about the webkit-unassigned
mailing list