Hello. I am not an OBS Studio user. I am a member of the development team of our own GUI application. I expect not to get segfault errors when our application is not related to OBS Studio in any way.
Current Behavior
While developing and testing a Vulkan-based application on an NVIDIA GPU, I encountered the problem of destroying a window in the presence of an injection of graphics-hook.dll. This file, as I understand it, is related to OBS. The GLFW3 library is used to create windows.
Tested GPU:
Nvidia RTX 2070
Nvidia RTX 3050 Laptop
AMD Graphics
Details:
The problem only appears on NVIDIA GPUs when using Vulkan.
The error occurs when trying to destroy a window via GLFW.
The problem has been noticed in various applications using Vulkan.
Temporary solution: adding a delay before destroying the window prevents the error.
C++ example:
It looks like the obs dll doesn't have time to destroy resources
Debug details
Before launch gdb output:
warning: [OBS]
warning: graphics-hook.dll loaded against process: app3d.exe
warning:
warning: [OBS]
warning: (half life scientist) everything.. seems to be in order
warning:
Operating System Info
Windows 11
Other OS
No response
OBS Studio Version
29.1.3
OBS Studio Version (Other)
No response
OBS Studio Log URL
Don't matter
OBS Studio Crash Log URL
No response
Expected Behavior
Hello. I am not an OBS Studio user. I am a member of the development team of our own GUI application. I expect not to get segfault errors when our application is not related to OBS Studio in any way.
Current Behavior
While developing and testing a Vulkan-based application on an NVIDIA GPU, I encountered the problem of destroying a window in the presence of an injection of
graphics-hook.dll
. This file, as I understand it, is related to OBS. The GLFW3 library is used to create windows. Tested GPU:Details:
Temporary solution: adding a delay before destroying the window prevents the error. C++ example:
It looks like the obs dll doesn't have time to destroy resources
Debug details
Before launch gdb output:
00007ffd2d3242c2
0000000000000001 00007ffcb72c49c9 0000021c08eb7160 00007ffd2dd19570
<Unloaded_nvoglv64.dll>+0x1384260
00007ffd2d324620
0000021c0c2a00f0 00007ff79f553dac 00007ff79f8091a0 00007ff79f5a0ad7
USER32!DispatchHookA+0x1c2
00007ffd2d31302d
0000000000000000 0000000000000000 0000021c08e80000 0000000000000000
USER32!fnHkINLPCWPSTRUCTA+0x60
00007ffd2dd52d94
0000021c00000000 00000046c0fad930 00000000000a0008 00007ffcb8320c02
ntdll!KiUserCallbackDispatcherContinue
00007ffd2b0e2754
00007ffcb82fe807 0000000000000001 0000021c0c28ce50 00000046c0fadb80
win32u!NtUserDestroyWindow+0x14
00007ffcb82fe807
0000000000000001 0000021c0c28ce50 00000046c0fadb80 0000000000000000
glfw3!glfwGetWin32Monitor+0x2107
00007ffcb82f796c
0000000000000001 0000021c08eb7160 00000046c0fadb98 00000046c0fada50
glfw3!glfwDestroyWindow+0x8c
00007ff79f59b3ce
00000046c0fadbb0 fab64d0000000000 796f72747365442a 535f4b5620676e69
0x4b3ce
00007ff79f7721a8
0000021c00000000 0000000000000000 0000000000000000 c040000040400000
0x2221a8
00007ff79f78288b
0000000000000001 0000021c00000000 0000000000000038 0000021c00000070
0x23288b
00007ff79f551315
0000000000000001 00007ff79f809368 00007ff79f809360 0000000000000000
0x1315
00007ff79f551366
0000000000000000 0000000000000000 0000000000000000 0000000000000000
0x1366
00007ffd2d56257d
0000000000000000 0000000000000000 0000000000000000 0000000000000000
KERNEL32!BaseThreadInitThunk+0x1d
00007ffd2dd0aa68
0000000000000000 0000000000000000 0000000000000000 0000000000000000
ntdll!RtlUserThreadStart+0x28
I would be grateful for consideration of this problem. If additional information or details are required for playback, please let me know.
Steps to Reproduce
You can use any Vulkan example. For tests I use this repo.
Anything else we should know?
After removing the OBS Studio the problem was solved