[Webkit-unassigned] [Bug 210955] New: [WinCairo] Dead lock in WTF::Thread::didExit() while WebKitNetworkProcess.exe is exiting

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Apr 24 00:04:48 PDT 2020


https://bugs.webkit.org/show_bug.cgi?id=210955

            Bug ID: 210955
           Summary: [WinCairo] Dead lock in WTF::Thread::didExit() while
                    WebKitNetworkProcess.exe is exiting
           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::didExit() while WebKitNetworkProcess.exe is exiting

By running run-webkit-tests, sometimes WebKitNetworkProcess.exe process doesn't exit.

> python ./Tools/Scripts/run-webkit-tests --wincairo --debug --no-new-test-results --no-retry-failures --no-show-results -f fast

There is only the main thread, and here is its callstack.

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 383	C++
> WTF.dll!WTF::ParkingLot::parkConditionallyImpl(const void * address=0x00007ffc1ec325ac, const WTF::ScopedLambda<bool __cdecl(void)> & validation={...}, const WTF::ScopedLambda<void __cdecl(void)> & beforeSleep={...}, const WTF::TimeWithDynamicClockType & timeout={...}) Line 604	C++
> WTF.dll!WTF::ParkingLot::parkConditionally<bool <lambda>(void),void <lambda>(void)>(const void * address=0x00007ffc1ec325ac, const WTF::ParkingLot::compareAndPark::__l2::bool <lambda>(void) & validation=bool <lambda>(void){...}, const WTF::ParkingLot::compareAndPark::__l2::void <lambda>(void) & beforeSleep=void <lambda>(void){...}, const WTF::TimeWithDynamicClockType & timeout={...}) Line 82	C++
> WTF.dll!WTF::ParkingLot::compareAndPark<unsigned char,unsigned char>(const WTF::Atomic<unsigned char> * address=0x00007ffc1ec325ac, unsigned char expected='\x3') 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 114	C++
> WTF.dll!WTF::Locker<WTF::Lock>::Locker<WTF::Lock>(WTF::Lock & lockable={...}) Line 55	C++
> WTF.dll!WTF::Thread::didExit() Line 226	C++
> WTF.dll!WTF::Thread::ThreadHolder::~ThreadHolder() Line 274	C++
> WTF.dll!WTF::`dynamic atexit destructor for 's_threadHolder''()	C++
> WTF.dll!__dyn_tls_dtor(void * __formal=0x000000007ffe0385, 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
> WebKitNetworkProcess.exe!__scrt_common_main_seh() Line 295	C++
> kernel32.dll!BaseThreadInitThunk()	Unknown
> ntdll.dll!RtlUserThreadStart()	Unknown

I don't know when this issue started to happen, but not so long time ago.
I fixed very similar issue in 5 months ago.

  Bug 204192 – [WinCairo] dead lock in Thread::destructTLS

-- 
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/20200424/cfabdc80/attachment.htm>


More information about the webkit-unassigned mailing list