Bug 280843
| Summary: | REGRESSION(284553@main): [Win] ASSERTION FAILED: !didReceiveInvalidMessage in GPU process | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Fujii Hironori <fujii.hironori> |
| Component: | WebKit2 | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED INVALID | ||
| Severity: | Normal | CC: | kkinnunen, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=280271 | ||
Fujii Hironori
After 284553@main, Windows Debug layout tests buildbot is observing a random assertion failure in GPU process.
ASSERTION FAILED: !didReceiveInvalidMessage
C:\BW\Windows-64-bit-Debug-Build\build\Source\WebKit\Platform/IPC/Connection.cpp(1450) : void IPC::Connection::dispatchMessage(UniqueRef<Decoder>)
Buildbot: builder Windows-64-bit-Debug-Tests build 113 : 284593@main
https://build.webkit.org/#/builders/1190/builds/113
https://build.webkit.org/results/Windows-64-bit-Debug-Tests/284593@main%20(113)/fast/dom/Window/addEventListener-implicit-this-stderr.txt
Buildbot: builder Windows-64-bit-Debug-Tests build 114 : 284602@main
https://build.webkit.org/#/builders/1190/builds/114
https://build.webkit.org/results/Windows-64-bit-Debug-Tests/284602@main%20(114)/fast/dom/Window/atob-btoa-stderr.txt
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Kimmo Kinnunen
I think this is very much a goal.
In general, we should move into direction that messages are not sent to non-existing targets.
In GPU process, I cannot see a reason why there would be correct code that would ignore a message.
The normal reason for this is that somehow GPU process makes a decision of "this object can be removed now" on its own. The likely that decision should be made by the creator, e.g the WCP.
I know it's tedious to rearchitect the code for this, but I think it produces better results.
Note: in WCP and UIP we skip messages to unknown targets, but it would be good to move away from that practice.
Kimmo Kinnunen
Hmm, looking at it more, it really seems like a invalid message error and not a missing destination.
Maybe if I added more logging, we could see if it's a Connection issue or Win port invalid message issue?
Kimmo Kinnunen
Also, as a side-note, it would be useful if Win port could run the TestIPC unit tests. If it already does, great!
Fujii Hironori
TestIPC is not available for Windows port yet.
This assertion failure is reproducible on my PC.
> python .\Tools\Scripts\run-webkit-tests --debug --no-retry --iter=1000 -f fast/dom/Window/a-rel-noopener.html
Using a debugger, message.m_ref._Mypair._Myval2->m_messageName was GPUConnectionToWebProcess_CreateRenderingBackend (34).
Fujii Hironori
It was an invalid message because decoding Win32Handle has failed.
See also 279361@main (bug#258440).
Radar WebKit Bug Importer
<rdar://problem/137702244>
Kimmo Kinnunen
Closing as invalid. Please reopen if theres's work to do.