RESOLVED INVALID280843
REGRESSION(284553@main): [Win] ASSERTION FAILED: !didReceiveInvalidMessage in GPU process
https://bugs.webkit.org/show_bug.cgi?id=280843
Summary REGRESSION(284553@main): [Win] ASSERTION FAILED: !didReceiveInvalidMessage in...
Fujii Hironori
Reported 2024-10-03 13:14:00 PDT
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
Kimmo Kinnunen
Comment 1 2024-10-04 00:56:18 PDT
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
Comment 2 2024-10-04 01:06:01 PDT
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
Comment 3 2024-10-04 01:08:52 PDT
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
Comment 4 2024-10-06 13:45:44 PDT
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
Comment 5 2024-10-06 21:36:09 PDT
It was an invalid message because decoding Win32Handle has failed. See also 279361@main (bug#258440).
Radar WebKit Bug Importer
Comment 6 2024-10-10 13:14:16 PDT
Kimmo Kinnunen
Comment 7 2024-10-24 02:20:08 PDT
Closing as invalid. Please reopen if theres's work to do.
Note You need to log in before you can comment on or make changes to this bug.