Bug 212065 - [WinCairo] ASSERT(m_eglDisplay == EGL_NO_DISPLAY) fails in ~PlatformDisplay()
Summary: [WinCairo] ASSERT(m_eglDisplay == EGL_NO_DISPLAY) fails in ~PlatformDisplay()
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: 2020-05-19 00:43 PDT by Fujii Hironori
Modified: 2020-05-19 21:19 PDT (History)
4 users (show)

See Also:


Attachments
Patch (4.96 KB, patch)
2020-05-19 13:35 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 2020-05-19 00:43:30 PDT
[WinCairo] ASSERT(m_eglDisplay == EGL_NO_DISPLAY) fails in ~PlatformDisplay()

1. Start WinCairo Debug buid WK2 MiniBrowser
2. Go to WebGL page (for example https://get.webgl.org/)
3. Close MiniBrowser window
4. The assertion fails

Callstack:

> WTF.dll!WTFCrash() Line 303	C++
> WebKit2.dll!WTFCrashWithInfo(int __formal=162, const char * __formal=0x00007ffd388adf70, const char * __formal=0x00007ffd388adf40, int __formal=261) Line 672	C++
> WebKit2.dll!WebCore::PlatformDisplay::~PlatformDisplay() Line 162	C++
> WebKit2.dll!WebCore::PlatformDisplayWin::~PlatformDisplayWin() Line 51	C++
> [External Code]	
> WebKit2.dll!WebKit::callExit(IPC::Connection * __formal=0x0000018fda960de0) Line 203	C++
> WebKit2.dll!IPC::Connection::connectionDidClose() Line 856	C++
> WebKit2.dll!IPC::Connection::readEventHandler() Line 156	C++
> WebKit2.dll!IPC::Connection::invokeReadEventHandler::__l2::<lambda>() Line 235	C++
> WebKit2.dll!WTF::Detail::CallableWrapper<void <lambda>(void),void>::call() Line 52	C++
> WTF.dll!WTF::Function<void __cdecl(void)>::operator()() Line 85	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 85	C++
> WTF.dll!WTF::RunLoop::performWork() Line 120	C++
> WTF.dll!WTF::RunLoop::wndProc(HWND__ * hWnd=0x0000000000190728, unsigned int message=1025, unsigned __int64 wParam=1717359019392, __int64 lParam=0) Line 57	C++
> WTF.dll!WTF::RunLoop::RunLoopWndProc(HWND__ * hWnd=0x0000000000190728, unsigned int message=1025, unsigned __int64 wParam=1717359019392, __int64 lParam=0) Line 39	C++
> [External Code]	
> 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 85	C++
> WTF.dll!WTF::Thread::entryPoint(WTF::Thread::NewThreadContext * newThreadContext=0x0000018fda9394f0) Line 168	C++
> WTF.dll!WTF::wtfThreadEntryPoint(void * data=0x0000018fda9394f0) Line 153	C++
> [External Code]	

The same issue of WinCairo WK1 was fixed in Bug 170331 by calling PlatformDisplay::shutDownEglDisplays() in shutDownWebKit().
Comment 1 Fujii Hironori 2020-05-19 13:35:13 PDT
Created attachment 399766 [details]
Patch
Comment 2 Fujii Hironori 2020-05-19 21:18:37 PDT
Comment on attachment 399766 [details]
Patch

Clearing flags on attachment: 399766

Committed r261905: <https://trac.webkit.org/changeset/261905>
Comment 3 Fujii Hironori 2020-05-19 21:18:40 PDT
All reviewed patches have been landed.  Closing bug.
Comment 4 Radar WebKit Bug Importer 2020-05-19 21:19:15 PDT
<rdar://problem/63429994>