[Webkit-unassigned] [Bug 210955] [WinCairo] Dead lock in WTF::Thread::didExit() while WebKitNetworkProcess.exe is exiting
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Apr 27 00:25:04 PDT 2020
https://bugs.webkit.org/show_bug.cgi?id=210955
--- Comment #4 from Fujii Hironori <Hironori.Fujii at sony.com> ---
Created attachment 397651
--> https://bugs.webkit.org/attachment.cgi?id=397651&action=review
a test program to exit while other thread is locking a Lock
I created a test program that the main thread exits while other thread is locking a Lock.
This program is based on Bug 204192 Comment 26.
> TestWTF.exe --gtest_filter=WTF_Lock.Test1
The deadlock happened with the following 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=0x00007ffc1d0d1c28, 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=0x00007ffc1d0d1c28, 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=0x00007ffc1d0d1c28, 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++
> TestWTFLib.dll!WTF::Lock::lock() Line 60 C++
> TestWTFLib.dll!WTF::Locker<WTF::Lock>::lock() Line 114 C++
> TestWTFLib.dll!WTF::Locker<WTF::Lock>::Locker<WTF::Lock>(WTF::Lock & lockable={...}) Line 55 C++
> TestWTFLib.dll!WTF::holdLock<WTF::Lock>(WTF::Lock & lock={...}) Line 127 C++
> TestWTFLib.dll!`TestWebKitAPI::WTF_Lock_Test1_Test::TestBody'::`2'::ThreadExitCallback::~ThreadExitCallback() Line 206 C++
> TestWTFLib.dll!`TestWebKitAPI::WTF_Lock_Test1_Test::TestBody'::`2'::`dynamic atexit destructor for 'callback''() C++
> TestWTFLib.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
> TestWTF.exe!__scrt_common_main_seh() Line 295 C++
> kernel32.dll!BaseThreadInitThunk() Unknown
> ntdll.dll!RtlUserThreadStart() Unknown
--
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/20200427/aad27691/attachment-0001.htm>
More information about the webkit-unassigned
mailing list