exeldro / obs-virtual-cam-filter

GNU General Public License v2.0
121 stars 13 forks source link

OBS crashes during Scene Collection switch #8

Open Wolfi0ne opened 3 years ago

Wolfi0ne commented 3 years ago

Following Scenario:

Scene Collection A has obs-virtual-cam-filter set up and active, Scene Collection B hasn't any filter set up.

Switching from Scene Collection A to Scene Collection B causes a crash with OBS. If the filter in Scene Collection A is set to inactive, the switching from Scene Collection A to Scene Collection B works flawless.

Wanted status: no crash when switching from Scene Collection A (with active filter) to Scene Collection B (and vice versa).

Used obs-virtual-cam-filter version: 0.0.4

exeldro commented 3 years ago

Do you have a crash log file for me or does OBS freeze?

Wolfi0ne commented 3 years ago

Do you have a crash log file for me or does OBS freeze?

No, with activated obs-virtual-cam-filter OBS just closes itself. Before I started again, I made sure no instance is running (checked via Task Manager). This happened 3 times in a row - I didn't even thought about it, because Scene Collection B has not filter set up - I was riddling what I have set up in Scene Collection B that could cause it, until it came in my mind that it it is something in Scene Collection A that causes it.

Thats why I deactivated the filter in Scene Collection A, and the switch to Scene Collection B (and vice versa) worked. Activated the obs-virtual-cam-filter in Scene Collection A again: switch to Scene Collection B closes OBS again.

OBS Version is 26.1.1 btw,

rse commented 3 years ago

I can confirm the same issue with OBS 27.0.1 and Virtual Cam Filter 0.0.4: if Virtual Cam Filter is applied onto a scene (even if not activated) and one tries to switch a scene collection, OBS Studio crashes. Unfortunately, also for me without a crash log. But once I removed Virtual Cam Filter again from the scene, OBS Studio switches just fine between the scene collections.

rse commented 3 years ago

Ok, when one tries to switch scene collections, OBS Studio always crashes if Virtual Cam Filter is applied onto a scene, but most of the time OBS Studio is not writing a crash log. But when it writes it, here is a typical stack trace where one can see Virtual Cam Filter be part of the game:

Unhandled exception: c0000005
Date/Time: 2021-07-04, 14:42:26
Fault address: 7FFAB0B32F45 (c:\users\rse\prj\obs-studio-msg-filmstudio\dst\bin\64bit\w32-pthreads.dll)
libobs version: 27.0.1 (64-bit)
Windows version: 10.0 build 19043 (release: 2009; revision: 1052; 64-bit)
CPU: Intel(R) Core(TM) i5-10600K CPU @ 4.10GHz

Thread 15E50: (Crashed)
Stack            EIP              Arg0             Arg1             Arg2             Arg3             Address
000000AA2C0F9CD0 00007FFAB0B32F45 00000216A3115B60 00000216AB37CBE0 0000000000000001 0000000000000004 w32-pthreads.dll!pthread_mutex_unlock+0x15
000000AA2C0F9D30 00007FFA9CE6D42A 00000216A3115B60 00000216AB37CBE0 0000000000000001 0000000000000004 obs.dll!obs_context_data_remove+0x5a
000000AA2C0F9D60 00007FFA9CE5BB24 00000216A0CECEC0 000000AA2C0FA480 00000216AB37CBE0 0000000000000001 obs.dll!obs_source_destroy+0x114
000000AA2C0F9E60 00007FFA9CE5FBE9 00000216A3115B60 00000216AB37CBE0 0000000000000001 0000000000001130 obs.dll!obs_source_release+0x49
000000AA2C0F9E90 00007FFA9CE5C92F 000000006B61AA4E 000000007322052A 00000216AB37CBE0 000000AA2C0FA480 obs.dll!obs_source_enum_active_tree+0x9f
000000AA2C0F9ED0 00007FFA9CE5B88D 00000216AADE6880 00000216AADE6880 000000AA2C0FA480 00000216A3115B60 obs.dll!obs_source_deactivate+0x5d
000000AA2C0F9F00 00007FFAA18512CB 00000216AB8ADA60 00007FFA9CEA1B20 00000216AAF17660 00000216AAF237E0 virtual-cam-filter.dll!virtual_cam_filter_source_filter_re
000000AA2C0F9F30 00007FFA9CE5CF82 00000216A0CECEC0 0000000000000000 00000216AB8ADA60 00000216AB37CBE0 obs.dll!obs_source_filter_remove_refless+0x1b2
000000AA2C0FA030 00007FFA9CE5CDB5 00000216A3115B60 00000216AB37CBE0 00000216A3115B60 0000000000000004 obs.dll!obs_source_filter_remove+0x45
000000AA2C0FA060 00007FFA9CE5BB12 0000000000000000 000000AA2C0FA480 00000216AB37CBE0 00000216A3115B60 obs.dll!obs_source_destroy+0x102
000000AA2C0FA160 00007FFA9CE5FBE9 0000000000000000 00000216AB37CBE0 00000216A3157530 0000000000000004 obs.dll!obs_source_release+0x49
000000AA2C0FA190 00007FFA9CE65216 000000AA2C0F0001 00000216AB37CBE0 00000216A3157530 0000000000000000 obs.dll!obs_transition_clear+0xd6
000000AA2C0FA1D0 00007FFA9CE5BA85 00000216A3157530 000000AA2C0FA480 0000000000000000 00000216A3157530 obs.dll!obs_source_destroy+0x75
000000AA2C0FA2D0 00007FFA9CE5FBE9 00000216AB37CBE0 00000216A2F36A90 00000216A2F36A90 00000216AB37CBE0 obs.dll!obs_source_release+0x49
000000AA2C0FA300 00007FFA9CE7150E 0000000000000000 0000000000000000 0000000000000000 00000216A3157530 obs.dll!obs_set_output_source+0x14e
000000AA2C0FA350 00007FF6F56E50E9 0000000000000001 00000216A3157530 0000000000000000 0000000000000000 obs64.exe!OBSBasic::ClearSceneData+0x89
000000AA2C0FA380 00007FF6F56EDC58 0000000000000001 0000021600000000 00000216846CD5D0 0000000000000001 obs64.exe!OBSBasic::LoadData+0x48
000000AA2C0FA570 00007FF6F57B0080 00000216846CD5D0 00000216ABDDA440 00000216A0D08401 00000216846CD5D0 obs64.exe!OBSBasic::ChangeSceneCollection+0x1d0
000000AA2C0FA600 00007FFA6F620AD9 00000216846CD5D0 0000021600000004 00000216BD7312C0 00007FFA72F53701 qt5core.dll!0x7ffa6f620ad9
000000AA2C0FA750 00007FFA72DF5DBF 000000AA2C0FA8E8 0000001500000401 00000216846CD5D0 00007FFA72F5AE88 qt5widgets.dll!0x7ffa72df5dbf
000000AA2C0FA790 00007FFA72F4AE68 00000216A328B5A0 000000AA2C0FA8E8 00000216846CD5D0 0000000000000000 qt5widgets.dll!0x7ffa72f4ae68
000000AA2C0FA830 00007FFA72F4AC43 000000B300000089 000002168528ECA0 00000216A328B5A0 000000AA2C0FA978 qt5widgets.dll!0x7ffa72f4ac43
000000AA2C0FA8E0 00007FFA72F50401 000000A90000003F 000000AA2C0FB3A0 000000AA2C0FB3A0 00007FFA72EB66F7 qt5widgets.dll!0x7ffa72f50401
000000AA2C0FA910 00007FFA72E27812 0000000000000001 000000AA2C0FB3A0 00000216A32217D0 000000AA2C0FB3A0 qt5widgets.dll!0x7ffa72e27812
000000AA2C0FA9A0 00007FFA72F4C407 00000216A0CE7680 00000216A0CE7680 000000AA2C0FB3A0 00000216A32217D0 qt5widgets.dll!0x7ffa72f4c407
000000AA2C0FAA30 00007FFA72E04980 000000AA2C0FB3A0 000000AA2C0FAB60 0000000000000000 000000AA2C0FAB60 qt5widgets.dll!0x7ffa72e04980
000000AA2C0FAA60 00007FFA72E028A0 0000000000000000 0000000000000000 0000000000000000 00000216A0D08490 qt5widgets.dll!0x7ffa72e028a0
000000AA2C0FAFA0 00007FFA6F6019CA 0000000000000000 0000000000000000 0000000000000000 0000000000000000 qt5core.dll!0x7ffa6f6019ca
000000AA2C0FB010 00007FFA72E05B85 0000000000000000 0000000000000000 00000216A326C660 0000000000000000 qt5widgets.dll!0x7ffa72e05b85
000000AA2C0FB0D0 00007FFA72E4FA93 0000000000000401 0000000000000000 0000000000000000 000001DF6F1B6F68 qt5widgets.dll!0x7ffa72e4fa93
000000AA2C0FB460 00007FFA72E4E0A4 00000216A0CE7680 00000216A0D17510 000000AA2C0FBE10 00000216BD57CC90 qt5widgets.dll!0x7ffa72e4e0a4
000000AA2C0FB530 00007FFA72E04980 00000216A0CE7680 000000AA2C0FB660 00007FFA72DF0000 00007FFA6F727D10 qt5widgets.dll!0x7ffa72e04980
000000AA2C0FB560 00007FFA72E03A03 00000216A0D183B0 0000000000000000 0000000000000000 00000216A0D08490 qt5widgets.dll!0x7ffa72e03a03
000000AA2C0FBAA0 00007FFA6F6019CA 00000216A0D183B0 0000000000000003 00000216A0D183B0 0000000000000000 qt5core.dll!0x7ffa6f6019ca
000000AA2C0FBB10 00007FFA6FA43086 00007FFA6FFF9688 0000000000000024 0000000000000001 00000216852DC170 qt5gui.dll!0x7ffa6fa43086
000000AA2C0FBFC0 00007FFA6FA2ECE0 0000000000000000 00007FFA6FFF9688 000000AA2C0FC0F0 00000216BD3F93F0 qt5gui.dll!0x7ffa6fa2ece0
000000AA2C0FBFF0 00007FFA6F64A83A 00000216A0D406B0 0000000000000000 00000216BD3F93F0 0000000000000000 qt5core.dll!0x7ffa6f64a83a
000000AA2C0FF110 00007FFAA3E62619 0000000000000000 00007FFA00000014 0000000000000000 00000216A0D64B40 qwindows.dll!0x7ffaa3e62619
000000AA2C0FF140 00007FFA6F5FDE7C 00000216A0CCA5B8 0000000000000000 000000AA2C0FF670 00007FFA6F71FC90 qt5core.dll!0x7ffa6f5fde7c
000000AA2C0FF1A0 00007FFA6F600994 00007FF6F5938617 0000000000000003 000000AA2C0FF670 000000004B7D3116 qt5core.dll!0x7ffa6f600994
000000AA2C0FF200 00007FF6F56D436F 00000216A0CC74B0 00000216A0CC74B0 0000000000000000 00000216A0CC7390 obs64.exe!run_program+0x78f
000000AA2C0FF570 00007FF6F56D62A1 0000000000000000 0000000000000000 0000000000000000 00000216A0CD1D8C obs64.exe!main+0x591
000000AA2C0FF730 00007FF6F583C1D7 0000000000000000 0000000000000000 0000000000000000 0000000000000000 obs64.exe!WinMain+0x157
000000AA2C0FF7C0 00007FF6F583BA96 0000000000000000 0000000000000000 0000000000000000 0000000000000000 obs64.exe!__scrt_common_main_seh+0x106
000000AA2C0FF800 00007FFACB4F7034 0000000000000000 0000000000000000 0000000000000000 0000000000000000 kernel32.dll!0x7ffacb4f7034
000000AA2C0FF830 00007FFACBA02651 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ntdll.dll!0x7ffacba02651
fdaciuk commented 2 years ago

Same problem in Pop!_OS 21.04 and OBS 27.0.1. It works until you change the scene. For installation process, I just copied the virtual-cam-filter.so to /usr/lib/obs-plugins directory.