kounoike / obs-virtualbg

An OBS plugin for Zoom/Meet-like virtual background feature.
MIT License
277 stars 31 forks source link

Debian: Illegal Instruction when adding filter #98

Open iam-TJ opened 11 months ago

iam-TJ commented 11 months ago

Debian 12 Bookworm amd64.

Solution to the first problem of the plugin not being found (Issue #95) is to sym-link it into the correct location for Debian/Ubuntu and derivative distros expected location as dictated by the obs-studio package itself.

$ sudo ln -s /usr/lib/obs-plugins/obs-virtualbg.so /usr/lib/x86_64-linux-gnu/obs-plugins/

(the Debian .deb package should install to this location).

OBS now sees the plugin and can add it to a source as a Filter but as soon as we try to add the Effect by pressing on the Effects + button OBS crashes with:

...
info:   Loaded Modules:
...
info:     obs-virtualbg.so  
...
info: [Virtual BG detector] detecter_create version:v1.2.0
info: User added filter 'Virtual Background Detector' (virtualbg) to source 'HD PTZ Cam (Inside-Out)'
info: [Virtual BG detector] frame size or format change detected
info: [Virtual BG detector] video_scaler_create success. 1920x1080 -> 256x144
Illegal instruction (core dumped)

Debugging reveals that the illegal instruction actually happens as soon as the filter was selected:

info: [Virtual BG detector] detecter_create version:v1.2.0
[New Thread 0x7ffed2a226c0 (LWP 252074)]
[New Thread 0x7ffed22216c0 (LWP 252075)]
[New Thread 0x7ffed1a206c0 (LWP 252076)]
[New Thread 0x7ffed121f6c0 (LWP 252077)]
[New Thread 0x7ffed0a1e6c0 (LWP 252078)]
[New Thread 0x7ffeb7fff6c0 (LWP 252079)]
[New Thread 0x7ffeb77fe6c0 (LWP 252080)]
info: User added filter 'Virtual Background Detector' (virtualbg) to source 'HD PTZ Cam (Inside-Out)'
info: [Virtual BG detector] frame size or format change detected
info: [Virtual BG detector] video_scaler_create success. 1920x1080 -> 256x144
[New Thread 0x7ffeb6ffd6c0 (LWP 252081)]
[New Thread 0x7ffeb67fc6c0 (LWP 252082)]
[New Thread 0x7ffeb5ffb6c0 (LWP 252083)]
[New Thread 0x7ffeb57fa6c0 (LWP 252084)]
[New Thread 0x7ffeb4ff96c0 (LWP 252085)]
[New Thread 0x7ffeabfff6c0 (LWP 252086)]
[New Thread 0x7ffeab7fe6c0 (LWP 252087)]
[New Thread 0x7ffeaaffd6c0 (LWP 252088)]
[New Thread 0x7ffeaa7fc6c0 (LWP 252089)]
[New Thread 0x7ffea9ffb6c0 (LWP 252090)]
[New Thread 0x7ffea97fa6c0 (LWP 252091)]
[New Thread 0x7ffea8ff96c0 (LWP 252092)]
[New Thread 0x7ffea3fff6c0 (LWP 252093)]
[New Thread 0x7ffea37fe6c0 (LWP 252094)]
[New Thread 0x7ffea2ffd6c0 (LWP 252095)]

Thread 56 "libobs: graphic" received signal SIGILL, Illegal instruction.
[Switching to Thread 0x7ffeb5ffb6c0 (LWP 252083)]
0x00007fff805a5187 in blur_par_for_output_s0_v1_rebased () from /usr//lib/x86_64-linux-gnu/obs-plugins/obs-virtualbg.so
(gdb) bt full
#0  0x00007fff805a5187 in blur_par_for_output_s0_v1_rebased () at /usr//lib/x86_64-linux-gnu/obs-plugins/obs-virtualbg.so
#1  0x00007fff805aa445 in Halide::Runtime::Internal::worker_thread_already_locked(Halide::Runtime::Internal::work*) ()
    at /usr//lib/x86_64-linux-gnu/obs-plugins/obs-virtualbg.so
#2  0x00007fff805ab3a1 in Halide::Runtime::Internal::worker_thread(void*) () at /usr//lib/x86_64-linux-gnu/obs-plugins/obs-virtualbg.so
#3  0x00007fff805ab40d in Halide::Runtime::Internal::spawn_thread_helper(void*) () at /usr//lib/x86_64-linux-gnu/obs-plugins/obs-virtualbg.so
#4  0x00007ffff42a7fd4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140731951855296, 5316588949843570091, -320, 16, 140735901931584, 140731943464960, -5317279444410208853, -5316577220224651861}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#5  0x00007ffff43285bc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
hoptical commented 5 months ago

Same issue.