Skip to content
This repository has been archived by the owner on Aug 3, 2024. It is now read-only.

Unhandled Exception Key in Use #23

Closed
SlipperyPete opened this issue Sep 23, 2023 · 13 comments
Closed

Unhandled Exception Key in Use #23

SlipperyPete opened this issue Sep 23, 2023 · 13 comments

Comments

@SlipperyPete
Copy link

Followed instructions as in Setup Instructions How to Run, received following error:

./WlxOverlay-v1.4.1-x86_64.AppImage
WlxOverlay v1.4.1
OpenVR Version: 1.27.5
IVROverlay_025: pass
IVRCompositor_027: pass
IVRInput_010: pass
Loaded 10 input actions for /actions/default
export_inputs will not be used.
HMD running @ 90 Hz
Wayland detected.
EGL 1.5 initialized.
Using desktop capture protocol: zwlr_export_dmabuf_manager_v1
Using paplay for audio output.
Listening for notifications @ 127.0.0.1:42069
GL Context initialized
Unhandled exception. OVRSharp.Exceptions.OpenVRSystemException`1[Valve.VR.EVROverlayError]: Could not initialize overlay: KeyInUse (KeyInUse)
   at OVRSharp.Overlay..ctor(String key, String name, Boolean dashboardOverlay)
   at WlxOverlay.Backend.OVR.OVROverlay.Show() in /home/runner/work/WlxOverlay/WlxOverlay/Backend/OVR/OVROverlay.cs:line 176
   at WlxOverlay.Overlays.BaseOverlay.Show() in /home/runner/work/WlxOverlay/WlxOverlay/Overlays/BaseOverlay.cs:line 98
   at WlxOverlay.Core.MainLoop.Update() in /home/runner/work/WlxOverlay/WlxOverlay/Core/MainLoop.cs:line 58
   at WlxOverlay.GFX.OpenGL.GlGraphicsEngine.OnRender(Double _) in /home/runner/work/WlxOverlay/WlxOverlay/GFX/OpenGL/GlGraphicsEngine.cs:line 120
   at Silk.NET.Windowing.Internals.ViewImplementationBase.DoRender()
   at Silk.NET.Windowing.WindowExtensions.<>c__DisplayClass2_0.<Run>b__0()
   at Silk.NET.Windowing.Internals.ViewImplementationBase.Run(Action onFrame)
   at Silk.NET.Windowing.WindowExtensions.Run(IView view)
   at WlxOverlay.GFX.OpenGL.GlGraphicsEngine.StartEventLoop() in /home/runner/work/WlxOverlay/WlxOverlay/GFX/OpenGL/GlGraphicsEngine.cs:line 45
   at Program.<Main>$(String[] args) in /home/runner/work/WlxOverlay/WlxOverlay/Program.cs:line 81
   at Program.<Main>(String[] args)
Aborted (core dumped)

Hyprland as compositor.

Let me know if you need any more info.

@galister
Copy link
Owner

Have you tried this?

@SlipperyPete
Copy link
Author

Huh, thought I had looked for a troubleshooting guide, apparently not well enough.

This happened the very first time I tried to launch it so there shouldn't have been an already running instance, however that terminal output isn't from that first attempt, I think that one may have been longer, I definitely saw the same main error but perhaps it was able to register itself with SteamVR before that as when I check tonight it does show in my startup list.

However there is still no sign of it running, nothing has been visible in SteamVR at any point, and checking now (with SteamVR running, but without having tried to manually start WlxOverlay) there's no sign of a process with the right name, and lsof -i :42069 has no output.

Attempting to manually start WlxOverlay now (with no sign of an existing instance) results in the same error.

@galister
Copy link
Owner

Can you show what ps auxf | grep -B5 "[W]lx" gives right after you get the error?

@SlipperyPete
Copy link
Author

Okay, so, tonight, when trying to run the same as every other time, the error doesn't happen. Terminal output starts the same as above, but the unhandled exception and everything after it never appears.

Running your command before this has no result, and in a separate terminal after outputs:

fred        1222  0.0  0.0 33564396 3576 ?       S    19:14   0:00 /opt/vivaldi/chrome_crashpad_handler --no-periodic-tasks --monitor-self-annotation=ptype=crashpad-handler --database=/home/fred/.config/vivaldi/Crash Reports --annotation=channel=stable --annotation=lsb-release=Arch Linux --annotation=plat=Linux --annotation=prod=Chrome_Linux --annotation=ver=6.2.3105.48 --initial-client-fd=4 --shared-client-connection
root        1365  0.0  0.0 318432 14564 ?        Dsl  19:14   0:03 /usr/lib/upowerd
root        1883  0.0  0.0 468980 18484 ?        Ssl  19:15   0:00 /usr/lib/udisks2/udisksd
fred        2827  0.0  0.5 1060200 170072 tty1   Sl+  19:30   0:01 alacritty
fred        2844  0.0  0.0   8284  4864 pts/0    Ss   19:30   0:00  \_ /bin/bash
fred       12571  7.4  0.8 5110668 261112 pts/0  Sl+  20:48   0:36      \_ ./WlxOverlay-v1.4.1-x86_64.AppImage
fred       12574  0.0  0.0  12584  4444 ?        Ssl  20:48   0:00 ./WlxOverlay-v1.4.1-x86_64.AppImage

Trying to run WlxOverlay again from a second terminal results in the error above as expected.

Even with everything appearing to work fine from the terminal, I still have no sign of WlxOverlay anywhere in the headset.

@galister
Copy link
Owner

no watch on your left hand? try double tapping left b/y

@SlipperyPete
Copy link
Author

I just put the headset on for one last look before turning everything off for the night and saw a brief glimpse of something as I went to take it back of, yes if I turn my hand aroud backwards now I can see the UI and interact with it.

@SlipperyPete
Copy link
Author

Yep, rebooted and tested immediately without touching anything else, and it still needs to be manually started, SteamVR doesn't autostart it despite being in the startup list, but it does work seemingly flawlessly otherwise.

I'm trying to think of what I've done to my system that might have affected this, but all I've done is install LOOT from the AUR along with it's dependencies, which I doubt has anything to do with this. I guess I'll see what happens tomorrow evening and close this issue if there are no more problems, unless you'd like me to do some testing of some sort to find the root cause?

@SlipperyPete
Copy link
Author

Also FYI on exiting SteamVR the terminal for WlxOverlay outputs

Shutting Down.
Segmentation fault (core dumped)

Which I assume is standard and you're aware already.

@galister
Copy link
Owner

please run it with gdb to find more info about the segfault. the only ones i'm aware of are the libEGL-nvidia ones which which is a driver bug (try a different driver version if you get that)

@SlipperyPete
Copy link
Author

So while gdb was installing I quickly tried running WlxOverlay to make sure it still worked as well as last night. This time I did not have SteamVr already running, so it appears to have attempted to start that itself, so the following is the terminal output of both mixed in together:

WlxOverlay v1.4.1
VR Server (v1693508082)

Using breakpad crash handler
Setting breakpad minidump AppID = 250820
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
09/26 16:41:58 Init: Installing breakpad exception handler for appid(250820)/version(1.27.5)/tid(2374)
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  ***************** [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  *****************
Using vrcompositor capability proxy
Launching /home/fred/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrcompositor
Using breakpad crash handler
Setting breakpad minidump AppID = 250820
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
09/26 16:42:00 Init: Installing breakpad exception handler for appid(250820)/version(1.27.5)/tid(2390)
09/26 16:42:02 Init: Installing breakpad exception handler for appid(250820)/version(1.27.5)/tid(2390)
assert_20230926164202_4.dmp[2433]: Uploading dump (out-of-process)
/tmp/dumps/assert_20230926164202_4.dmp
/home/fred/.local/share/Steam/steamapps/common/SteamVR/bin/vrwebhelper/linux64/vrwebhelper.sh: line 17: STEAMVR_VRENV: unbound variable
OpenVR Version: 1.27.5
IVROverlay_025: pass
IVRCompositor_027: pass
IVRInput_010: pass
Loaded 10 input actions for /actions/default
export_inputs will not be used.
Using breakpad crash handler
Setting breakpad minidump AppID = 250820
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
09/26 16:42:02 Init: Installing breakpad exception handler for appid(250820)/version(1.27.5)/tid(2443)
HMD running @ 90 Hz
Wayland detected.
/home/fred/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrmonitor: error while loading shared libraries: libQt5Multimedia.so.5: cannot open shared object file: No such file or directory
EGL 1.5 initialized.
Using desktop capture protocol: zwlr_export_dmabuf_manager_v1
assert_20230926164202_4.dmp[2433]: Finished uploading minidump (out-of-process): success = yes
assert_20230926164202_4.dmp[2433]: response: CrashID=bp-58d941cc-f328-4e4e-9654-270c42230925
assert_20230926164202_4.dmp[2433]: file ''/tmp/dumps/assert_20230926164202_4.dmp'', upload yes: ''CrashID=bp-58d941cc-f328-4e4e-9654-270c42230925''
Using paplay for audio output.
Listening for notifications @ 127.0.0.1:42069
GL Context initialized
/home/fred/.local/share/Steam/steamapps/common/SteamVR/bin/vrwebhelper/linux64/vrwebhelper.sh: line 17: STEAMVR_VRENV: unbound variable
/home/fred/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrmonitor: error while loading shared libraries: libQt5Multimedia.so.5: cannot open shared object file: No such file or directory
steam.sh[2656]: Running Steam on arch rolling 64-bit
steam.sh[2656]: STEAM_RUNTIME is disabled by the user
steam.sh[2656]: Can't find 'steam-runtime-check-requirements', continuing anyway
WlxOverlay v1.4.1
/home/fred/.local/share/Steam/steamapps/common/SteamVR/bin/vrwebhelper/linux64/vrwebhelper.sh: line 17: STEAMVR_VRENV: unbound variable
/home/fred/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrmonitor: error while loading shared libraries: libQt5Multimedia.so.5: cannot open shared object file: No such file or directory
OpenVR Version: 1.27.5
IVROverlay_025: pass
IVRCompositor_027: pass
IVRInput_010: pass
Loaded 10 input actions for /actions/default
export_inputs will not be used.
HMD running @ 90 Hz
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198058767143 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198058767143
Wayland detected.
EGL 1.5 initialized.
Using desktop capture protocol: zwlr_export_dmabuf_manager_v1
Using paplay for audio output.
Could not listen for notifications @ 127.0.0.1:42069
System.Net.Sockets.SocketException (98): Address already in use
   at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at WlxOverlay.Extras.NotificationsManager.UdpListenerAsync(CancellationToken _cancellationToken) in /home/runner/work/WlxOverlay/WlxOverlay/Extras/NotificationsManager.cs:line 131
GL Context initialized
Unhandled exception. OVRSharp.Exceptions.OpenVRSystemException`1[Valve.VR.EVROverlayError]: Could not initialize overlay: KeyInUse (KeyInUse)
   at OVRSharp.Overlay..ctor(String key, String name, Boolean dashboardOverlay)
   at WlxOverlay.Backend.OVR.OVROverlay.Show() in /home/runner/work/WlxOverlay/WlxOverlay/Backend/OVR/OVROverlay.cs:line 176
   at WlxOverlay.Overlays.BaseOverlay.Show() in /home/runner/work/WlxOverlay/WlxOverlay/Overlays/BaseOverlay.cs:line 98
   at WlxOverlay.Overlays.Watch.Show() in /home/runner/work/WlxOverlay/WlxOverlay/Overlays/Watch.cs:line 292
   at WlxOverlay.Overlays.Watch.AfterInput() in /home/runner/work/WlxOverlay/WlxOverlay/Overlays/Watch.cs:line 277
   at WlxOverlay.Core.MainLoop.Update() in /home/runner/work/WlxOverlay/WlxOverlay/Core/MainLoop.cs:line 50
   at WlxOverlay.GFX.OpenGL.GlGraphicsEngine.OnRender(Double _) in /home/runner/work/WlxOverlay/WlxOverlay/GFX/OpenGL/GlGraphicsEngine.cs:line 120
   at Silk.NET.Windowing.Internals.ViewImplementationBase.DoRender()
   at Silk.NET.Windowing.WindowExtensions.<>c__DisplayClass2_0.<Run>b__0()
   at Silk.NET.Windowing.Internals.ViewImplementationBase.Run(Action onFrame)
   at Silk.NET.Windowing.WindowExtensions.Run(IView view)
   at WlxOverlay.GFX.OpenGL.GlGraphicsEngine.StartEventLoop() in /home/runner/work/WlxOverlay/WlxOverlay/GFX/OpenGL/GlGraphicsEngine.cs:line 45
   at Program.<Main>$(String[] args) in /home/runner/work/WlxOverlay/WlxOverlay/Program.cs:line 81
   at Program.<Main>(String[] args)
crash_20230926164208_5.dmp[2834]: Uploading dump (out-of-process)
/tmp/dumps/crash_20230926164208_5.dmp
crash_20230926164208_5.dmp[2834]: Finished uploading minidump (out-of-process): success = yes
crash_20230926164208_5.dmp[2834]: response: CrashID=bp-9136778a-1d50-4b46-b2e5-83e9f2230925
crash_20230926164208_5.dmp[2834]: file ''/tmp/dumps/crash_20230926164208_5.dmp'', upload yes: ''CrashID=bp-9136778a-1d50-4b46-b2e5-83e9f2230925''

After this SteamVR had not actually started, however my one other overlay (OVR Advanced Settings) set to automatically launch on startup is running, despite the lack of SteamVR.

After Ctrl-C'ing in that terminal ps auxf | grep -B5 "[W]lx" still shows WlxOverlay is running. And when I try to start SteamVR to see if WlxOverlay is visible in my headset it complains it is also already running. I guess I'll reboot and give gdb a go.

Regarding Drivers, GPU is AMD RX 6900XT, and headset is HTC Vive.

@galister
Copy link
Owner

you're getting that error because starting wlxoverlay will start steamvr, and then steamvr will try to start its own wlxoverlay. if you want to do that then disable the auto-start in steamvr.

@SlipperyPete
Copy link
Author

From a clean reboot, started SteamVR, checked whether WlxOverlay was already running, no, tried launching WlxOverlay, everything looked good, killed WlxOverlay and relaunched via gdb, run, and this time it segfaulted without me doing anything at all.

OpenVR Version: 1.27.5
IVROverlay_025: pass
IVRCompositor_027: pass
IVRInput_010: pass
Tue Sep 26 2023 18:16:17.482864 [Info] - [Input] Action Manifest Path set to '/tmp/.mount_WlxOve4IqLiN/usr/bin/Resources/actions.json'
Loaded 10 input actions for /actions/default

Thread 1 "AppRun" received signal SIGSEGV, Segmentation fault.
0x00007fff7f24b73a in ?? ()
(gdb) backtrace
#0  0x00007fff7f24b73a in ?? ()
#1  0x0000000000000000 in ?? ()

This didn't seem right so I reran WlxOverlay without gdb, worked fine, then reran with gdb for the same result.

@galister
Copy link
Owner

the original issue is solved, so going to close this. please open a new ticket if you still run into the segfaults

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants