MangoHud
MangoHud copied to clipboard
Commit 5fee3bc Causes MangoHud to Crash Doom Eternal When Logging Benchmark
So I guess I didn't notice this until now because I hadn't been benchmarking much lately, but today when I started Doom Eternal after moving to the new kwin-lowlatency
which has a ton of new options like fullscreen unredirect for X and direct scanout for Wayland, I wanted to benchmark it since I had benchmarks from a few weeks ago with mainiline KWin.
Well, I hit F2 (my shortcut for toggling logging), and it started, and when I was done and hit F2 again, the game froze and crash. I never have crashes on Doom Eternal (well I did when I was on AMD, but not since I moved to Nvidia over a year ago). I've not had a single crash until this point. But I figured maybe it was kwin-lowlatency's fault, so I disabled all the extra options, restarted KWin, launched the game again, and... same behavior. Hitting F2 to stop logging immediately crashes the game.
I started a git bisect
run, and I discovered that it was commit 5fee3bc: "Change _params to pointer." I can't revert just that commit because of merge conflicts from later commits, but if I check out the previous commit - 872c3f0: "Show highest cpu freq instead of cumulative", the bug is gone.
I'm guessing this hasn't been caught yet because it doesn't seem to show up in other games. So far I tried Borderlands 3 DX12 and Wolfenstein: Youngblood (which is on the same engine as Doom Eternal), and toggling logging on and off doesn't cause a crash. But in Doom Eternal, it 100% does. I reproduced it 100% of the time with multiple builds with the bugged commit included, over about 30 different attempts. There wasn't a single time it didn't crash, and with 872c3f0, which I tested a dozen times, it didn't crash once.
Running Steam from the terminal there's no log output at the crash, just "Game process removed" or whatever it says. I could try to grab a proton log but idk if that would be useful.
Like I said, I made sure to eliminate the possibility that it might be a combination of 5fee3bc and kwin-lowlatency, but it's not, the problem happens with vanilla KWin exactly like it does with lowlatency.
I built using ./build.sh clean; ./build.sh build; ./build.sh install
for each attempt, and tried 5 separate git clones to make sure there was no tainting. I wanted to make sure for 100% that there is a real bug and that the bug is in MangoHud before I reported it. But the initial crashed happened when using the mangohud-git
AUR package, so it's not from me messing something up while building either, I just moved over to manual compilation in order to bisect the bug.
I'm happy to provide any more information that might help out, and test any possible fix commits.
System information:
Arch Linux Nvidia RTX 3090 Nvidia driver 495.44 (nvidia-dkms-tkg) Linux kernel 5.14.20 and 5.15.3
I believe this commit solves this issue 7212c79feb7eb25c8db1ee69020d951c6cc2664d
It does not.
https://streamable.com/07t2iv
The second you see the red dot go, it crashes. Actually I guess it technically got worse, because before it only ever crashed after stopping logging.
Okay so it seems that one time was a fluke, I've ran it 3 other times and it still crashes when you stop logging, not when you start. Maybe it was OBS that caused it to crash right when logging started that time. But yeah, still not fixed.
I made a mistake in the last commit, this cfd802c0633454e20ff1866d3fa887f1ea5ece98 actually fixes it for me
Okay I'll build and test asap and report back
reopen if still an issue