You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So there's a kernel driver bug involved. It kind of sounds like a double unmap, or an unmap after a failed map, or something like that. The addresses printed by the kernel match at least one of the faults.
The text was updated successfully, but these errors were encountered:
An object gets created, exported/imported into another process. The other process binds it twice, once with a size greater than the object.
The kernel bug is we do not fail bind requests with size > object size, and consider the tail range mapped (even though the underlying PT mutation operation stops after reaching the end of the object). So on unmap, everything after the object end WARNs since those PTEs aren't actually populated. This is harmless in principle (no kernel state is dangerously wrong), but noisy.
But there's definitely a userspace bug to go along with this. Mapping the same object twice in a row, once with an excessive size, is definitely wrong. Virtio related perhaps? 0x12d0000 is the size of other GEM objects File 302 is dealing with...
I guess step 1 here is to fix the kernel to fail the bad request, then see where it comes from in userspace. And I really need to get muvm/libkrun to verbosely log virglrenderer errors somehow...
Reported here: https://www.reddit.com/r/AsahiLinux/comments/1hy9kym/gpu_timeout_when_resizing_steam_window_macbook/
This one is more interesting than a userspace driver bug. The faults repro easily, but then after resizing for a bit I managed to get this:
So there's a kernel driver bug involved. It kind of sounds like a double unmap, or an unmap after a failed map, or something like that. The addresses printed by the kernel match at least one of the faults.
The text was updated successfully, but these errors were encountered: