[Webkit-unassigned] [Bug 267323] REGRESSION(270429 at main): [Win Wasm] Nothing is shown in https://threejs.org/examples/#webgl_animation_keyframes

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Aug 19 17:18:39 PDT 2024


https://bugs.webkit.org/show_bug.cgi?id=267323

--- Comment #7 from Ian Grunert <ian.grunert at gmail.com> ---
The callback scheduled in JSWebAssembly.cpp compileAndInstantiate via vm.deferredWorkTimer->scheduleWorkSoon is never called:

https://github.com/WebKit/WebKit/blob/main/Source/JavaScriptCore/wasm/js/JSWebAssembly.cpp#L255-L275

After vm.deferredWorkTimer->scheduleWorkSoon is called, DeferredWorkTimer::doWork is never called. This is also a problem for compileStreaming which uses the deferredWorkTimer as well.

The docs for SetTimer state the HWND passed must be owned by the calling thread; we're trying to use the parent's runloop here from the web worker thread.

https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-settimer

A possible fix: We could store the thread id that owns the runloop. If you try and set a timer from a different thread, we could PostMessageW to the window a ScheduleTimerMessage (that we define like we do for PerformWorkMessage) which could then call SetTimer from the correct thread.

-- 
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/20240820/667876e7/attachment.htm>


More information about the webkit-unassigned mailing list