ChanServ changed the topic of #asahi-gpu to: Asahi Linux GPU development (no user support, NO binary reversing) | Keep things on topic | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Logs: https://alx.sh/l/asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
ourdumbfuture has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
ourdumbfuture has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ourdumbfuture has joined #asahi-gpu
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
loki_val has quit []
nafod has quit [Ping timeout: 480 seconds]
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
Emantor has quit [Quit: ZNC - http://znc.in]
Emantor has joined #asahi-gpu
ourdumbfuture has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ourdumbfuture has joined #asahi-gpu
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
ourdumbfuture has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<lina> Looks like GNOME 44 / XWayland broke window modifiers or something like that...
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
WindowPain has joined #asahi-gpu
WindowPa- has quit [Read error: Connection reset by peer]
mikelee has joined #asahi-gpu
Z750 has quit [Quit: Ping timeout (120 seconds)]
Z750 has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
Z750 has quit [Quit: Ping timeout (120 seconds)]
Z750 has joined #asahi-gpu
mikelee has joined #asahi-gpu
Guest7156 has quit [Quit: Bridge terminating on SIGTERM]
rhysmdnz has quit [Quit: Bridge terminating on SIGTERM]
rhysmdnz has joined #asahi-gpu
Jamie has joined #asahi-gpu
Jamie is now known as Guest7281
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
<Retr0id> ^ if I wanted to look through commits and speculate about what might've caused it, which repo(s) should I be looking in?
<jannau> I would start with mutter (gnome's compositor) if you're reasonably sure that the gnome update broke it
<jannau> XWayland has probably a lot less commits and there was iirc a release recently
mikelee has quit [Ping timeout: 480 seconds]
<jannau> there are related changes in Xwayland 23.1.2, for example https://gitlab.freedesktop.org/xorg/xserver/-/commit/73e0510dee175b5c834c1d4c2cb24071b7f84bbf
<jannau> Retr0id: can you try to downgrade to Xwayland 23.1.1
<Retr0id> just downgraded to 23.1.1, no change in symptoms
<Retr0id> (I had xorg-xwayland-23.1.1-1-aarch64.pkg.tar.xz in my local cache)
<jannau> Xwayland is even more broken for me under gnome. On login I get a broken KGpg window but after that some X11 applications are completly broken, for example glxgears
mikelee has joined #asahi-gpu
<lina> That's the modifiers issue
<lina> Apps are rendering compressed and mutter is compositing them as linear
<lina> It means somewhere along the line the modifier gets lost or set to zero
WindowPa- has joined #asahi-gpu
WindowPain has quit [Ping timeout: 480 seconds]
mikelee has quit [Ping timeout: 480 seconds]
stipa has quit [Remote host closed the connection]
<jannau> glxgears seems to kill xwayland here and gnome doesn't restart it
<lina> I think it might be a Mesa regression somewhere, it worked with some random older branch
<lina> Yeah, it's a core Mesa regression. I have a bad and good commit now (with trivial Asahi changes on top), going to bisect
<jannau> firefox crashes are agx related. finally one after enabling symbols:: SIGSEV in agx_bo_unreference() ../mesa-asahi-20230725/src/asahi/lib/agx_bo.c:190
<lina> Ummmmmmmmmm
<lina> I bisected the xwayland thing to 1d9d72b3fb905e
<lina> Which both has nothing to do with its own commit description (!?) and doesn't have anything to do with modifiers
<lina> Now I'm really confused...
<lina> But yes, reverting it fixes xwayland on mutter
<lina> I'm going to get lunch, but this is weird...
<jannau> apaprently an agx_bo with dev == NULL
mikelee has joined #asahi-gpu
<jannau> the bo looks corrupt
<lina> Do you have a way to reproduce it?
<lina> That looks like a UAF...
mikelee has quit [Ping timeout: 480 seconds]
<lina> (Still feeling a bit sick so I'm going to lie down for a bit)
<jannau> not a good one, use firefox for hours/days. seemed to occur less often after updating asahi-20230725, asahi changes in asahi-6.4-3 might be related, see also discussion in #asahi-alt over the last copule of days
<jannau> when you feel better. take care
<jannau> mps claims the crashes are not reproducible with asahi-6.4-1 but asahi-6.4-2 with the same mesa version which seems implausible since that's just dart and dcp changes
crabbedhaloablut has joined #asahi-gpu
LinuxM1 has joined #asahi-gpu
mikelee has joined #asahi-gpu
LinuxM1 has quit [Quit: Leaving]
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
<lina> Yeah that makes no sense
<lina> Also kernel changes cannot cause that kind of userspace issue
<jannau> it's a little suspicious though that it has only be reported in #asahi-alt with asahi-6.4* and not by asahilinux users who are still on asahi-6.3*
mikelee has joined #asahi-gpu
mikelee has quit [Read error: Connection timed out]
ourdumbfuture has joined #asahi-gpu
ourdumbfuture has quit []
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
ourdumbfuture has joined #asahi-gpu
mikelee has joined #asahi-gpu
ourdumbfuture has quit []
ourdumbfuture has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
<Retr0id> fwiw I spend most of my waking hours inside of firefox and I've had no issues on 6.3
mikelee has joined #asahi-gpu
nsklaus has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
Z750 has quit [Quit: Ping timeout (120 seconds)]
Z750 has joined #asahi-gpu
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
ave36309 has quit []
ave36309 has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
ourdumbfuture has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mikelee has joined #asahi-gpu
ourdumbfuture has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
ourdumbfuture has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<alyssa> clearly we need to rewrite mesa in rust
<alyssa> i agree with lina, that backtrace looks like a uaf
ourdumbfuture has joined #asahi-gpu
<jannau> what's the best way to track that? compile mesa with asan? running firefox under valgrind has too much noise
<alyssa> honestly IDK
<jannau> so rewriting mesa in rust it is ;)
<alyssa> >:D
<ella-0> it was a mistake for me to start agxv in C
<alyssa> pffheh
<rosefromthedead> oh no
mikelee has joined #asahi-gpu
ourdumbfuture has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
possiblemeatball has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
ourdumbfuture has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
<alyssa> pffheh
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
rhysmdnz has quit [Quit: Bridge terminating on SIGTERM]
Guest7281 has quit [Quit: Bridge terminating on SIGTERM]
rhysmdnz has joined #asahi-gpu
Jamie has joined #asahi-gpu
Jamie is now known as Guest7316
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
<jannau> asahi-20230706 has according to asan a stack overflow in agx_link_varyings_vs_fs
<jannau> I'll update to asahi-20230725 to see if it still reproduces
<jannau> yes, that's easily fixed, still issues though
mikelee has joined #asahi-gpu
<jannau> the code was that way since over a year though
Venemo has quit [Quit: No Ping reply in 180 seconds.]
Venemo has joined #asahi-gpu
<jannau> every deqp-egl tests seems to fail under asan
mikelee has quit [Ping timeout: 480 seconds]
<jannau> "Pass: 0, Fail: 3760, ..." :(
<jannau> maybe consistent memleaks
<i509vcb> I wonder if there is any good reason riir the asahi/lib stuff ?
<i509vcb> Although that's not very large anyways...
<jannau> yes, looks much better with ASAN_OPTIONS=detect_leaks=0, Pass: 2067 and no fails
<jannau> any ideas why this didn't cause problems so far?
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
<alyssa> i509vcb: tbh, the scariest code is the memory manegement, etc
<alyssa> which is firmly tied up with common gallium or vulkan stuff
<alyssa> so the hardest to riir
<alyssa> something like src/asahi/layout is very unlikely to have bugs that Rust would help with
<alyssa> it's basically just math
<alyssa> (otoh it would be totally straightforward to riir since it's just math)
<i509vcb> Unless you are dealing with a bunch of overflow stuff that something like u32::overflowing_add would help with, I don't see why it would really help. I do recall mesa has some macros to handle that of course
mikelee has joined #asahi-gpu
nafod has joined #asahi-gpu
<alyssa> yeah
<alyssa> I guess panic-on-overflow would be nice for debug builds but otherwise shrug
mikelee has quit [Ping timeout: 480 seconds]
<jannau> and there is a use after free in dEQP-ES2
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
<jannau> this is probably easier with mesa internals knowledge: https://gist.github.com/jannau/7a65b5baba0b77c9ff7e924c659666f1
mikelee has quit [Ping timeout: 480 seconds]
<jannau> I gather the problem is that nothing calls agx_set_constant_buffer(..., NULL); when the program is deleted but I don't see what's supposed to do that in the _mesa_delete_program call path
jeisom has joined #asahi-gpu
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
possiblemeatball has quit [Quit: Quit]
mikelee has joined #asahi-gpu
possiblemeatball has joined #asahi-gpu
Z750 has quit [Quit: Ping timeout (120 seconds)]
Z750 has joined #asahi-gpu
novafacing has joined #asahi-gpu
ourdumbfuture has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ourdumbfuture has joined #asahi-gpu
jeisom has quit [Remote host closed the connection]
jeisom has joined #asahi-gpu
hightower2 has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
novafacing9 has joined #asahi-gpu
<jannau> test passes if run standalone, but fails using deqp-runner's case list
novafacing has quit [Ping timeout: 480 seconds]
novafacing9 is now known as novafacing
<alyssa> jannau: that one's spicy
<jannau> breaks if dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_wz_vertex is before it in the case list
mikelee has joined #asahi-gpu
<alyssa> > I gather the problem is that nothing calls agx_set_constant_buffer(..., NULL); when the program is deleted
<alyssa> yeah, this looks like potentially a mesa/st bug, leaving a dangling pointer
ourdumbfuture has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<alyssa> jannau: iris doesn't have this bug, because it uploads the user buf during set_constant_buffer instead of deferring to draw timw
<alyssa> that is probably more correct anyway, maybe we are fundamentally misusing gallium by keeping the dangling pointer
<alyssa> radeonsi too
<alyssa> otoh, v3d does not do that
<alyssa> so v3d (at least) is probably also affected
<alyssa> probably best to bring this up in #dri-devel given multiple affected drivers
<alyssa> jannau: but for asahi, I would say use const_uploader in set_const_buffer to avoid the dangling ptr
<alyssa> probably fster too
<alyssa> thanks in advance for the bug fix :3
ourdumbfuture has joined #asahi-gpu
<alyssa> hmm
<alyssa> I wonder if what we really want is a gallium-level helper to upload any user buffers
<alyssa> so we can fix those across drivers
<alyssa> if you don't get to it I'll probably do that on monday
mikelee has quit [Ping timeout: 480 seconds]
possiblemeatball has quit [Quit: Quit]
<jannau> comment in llvmpipe's set_constant_buffer suggest asahi's implementation is not sound
mikelee has joined #asahi-gpu
<alyssa> Yup.
<alyssa> Thanks >:
possiblemeatball has joined #asahi-gpu
possiblemeatball has quit []
mikelee has quit [Ping timeout: 480 seconds]
leio has joined #asahi-gpu
mikelee has joined #asahi-gpu
ourdumbfuture has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mikelee has quit [Ping timeout: 480 seconds]
nsklaus has quit [Ping timeout: 480 seconds]
ourdumbfuture has joined #asahi-gpu
mikelee has joined #asahi-gpu
<jannau> that was the only remaining ASAN error in deqp-{egl,gles2,gles3}
mikelee has quit [Ping timeout: 480 seconds]
novafacing has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
<alyssa> that's... good? maybe?
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
Z750 has quit [Quit: Ping timeout (120 seconds)]
Z750 has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
mikelee has joined #asahi-gpu
ourdumbfuture has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mikelee has quit [Ping timeout: 480 seconds]
crabbedhaloablut has quit []
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]
ourdumbfuture has joined #asahi-gpu
mikelee has joined #asahi-gpu
mikelee has quit [Ping timeout: 480 seconds]