flightlessmango / MangoHud

A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more. Discord: https://discordapp.com/invite/Gj5YmBb
MIT License
6.55k stars 290 forks source link

Mangohud Immediately Segfaults when being displayed #1452

Closed djsigmann closed 1 month ago

djsigmann commented 1 month ago

This happens with all the games I've tried, but also glxgears and vkcube.

Running MANGOHUD_CONFIG=fps mangohud vkcube immediately crashes with the error message:

Segmentation fault (core dumped)

If I instead run MANGOHUD_CONFIG=fps,no_display mangohud vkcube, vkcube runs, but crashes once I hit the keybind to show the overlay.

Running the latest commit on arch linux, kernel version 6.10.6-arch1-1 with a GTX 1060 6GB.

gort818 commented 1 month ago

Can you provide a log? MANGOHUD_LOG_LEVEL=debug

djsigmann commented 1 month ago

Can you provide a log? MANGOHUD_LOG_LEVEL=debug

MANGOHUD_LOG_LEVEL=debug MANGOHUD_CONFIG=fps mangohud vkcube

[2024-10-04 15:33:29.132] [MANGOHUD] [debug] [overlay_params.cpp:945] Param: 'fps' = '1' [2024-10-04 15:33:29.132] [MANGOHUD] [debug] [logging.cpp:244] Logger constructed! [2024-10-04 15:33:29.139] [MANGOHUD] [debug] [overlay.cpp:845] Ram:16311692 [2024-10-04 15:33:29.139] [MANGOHUD] [debug] [overlay.cpp:846] Cpu:Intel Core i5-8400 CPU @ 2.80GHz [2024-10-04 15:33:29.139] [MANGOHUD] [debug] [overlay.cpp:847] Kernel:6.10.6-arch1-1 [2024-10-04 15:33:29.139] [MANGOHUD] [debug] [overlay.cpp:848] Os:Arch Linux [2024-10-04 15:33:29.139] [MANGOHUD] [debug] [overlay.cpp:849] Driver: [2024-10-04 15:33:29.139] [MANGOHUD] [debug] [overlay.cpp:850] CPU Scheduler:performance [2024-10-04 15:33:29.139] [MANGOHUD] [debug] [cpu.cpp:518] hwmon: sensor name: coretemp [2024-10-04 15:33:29.139] [MANGOHUD] [debug] [cpu.cpp:551] hwmon: using input: /sys/class/hwmon/hwmon2/temp1_input [2024-10-04 15:33:29.139] [MANGOHUD] [debug] [cpu.cpp:644] hwmon: sensor name: coretemp [2024-10-04 15:33:29.139] [MANGOHUD] [debug] [cpu.cpp:644] hwmon: sensor name: nvme [2024-10-04 15:33:29.139] [MANGOHUD] [debug] [cpu.cpp:644] hwmon: sensor name: asus [2024-10-04 15:33:29.139] [MANGOHUD] [debug] [cpu.cpp:665] powercap: name: core [2024-10-04 15:33:29.139] [MANGOHUD] [debug] [cpu.cpp:665] powercap: name: [2024-10-04 15:33:29.139] [MANGOHUD] [debug] [cpu.cpp:665] powercap: name: package-0 Selected GPU 0: NVIDIA GeForce GTX 1060 6GB, type: DiscreteGpu [2024-10-04 15:33:29.172] [MANGOHUD] [debug] [vulkan.cpp:1860] gpu: NVIDIA GeForce GTX 1060 6GB [2024-10-04 15:33:29.177] [MANGOHUD] [debug] [vulkan.cpp:1546] Present mode: FIFO [2024-10-04 15:33:29.195] [MANGOHUD] [debug] [vulkan.cpp:720] Recreating font image [2024-10-04 15:33:29.220] [MANGOHUD] [debug] [vulkan.cpp:739] Default font tex size: 1024x2048px [2024-10-04 15:33:29.258] [MANGOHUD] [debug] [nvidia.cpp:290] XNVCtrl is using display Segmentation fault (core dumped)

I have no idea what XNVCtrl is. Running this also just made a game that was already running with the no_display option crash.

gort818 commented 1 month ago

Can you try again with the latest commit and post the log?

djsigmann commented 1 month ago

Same result with the latest commit:

MANGOHUD_LOG_LEVEL=debug MANGOHUD_CONFIG=fps mangohud vkcube

[2024-10-05 20:03:13.792] [MANGOHUD] [debug] [overlay_params.cpp:762] Version: v0.7.2-64-g7b2dea5 [2024-10-05 20:03:13.793] [MANGOHUD] [debug] [overlay_params.cpp:947] Param: 'fps' = '1' [2024-10-05 20:03:13.793] [MANGOHUD] [debug] [logging.cpp:244] Logger constructed! [2024-10-05 20:03:13.825] [MANGOHUD] [debug] [overlay.cpp:845] Ram:16311636 [2024-10-05 20:03:13.825] [MANGOHUD] [debug] [overlay.cpp:846] Cpu:Intel Core i5-8400 CPU @ 2.80GHz [2024-10-05 20:03:13.825] [MANGOHUD] [debug] [overlay.cpp:847] Kernel:6.11.1-arch1-1 [2024-10-05 20:03:13.825] [MANGOHUD] [debug] [overlay.cpp:848] Os:Arch Linux [2024-10-05 20:03:13.825] [MANGOHUD] [debug] [overlay.cpp:849] Driver: [2024-10-05 20:03:13.825] [MANGOHUD] [debug] [overlay.cpp:850] CPU Scheduler:powersave [2024-10-05 20:03:13.826] [MANGOHUD] [debug] [cpu.cpp:515] hwmon: sensor name: coretemp [2024-10-05 20:03:13.826] [MANGOHUD] [debug] [cpu.cpp:548] hwmon: using input: /sys/class/hwmon/hwmon2/temp1_input [2024-10-05 20:03:13.826] [MANGOHUD] [debug] [cpu.cpp:641] hwmon: sensor name: coretemp [2024-10-05 20:03:13.826] [MANGOHUD] [debug] [cpu.cpp:641] hwmon: sensor name: nvme [2024-10-05 20:03:13.826] [MANGOHUD] [debug] [cpu.cpp:641] hwmon: sensor name: asus [2024-10-05 20:03:13.826] [MANGOHUD] [debug] [cpu.cpp:662] powercap: name: core [2024-10-05 20:03:13.826] [MANGOHUD] [debug] [cpu.cpp:662] powercap: name: [2024-10-05 20:03:13.826] [MANGOHUD] [debug] [cpu.cpp:662] powercap: name: package-0 Selected GPU 0: NVIDIA GeForce GTX 1060 6GB, type: DiscreteGpu [2024-10-05 20:03:13.891] [MANGOHUD] [debug] [vulkan.cpp:1860] gpu: NVIDIA GeForce GTX 1060 6GB [2024-10-05 20:03:13.893] [MANGOHUD] [debug] [vulkan.cpp:1546] Present mode: FIFO [2024-10-05 20:03:13.929] [MANGOHUD] [debug] [vulkan.cpp:720] Recreating font image [2024-10-05 20:03:13.963] [MANGOHUD] [debug] [vulkan.cpp:739] Default font tex size: 1024x2048px [2024-10-05 20:03:13.973] [MANGOHUD] [debug] [vulkan.cpp:720] Recreating font image [2024-10-05 20:03:14.000] [MANGOHUD] [debug] [vulkan.cpp:739] Default font tex size: 1024x2048px [2024-10-05 20:03:14.035] [MANGOHUD] [debug] [nvidia.cpp:290] XNVCtrl is using display Segmentation fault (core dumped)

djsigmann commented 1 month ago

Okay, after some poking around, the last commit that did not exhibit this behaviour was feef6e395b6e824b7f12af127818e8ffbfc23305. The next commit, d22450796d588ce30ae0d4585f5aebe17e1fa8f8, doesn't build on my system, and the commit after that, 0981acf784612f9e82002bb4ae3425be58cc9126, exhibits the previously described behaviour. I'll poke around a bit more to try and find what exactly causes the issue, but I'm admitedly not super experienced with C and CPP.

Etaash-mathamsetty commented 1 month ago

The latest commit should fix everything other than maybe the issue with xnvctrl (which I cannot repro as I'm on amd)

scgm0 commented 1 month ago

I have the same problem. I found that the main reason is that the gpu information cannot be enabled, otherwise the vkd3d game will fail to start. The dxvk game will not be affected, but one more gpu1 will be displayed. vkcube can be started at the beginning, but it will not work after running it multiple times, and When started successfully, one more gpu1 will be displayed.

Etaash-mathamsetty commented 1 month ago

should be fixed on main now

scgm0 commented 1 month ago

should be fixed on main now

The latest build did fix the issue I was having

djsigmann commented 1 month ago

Okay! I just built the latest commit and no issues whatsoever. One of the commits over the last few days has fixed it, thanks!