Bug 195550 - [CoordinatedGraphics] ASSERTION FAILED: !m_state.isSuspended
Summary: [CoordinatedGraphics] ASSERTION FAILED: !m_state.isSuspended
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Fujii Hironori
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-03-11 03:32 PDT by Fujii Hironori
Modified: 2019-03-11 21:17 PDT (History)
3 users (show)

See Also:


Attachments
Patch (1.79 KB, patch)
2019-03-11 03:42 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 2019-03-11 03:32:20 PDT
[CoordinatedGraphics] ASSERTION FAILED: !m_state.isSuspended

I'm working on enabling Coordinated Graphics for WinCairo port (Bug 186364).
Some compositing LayoutTests are failing due to the following assertion failures randomly.

> python ./Tools/Scripts/run-webkit-tests --debug  --wincairo --no-new-test-results compositing

> ASSERTION FAILED: !m_state.isSuspended
> ..\..\Source\WebKit\Shared\CoordinatedGraphics\threadedcompositor\CompositingRunLoop.cpp(225) : updateTimerFired
> 1   00007FF94B331429 WTFCrash
> 2   00007FF90EE90680 WTFCrashWithInfo
> 3   00007FF90EF69EAC WebKit::CompositingRunLoop::updateTimerFired
> 4   00007FF90EF6C6E2 WTF::RunLoop::Timer<WebKit::CompositingRunLoop>::fired
> 5   00007FF94B45A610 WTF::RunLoop::TimerBase::timerFired
> 6   00007FF94B45A495 WTF::RunLoop::wndProc
> 7   00007FF94B45A389 WTF::RunLoop::RunLoopWndProc
> 8   00007FF976F06D41 CallWindowProcW
> 9   00007FF976F06713 DispatchMessageW
> 10  00007FF94B45A693 WTF::RunLoop::run
> 11  00007FF90EF6AC24 WebKit::createRunLoop::<unnamed-tag>::operator()
> 12  00007FF90EF6ABC7 WTF::Function<void ()>::CallableWrapper<`lambda at ..\..\Source\WebKit\Shared\CoordinatedGraphics\threadedcompositor\CompositingRunLoop.cpp:46:53'>::call
> 13  00007FF94B345040 WTF::Function<void ()>::operator()
> 14  00007FF94B3994A3 WTF::Thread::entryPoint
> 15  00007FF94B45BBB3 WTF::wtfThreadEntryPoint
> 16  00007FF97527C4CE o_ceil
> 17  00007FF977DD3DC4 BaseThreadInitThunk
> 18  00007FF9780E3691 RtlUserThreadStart
> #CRASHED - WebProcess (pid 18052)
Comment 1 Fujii Hironori 2019-03-11 03:42:38 PDT
Created attachment 364244 [details]
Patch
Comment 2 Carlos Garcia Campos 2019-03-11 03:58:56 PDT
Could you show the bt of the other threads too, please?
Comment 3 Fujii Hironori 2019-03-11 04:36:40 PDT
Here is the callstack of main thread.

> [External Code]	
> WTF.dll!WTF::ThreadCondition::timedWait(WTF::Mutex & mutex, WTF::WallTime absoluteTime) Line 414	C++
> WTF.dll!WTF::ParkingLot::parkConditionallyImpl(const void * address, const WTF::ScopedLambda<bool ()> & validation, const WTF::ScopedLambda<void ()> & beforeSleep, const WTF::TimeWithDynamicClockType & timeout) Line 603	C++
> WebKit2.dll!WTF::ParkingLot::parkConditionally<`lambda at DerivedSources\ForwardingHeaders\wtf/Condition.h:77:17',`lambda at DerivedSources\ForwardingHeaders\wtf/Condition.h:83:17'>(const void * address, const WTF::Condition::waitUntil<WTF::Lock>::<unnamed-tag> & validation, const WTF::Condition::waitUntil<WTF::Lock>::<unnamed-tag> & beforeSleep, const WTF::TimeWithDynamicClockType & timeout) Line 80	C++
> WebKit2.dll!WTF::Condition::waitUntil<WTF::Lock>(WTF::Lock & lock, const WTF::TimeWithDynamicClockType & timeout) Line 75	C++
> WebKit2.dll!WTF::Condition::wait<WTF::Lock>(WTF::Lock & lock) Line 121	C++
> WebKit2.dll!WebKit::CompositingRunLoop::performTaskSync(WTF::Function<void ()> && function) Line 95	C++
> WebKit2.dll!WebKit::ThreadedCompositor::suspend() Line 125	C++
> WebKit2.dll!WebKit::LayerTreeHost::pauseRendering() Line 254	C++
> WebKit2.dll!WebKit::DrawingAreaCoordinatedGraphics::exitAcceleratedCompositingMode() Line 594	C++
> WebKit2.dll!WTF::RunLoop::Timer<WebKit::DrawingAreaCoordinatedGraphics>::fired() Line 152	C++
> WTF.dll!WTF::RunLoop::TimerBase::timerFired() Line 141	C++
> WTF.dll!WTF::RunLoop::wndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 60	C++
> WTF.dll!WTF::RunLoop::RunLoopWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 39	C++
> [External Code]	
> WTF.dll!WTF::RunLoop::run() Line 69	C++
> WebKit2.dll!WebKit::AuxiliaryProcessMain<WebKit::WebProcess,WebKit::WebProcessMain>(int argc, char * * argv) Line 67	C++
> WebKit2.dll!WebKit::WebProcessMainWin(int argc, char * * argv) Line 46	C++
> WebKitWebProcess.exe!main(int argc, char * * argv) Line 33	C++
> [External Code]	

ThreadedCompositor::suspend is calling the next function.
Comment 4 Fujii Hironori 2019-03-11 21:12:57 PDT
Comment on attachment 364244 [details]
Patch

Clearing flags on attachment: 364244

Committed r242771: <https://trac.webkit.org/changeset/242771>
Comment 5 Fujii Hironori 2019-03-11 21:13:00 PDT
All reviewed patches have been landed.  Closing bug.
Comment 6 Radar WebKit Bug Importer 2019-03-11 21:17:53 PDT
<rdar://problem/48796633>