Closed vpgits closed 4 months ago
I experienced a similar result, i.e. getting undefined symbol: GetX86Info
during launch of obs.
I tried compiling using the instructions in the README and I also tried the .deb
files for 0.2.3 and 0.2.4 from the releases page. In all three cases I got the same sort of result mentioned above about undefined symbol
.
Grepping through the locally cloned repository after building, I noticed use of what looked like CTranslate2.
That seems to use GetX86Info
in at least one place, here:
namespace ctranslate2 {
namespace cpu {
static const cpu_features::X86Info info = cpu_features::GetX86Info();
Perhaps GetX86Info
is from cpu_features.
May be this is related to the issue?
@sogaiu @vpgits i believe i resolved the issue in #94 by bundling cpu_features can you test?
But i still get the same error.
@royshil I had success via the branch mentioned in https://github.com/occ-ai/obs-localvocal/pull/94. By "success" I mean that OBS does not crash for me now and I am able to see evidence of LocalVocal in OBS' UI.
My environment was Xubuntu 22.04.4 in a VM.
The following are a few things I did that were slightly different from the instructions:
.sh
).sudo apt install libssl-dev
without which the script would not complete.OBS_PLUGINS_PATH
and OBS_PLUGINS_DATA_PATH
to $(repo)/release/RelWithDebInfo/lib/x86_64-linux-gnu/obs-plugins
and $(repo)/release/RelWithDebInfo/share/obs/obs-plugins
respectively (where $(repo)
is the full path to the locally cloned repository).On a side note, I had difficulty in figuring out how to put the resulting files and directories under ~/.config/obs-studio/plugins
-- I'm still not quite sure (^^; Perhaps this is not the place to mention it, as it is not specific to this plugin, but FWIW.
In any case, thanks for this plugin and the fix.
@sogaiu ok i'm going to merge in #94 as a fix and ive also updated the build instructions for linux. thank you!
@sogaiu I followed your instructions. I used the updated readme instructions as well. After completing the build process I copied the plugin files to the given directories and launched obs. The issue was still there. OBS crashed. However., I deleted the obs-localvocal.so
from usr/lib/x86_64-linux-gnu/obs-plugins
and OBS launched without crashing. I proceeded to test the plugin and it works as expected. So the reason why OBS launched and recognized the plugin is because I launched OBS from the same terminal where I exported export OBS_PLUGINS_DATA_PATH=$(pwd)/release/RelWithDebInfo/share/obs/obs-plugins
and export OBS_PLUGINS_PATH=$(pwd)/release/RelWithDebInfo/lib/x86_64-linux-gnu/obs-plugins
This part of the updated instructions:
$ export OBS_PLUGINS_PATH=$(pwd)/release/RelWithDebInfo/lib/x86_64-linux-gnu/obs-plugins
$ export OBS_PLUGINS_DATA_PATH=$(pwd)/release/RelWithDebInfo/share/obs/obs-plugins
seems slightly out of place.
As I understand it, those environment variables are what OBS uses to find plugin bits when it starts up / is running. I don't think they are used during the build (though I may be wrong about that).
What I have yet to figure out is how to arrange the resulting built files and directories to live under ~/.config/obs-studio/plugins
. Once that is determined, IIUC, the environment variables shouldn't need to be set.
Unfortunately, I haven't had much luck finding good info about how yet. I suppose one could repeatedly try different arrangements in combination with examining the output of strace
...may be there's some other plugin that documents this that I haven't found yet (^^;
This part of the updated instructions:
$ export OBS_PLUGINS_PATH=$(pwd)/release/RelWithDebInfo/lib/x86_64-linux-gnu/obs-plugins $ export OBS_PLUGINS_DATA_PATH=$(pwd)/release/RelWithDebInfo/share/obs/obs-plugins
seems slightly out of place.
As I understand it, those environment variables are what OBS uses to find plugin bits when it starts up / is running. I don't think they are used during the build (though I may be wrong about that).
What I have yet to figure out is how to arrange the resulting built files and directories to live under
~/.config/obs-studio/plugins
. Once that is determined, IIUC, the environment variables shouldn't need to be set.Unfortunately, I haven't had much luck finding good info about how yet. I suppose one could repeatedly try different arrangements in combination with examining the output of
strace
...may be there's some other plugin that documents this that I haven't found yet (^^;
Simply, told those export statements tell obs to look in those folders for the plugins and that's why it worked for me. I think what might be the issue is, /usr//lib/x86_64-linux-gnu/obs-plugins/obs-localvocal.so
these double forward slashes near usr/lib.
I found a hint here.
May be adapting the following will work:
~/.config/obs-studio/plugins/plugin_name/bin/64-bit/plugin_name.so
~/.config/obs-studio/plugins/plugin_name/data/locale/en-US.ini
I found a hint here.
May be adapting the following will work:
~/.config/obs-studio/plugins/plugin_name/bin/64-bit/plugin_name.so ~/.config/obs-studio/plugins/plugin_name/data/locale/en-US.ini
Tried this but didn't work out.
@royshil @sogaiu Found the error. I shouldn't have bothered in the first place. It has to do with how the plugin files are copied using the bash command. It should be sudo cp -R release/RelWithDebInfo/lib/* /usr/lib/
instead of sudo cp -R release/RelWithDebInfo/lib/* /usr/lib/x86_64-linux-gnu/
.The *
wildcard matches the directories and previous command created a x86_64-linux-gnu
folder inside x86_64-linux-gnu
. So just update the documentation for that command , the other copy command for the settings data seems to be fine. Again sorry for bothering, and this plugin is so cool I don't have to run ffmpeg with whisper anymore, on jupyter notebooks.
It seems like the instructions from the Arch Wiki may have been slightly off.
Changing 64-bit
to 64bit
in one of the paths yielded success here.
The file / directory layout that worked here was:
~/.config/obs-studio/plugins$ tree
.
└── obs-localvocal
├── bin
│ └── 64bit
│ ├── obs-localvocal
│ │ ├── libonnxruntime_providers_shared.so
│ │ └── libonnxruntime.so.1.17.1
│ └── obs-localvocal.so
└── data
├── locale
│ ├── ar-SA.ini
│ ├── de-DE.ini
│ ├── en-US.ini
│ ├── es-ES.ini
│ ├── fr-FR.ini
│ ├── hi-IN.ini
│ ├── ja-JP.ini
│ ├── ko-KR.ini
│ ├── pl-PL.ini
│ ├── pt-BR.ini
│ ├── ru-RU.ini
│ └── zh-CN.ini
└── models
├── ggml-model-whisper-tiny-en
│ └── ggml-model-whisper-tiny.en.bin
└── silero-vad
└── silero_vad.onnx
On a slight tangent, this was determined via following the instructions for another plugin (along with examining the content of one of its release files) and examining closely the path mentioned here.
@sogaiu so as an instruction to folks does this make sense?
$ mkdir -p ~/.config/obs-studio/plugins/obs-localvocal
$ sudo cp -R release/RelWithDebInfo/lib/* ~/.config/obs-studio/plugins/obs-localvocal
$ sudo cp -R release/RelWithDebInfo/share/* ~/.config/obs-studio/plugins/obs-localvocal
@royshil I think I tried something like that before that but did not find it to work.
Adjusting the source and destination paths a bit, I found the following to work here:
$ mkdir -p ~/.config/obs-studio/plugins/obs-localvocal/bin/64bit
$ cp -R release/RelWithDebInfo/lib/x86_64-linux-gnu/obs-plugins/* ~/.config/obs-studio/plugins/obs-localvocal/bin/64bit/
$ mkdir -p ~/.config/obs-studio/plugins/obs-localvocal/data
$ cp -R release/RelWithDebInfo/share/obs/obs-plugins/obs-localvocal/* ~/.config/obs-studio/plugins/obs-localvocal/data/
On a side note, I did not use sudo
because the destination is within a user's home directory and is likely to be writable.
Updated to 0.2.4 and same error: undefined symbol: GetX86Info
Updated to 0.2.4 and same error: undefined symbol: GetX86Info
Could you try following instructions from this reply? https://github.com/occ-ai/obs-localvocal/issues/84#issuecomment-2085391875 So basically when copying the plugin files, it doesn't get copied into _x86 path.
Updated to 0.2.4 and same error: undefined symbol: GetX86Info
IIUC, 0.2.4 predates the changes that royshil made to address the reported error about "undefined symbol", so I think it won't be enough to modify the paths involved in copying.
ATM, I think it's necessary to build from source (and follow the updated instructions) as described here.
the latest version shuold take care of this @ogmkp @sogaiu @vpgits can you all test plz?
I tried via the .deb
for 0.2.6 as well as compiling from source (and copying things under ~/.config/obs-studio/plugins
in the latter case).
Installation went ok and looking at the output in the console, the plugin appeared to be detected.
I tried adding an audio capture device (alsa) source and then a corresponding filter for LocalVocal. The addition appeared successful in the GUI, but shortly after obs crashed.
Below is the console output from one of the sessions.
$ obs debug: Found portal inhibitor debug: Attempted path: share/obs/obs-studio/locale/en-US.ini debug: Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini debug: Attempted path: share/obs/obs-studio/locale.ini debug: Attempted path: /usr/share/obs/obs-studio/locale.ini debug: Attempted path: share/obs/obs-studio/themes debug: Attempted path: /usr/share/obs/obs-studio/themes debug: Attempted path: share/obs/obs-studio/themes/Yami.qss debug: Attempted path: /usr/share/obs/obs-studio/themes/Yami.qss info: Using EGL/X11 info: CPU Name: 11th Gen Intel(R) Core(TM) i5-1145G7 @ 2.60GHz info: CPU Speed: 1497.600MHz info: CPU Name: 11th Gen Intel(R) Core(TM) i5-1145G7 @ 2.60GHz info: CPU Speed: 1497.600MHz info: Physical Cores: 2, Logical Cores: 2 info: Physical Memory: 3911MB Total, 1740MB Free info: Kernel Version: Linux 5.15.0-107-generic info: Distribution: "Ubuntu" "22.04" info: Desktop Environment: XFCE (xubuntu) info: Session Type: x11 info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21.1 info: Qt Version: 6.2.4 (runtime), 6.2.4 (compiled) info: Portable mode: false info: OBS 30.1.2 (linux) info: --------------------------------- info: --------------------------------- info: audio settings reset: samples per sec: 48000 speakers: 2 max buffering: 960 milliseconds buffering type: dynamically increasing info: --------------------------------- info: Initializing OpenGL... libEGL warning: DRI2: failed to authenticate info: Loading up OpenGL on adapter Mesa llvmpipe (LLVM 15.0.7, 256 bits) info: OpenGL loaded successfully, version 4.5 (Core Profile) Mesa 23.2.1-1ubuntu3.1~22.04.2, shading language 4.50 info: --------------------------------- info: video settings reset: base resolution: 1024x768 output resolution: 640x480 downscale filter: Bicubic fps: 30/1 format: NV12 YUV mode: Rec. 709/Partial info: NV12 texture support enabled info: P010 texture support not available info: Audio monitoring device: name: Default id: default info: --------------------------------- warning: No AJA devices found, skipping loading AJA UI plugin warning: Failed to initialize module 'aja-output-ui.so' warning: No AJA devices found, skipping loading AJA plugin warning: Failed to initialize module 'aja.so' warning: Failed to load 'en-US' text for module: 'decklink-captions.so' warning: Failed to load 'en-US' text for module: 'decklink-output-ui.so' libDeckLinkAPI.so: cannot open shared object file: No such file or directory warning: A DeckLink iterator could not be created. The DeckLink drivers may not be installed warning: Failed to initialize module 'decklink.so' info: [pipewire] No captures available info: [obs-browser]: Version 2.23.4 info: [obs-browser]: CEF Version 103.0.5060.134 (runtime), 103.0.0-5060-shared-textures.2594+g17f8588+chromium-103.0.5060.134 (compiled) info: FFmpeg VAAPI H264 encoding not supported info: FFmpeg VAAPI AV1 encoding not supported info: FFmpeg VAAPI HEVC encoding not supported info: [obs-localvocal] plugin loaded successfully (version 0.2.6) info: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.4.2 | RPC Version: 1) info: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.2.4 | Qt version (run-time): 6.2.4 info: [obs-websocket] [obs_module_load] Linked ASIO Version: 101801 info: [obs-websocket] [obs_module_load] Module loaded. info: [vlc-video]: VLC 3.0.16 Vetinari found, VLC video source enabled info: --------------------------------- info: Loaded Modules: info: vlc-video.so info: text-freetype2.so info: rtmp-services.so info: obs-x264.so info: obs-websocket.so info: obs-vst.so info: obs-transitions.so info: obs-qsv11.so info: obs-outputs.so info: obs-localvocal.so info: obs-libfdk.so info: obs-filters.so info: obs-ffmpeg.so info: obs-browser.so info: linux-v4l2.so info: linux-pulseaudio.so info: linux-pipewire.so info: linux-jack.so info: linux-capture.so info: linux-alsa.so info: image-source.so info: frontend-tools.so info: decklink-output-ui.so info: decklink-captions.so info: --------------------------------- warning: QWidget::setTabOrder: 'first' and 'second' must be in the same window info: ==== Startup complete =============================================== info: All scene data cleared info: ------------------------------------------------ info: pulse-input: Server name: 'pulseaudio 15.99.1' info: pulse-input: Audio format: s16le, 44100 Hz, 2 channels info: pulse-input: Started recording from 'alsa_output.pci-0000_00_1b.0.analog-stereo.monitor' (default) info: [Loaded global audio device]: 'Desktop Audio' info: pulse-input: Server name: 'pulseaudio 15.99.1' info: pulse-input: Audio format: s16le, 44100 Hz, 2 channels info: pulse-input: Started recording from 'alsa_input.pci-0000_00_1b.0.analog-stereo' (default) info: [Loaded global audio device]: 'Mic/Aux' info: Switched to scene 'Scene' info: ------------------------------------------------ info: Loaded scenes: info: - scene 'Scene': info: ------------------------------------------------ info: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio) info: alsa-input: PCM 'default' rate set to 44100 info: alsa-input: PCM 'default' channels set to 2 info: User added source 'Audio Capture Device (ALSA)' (alsa_input_capture) to scene 'Scene' info: [obs-localvocal] filter defaults info: [obs-localvocal] LocalVocal filter create info: [obs-localvocal] create text source info: User added source 'LocalVocal Subtitles' (text_ft2_source_v2) to scene 'Scene' info: [obs-localvocal] Checking if model 'Whisper Tiny En' exists in data... info: [obs-localvocal] TokenBufferThread::monitor info: [obs-localvocal] Model folder found in data: /usr/share/obs/obs-plugins/obs-localvocal/models/ggml-model-whisper-tiny-en info: [obs-localvocal] TokenBufferThread::monitor: done info: [obs-localvocal] Model bin file found in folder: /usr/share/obs/obs-plugins/obs-localvocal/models/ggml-model-whisper-tiny-en/ggml-model-whisper-tiny.en.bin 2024-05-14 12:01:09.173363571 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '131'. It is not used by any node and should be removed from the model. 2024-05-14 12:01:09.173422569 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '136'. It is not used by any node and should be removed from the model. 2024-05-14 12:01:09.173430144 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '139'. It is not used by any node and should be removed from the model. 2024-05-14 12:01:09.173436950 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '140'. It is not used by any node and should be removed from the model. 2024-05-14 12:01:09.173444158 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '134'. It is not used by any node and should be removed from the model. 2024-05-14 12:01:09.173499911 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '628'. It is not used by any node and should be removed from the model. 2024-05-14 12:01:09.173505228 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '623'. It is not used by any node and should be removed from the model. 2024-05-14 12:01:09.173509805 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '629'. It is not used by any node and should be removed from the model. 2024-05-14 12:01:09.173514871 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '620'. It is not used by any node and should be removed from the model. 2024-05-14 12:01:09.173523974 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '625'. It is not used by any node and should be removed from the model. info: [obs-localvocal] Loading whisper model from /usr/share/obs/obs-plugins/obs-localvocal/models/ggml-model-whisper-tiny-en/ggml-model-whisper-tiny.en.bin info: [obs-localvocal] Using CPU for inference info: [obs-localvocal] DTW token timestamps disabled info: [obs-localvocal] Whisper model loaded: AVX = 1 | AVX2 = 0 | AVX512 = 0 | FMA = 1 | NEON = 0 | ARM_FMA = 0 | METAL = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 0 | SSE3 = 1 | SSSE3 = 1 | VSX = 0 | CUDA = 0 | COREML = 0 | OPENVINO = 0 info: User added filter 'LocalVocal Transcription' (transcription_filter_audio_filter) to source 'Audio Capture Device (ALSA)' info: [obs-localvocal] starting whisper thread info: [obs-localvocal] filter defaults info: [obs-localvocal] whisper_model_path_external modified Segmentation fault (core dumped)
the latest version shuold take care of this @ogmkp @sogaiu @vpgits can you all test plz?
info: ==== Shutting down ==================================================
warning: [obs-localvocal] Whisper context is null, exiting thread
info: [obs-localvocal] exiting whisper thread
info: pulse-input: Stopped recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor'
info: pulse-input: Got 4219 packets with 5062800 frames
info: pulse-input: Stopped recording from 'alsa_input.pci-0000_00_1f.3.analog-stereo'
info: pulse-input: Got 4218 packets with 5061600 frames
warning: [obs-localvocal] Whisper context is null, exiting thread
info: [obs-localvocal] exiting whisper thread
info: All scene data cleared
info: ------------------------------------------------
info: [obs-websocket] [obs_module_unload] Shutting down...
error: Tried to call obs_frontend_remove_event_callback with no callbacks!
info: [obs-websocket] [obs_module_unload] Finished shutting down.
info: [obs-localvocal] plugin unloaded
info: [Scripting] Total detached callbacks: 0
info: Freeing OBS context data
info: == Profiler Results =============================
info: run_program_init: 1876.45 ms
info: ┣OBSApp::AppInit: 3.305 ms
info: ┃ ┗OBSApp::InitLocale: 0.536 ms
info: ┗OBSApp::OBSInit: 1808.25 ms
info: ┣obs_startup: 1.127 ms
info: ┗OBSBasic::OBSInit: 1695.66 ms
info: ┣OBSBasic::InitBasicConfig: 0.085 ms
info: ┣OBSBasic::ResetAudio: 0.103 ms
info: ┣OBSBasic::ResetVideo: 85.376 ms
info: ┃ ┗obs_init_graphics: 80.511 ms
info: ┃ ┗shader compilation: 22.708 ms
info: ┣OBSBasic::InitOBSCallbacks: 0.005 ms
info: ┣OBSBasic::InitHotkeys: 0.014 ms
info: ┣obs_load_all_modules2: 1412.86 ms
info: ┃ ┣obs_init_module(aja-output-ui.so): 0.056 ms
info: ┃ ┣obs_init_module(aja.so): 0.046 ms
info: ┃ ┣obs_init_module(decklink-captions.so): 0 ms
info: ┃ ┣obs_init_module(decklink-output-ui.so): 0 ms
info: ┃ ┣obs_init_module(decklink.so): 0.062 ms
info: ┃ ┣obs_init_module(frontend-tools.so): 51.203 ms
info: ┃ ┣obs_init_module(image-source.so): 0.011 ms
info: ┃ ┣obs_init_module(linux-alsa.so): 0.002 ms
info: ┃ ┣obs_init_module(linux-capture.so): 0.841 ms
info: ┃ ┣obs_init_module(linux-jack.so): 0.002 ms
info: ┃ ┣obs_init_module(linux-pipewire.so): 11.132 ms
info: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.006 ms
info: ┃ ┣obs_init_module(linux-v4l2.so): 1.507 ms
info: ┃ ┣obs_init_module(obs-browser.so): 0.039 ms
info: ┃ ┣obs_init_module(obs-ffmpeg.so): 5.784 ms
info: ┃ ┃ ┗nvenc_check: 0.704 ms
info: ┃ ┣obs_init_module(obs-filters.so): 0.022 ms
info: ┃ ┣obs_init_module(obs-libfdk.so): 0.002 ms
info: ┃ ┣obs_init_module(obs-localvocal.so): 0.041 ms
info: ┃ ┣obs_init_module(obs-outputs.so): 0.004 ms
info: ┃ ┣obs_init_module(obs-qsv11.so): 1001.26 ms
info: ┃ ┣obs_init_module(obs-transitions.so): 0.007 ms
info: ┃ ┣obs_init_module(obs-vst.so): 0.003 ms
info: ┃ ┣obs_init_module(obs-websocket.so): 10.082 ms
info: ┃ ┣obs_init_module(obs-x264.so): 0.004 ms
info: ┃ ┣obs_init_module(rtmp-services.so): 0.455 ms
info: ┃ ┣obs_init_module(text-freetype2.so): 0.016 ms
info: ┃ ┗obs_init_module(vlc-video.so): 0.096 ms
info: ┣OBSBasic::InitService: 1.046 ms
info: ┣OBSBasic::ResetOutputs: 0.225 ms
info: ┣OBSBasic::CreateHotkeys: 0.022 ms
info: ┣OBSBasic::InitPrimitives: 0.067 ms
info: ┗OBSBasic::Load: 152.201 ms
info: obs_hotkey_thread(25 ms): min=0.033 ms, median=0.216 ms, max=10.767 ms, 99th percentile=0.97 ms, 100% below 25 ms
info: audio_thread(Audio): min=0.005 ms, median=0.085 ms, max=1.366 ms, 99th percentile=0.408 ms
info: obs_graphics_thread(16.6667 ms): min=0.016 ms, median=1.834 ms, max=993.488 ms, 99th percentile=6.845 ms, 99.9529% below 16.667 ms
info: ┣tick_sources: min=0 ms, median=0.011 ms, max=16.428 ms, 99th percentile=0.031 ms
info: ┣output_frame: min=0.008 ms, median=0.369 ms, max=3.551 ms, 99th percentile=1.627 ms
info: ┃ ┗gs_context(video->graphics): min=0.008 ms, median=0.369 ms, max=3.551 ms, 99th percentile=1.627 ms
info: ┃ ┣render_video: min=0.005 ms, median=0.209 ms, max=3.266 ms, 99th percentile=1.425 ms
info: ┃ ┃ ┗render_main_texture: min=0.004 ms, median=0.204 ms, max=3.263 ms, 99th percentile=1.417 ms
info: ┃ ┗gs_flush: min=0.001 ms, median=0.082 ms, max=2.609 ms, 99th percentile=0.226 ms
info: ┗render_displays: min=0.001 ms, median=1.293 ms, max=17.275 ms, 99th percentile=6.605 ms
info: =================================================
info: == Profiler Time Between Calls ==================
info: obs_hotkey_thread(25 ms): min=25.091 ms, median=25.318 ms, max=35.833 ms, 71.5368% within ±2% of 25 ms (0% lower, 28.4632% higher)
info: obs_graphics_thread(16.6667 ms): min=6.437 ms, median=16.667 ms, max=993.509 ms, 99.8587% within ±2% of 16.667 ms (0.0784929% lower, 0.0627943% higher)
info: =================================================
info: Number of memory leaks: 36
debug: Found portal inhibitor
debug: Attempted path: share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: share/obs/obs-studio/locale.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale.ini
debug: Attempted path: share/obs/obs-studio/themes
debug: Attempted path: /usr/share/obs/obs-studio/themes
debug: Attempted path: share/obs/obs-studio/themes/Yami.qss
debug: Attempted path: /usr/share/obs/obs-studio/themes/Yami.qss
warning: [Safe Mode] Unclean shutdown detected!
warning: [Safe Mode] User elected to launch normally.
info: Using EGL/X11
info: CPU Name: 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
info: CPU Speed: 800.000MHz
info: Physical Cores: 8, Logical Cores: 16
info: Physical Memory: 15570MB Total, 2397MB Free
info: Kernel Version: Linux 6.8.0-76060800daily20240311-generic
info: Distribution: "Pop!_OS" "22.04"
info: Desktop Environment: pop:GNOME (pop)
info: Session Type: x11
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21.1
info: Qt Version: 6.2.4 (runtime), 6.2.4 (compiled)
info: Portable mode: false
info: OBS 30.1.2 (linux)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
samples per sec: 48000
speakers: 2
max buffering: 960 milliseconds
buffering type: dynamically increasing
info: ---------------------------------
info: Initializing OpenGL...
info: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics (TGL GT1)
info: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 24.0.3-1pop1~1711635559~22.04~7a9f319, shading language 4.60
info: ---------------------------------
info: video settings reset:
base resolution: 1920x1080
output resolution: 1920x1080
downscale filter: Bicubic
fps: 60/1
format: NV12
YUV mode: Rec. 709/Partial
info: NV12 texture support enabled
info: P010 texture support not available
info: Audio monitoring device:
name: Default
id: default
info: ---------------------------------
warning: No AJA devices found, skipping loading AJA UI plugin
warning: Failed to initialize module 'aja-output-ui.so'
warning: No AJA devices found, skipping loading AJA plugin
warning: Failed to initialize module 'aja.so'
warning: Failed to load 'en-US' text for module: 'decklink-captions.so'
warning: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
libDeckLinkAPI.so: cannot open shared object file: No such file or directory
warning: A DeckLink iterator could not be created. The DeckLink drivers may not be installed
warning: Failed to initialize module 'decklink.so'
info: [pipewire] Available captures:
info: [pipewire] - Desktop capture
info: [pipewire] - Window capture
warning: v4l2loopback not installed, virtual camera disabled
info: [obs-browser]: Version 2.23.4
info: [obs-browser]: CEF Version 103.0.5060.134 (runtime), 103.0.0-5060-shared-textures.2594+g17f8588+chromium-103.0.5060.134 (compiled)
info: NVENC supported
info: VAAPI: API version 1.14
info: FFmpeg VAAPI H264 encoding supported
info: FFmpeg VAAPI AV1 encoding not supported
info: FFmpeg VAAPI HEVC encoding supported
info: [obs-localvocal] plugin loaded successfully (version 0.2.6)
info: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.4.2 | RPC Version: 1)
info: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.2.4 | Qt version (run-time): 6.2.4
info: [obs-websocket] [obs_module_load] Linked ASIO Version: 101801
info: [obs-websocket] [obs_module_load] Module loaded.
error: os_dlopen(libvlc.so.5->libvlc.so.5): libvlc.so.5: cannot open shared object file: No such file or directory
info: [vlc-video]: Couldn't find VLC installation, VLC video source disabled info: --------------------------------- info: Loaded Modules: info: vlc-video.so info: text-freetype2.so info: rtmp-services.so info: obs-x264.so info: obs-websocket.so info: obs-vst.so info: obs-transitions.so info: obs-qsv11.so info: obs-outputs.so info: obs-localvocal.so info: obs-libfdk.so info: obs-filters.so info: obs-ffmpeg.so info: obs-browser.so info: linux-v4l2.so info: linux-pulseaudio.so info: linux-pipewire.so info: linux-jack.so info: linux-capture.so info: linux-alsa.so info: image-source.so info: frontend-tools.so info: decklink-output-ui.so info: decklink-captions.so info: --------------------------------- info: ==== Startup complete =============================================== info: All scene data cleared info: ------------------------------------------------ info: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.3) 15.0.0' info: pulse-input: Audio format: s32le, 48000 Hz, 2 channels info: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default) info: [obs-localvocal] filter defaults info: [obs-localvocal] LocalVocal filter create info: [obs-localvocal] Checking if model 'Whisper Tiny En' exists in data... info: [obs-localvocal] TokenBufferThread::monitor info: [obs-localvocal] Model folder found in data: /usr/share/obs/obs-plugins/obs-localvocal/models/ggml-model-whisper-tiny-en info: [obs-localvocal] TokenBufferThread::monitor: done info: [obs-localvocal] Model bin file found in folder: /usr/share/obs/obs-plugins/obs-localvocal/models/ggml-model-whisper-tiny-en/ggml-model-whisper-tiny.en.bin 2024-05-16 06:44:02.281747401 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '131'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.281771316 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '136'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.281773902 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '139'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.281776302 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '140'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.281778882 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '134'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.281814188 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '628'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.281816857 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '623'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.281819081 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '629'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.281821447 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '620'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.281823860 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '625'. It is not used by any node and should be removed from the model. info: [obs-localvocal] Loading whisper model from /usr/share/obs/obs-plugins/obs-localvocal/models/ggml-model-whisper-tiny-en/ggml-model-whisper-tiny.en.bin info: [obs-localvocal] Using CPU for inference info: [obs-localvocal] DTW token timestamps disabled info: [obs-localvocal] Whisper model loaded: AVX = 1 | AVX2 = 0 | AVX512 = 0 | FMA = 1 | NEON = 0 | ARM_FMA = 0 | METAL = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 0 | SSE3 = 1 | SSSE3 = 1 | VSX = 0 | CUDA = 0 | COREML = 0 | OPENVINO = 0 info: [obs-localvocal] filter defaults info: [obs-localvocal] starting whisper thread info: [Loaded global audio device]: 'Desktop Audio' info: - filter: 'LocalVocal Transcription' (transcription_filter_audio_filter) info: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.3) 15.0.0' info: pulse-input: Audio format: s32le, 48000 Hz, 2 channels info: pulse-input: Started recording from 'alsa_input.pci-0000_00_1f.3.analog-stereo' (default) info: [Loaded global audio device]: 'Mic/Aux' info: [Media Source 'abc.mkv']: settings: input: /home/user/Videos/abc.mkv input_format: (null) speed: 100 is_looping: no is_linear_alpha: no is_hw_decoding: no is_clear_on_media_end: yes restart_on_activate: yes close_when_inactive: no full_decode: no ffmpeg_options: info: [obs-localvocal] filter defaults info: [obs-localvocal] LocalVocal filter create info: [obs-localvocal] Checking if model 'Whisper Tiny En' exists in data... info: [obs-localvocal] Model folder found in data: /usr/share/obs/obs-plugins/obs-localvocal/models/ggml-model-whisper-tiny-en info: [obs-localvocal] Model bin file found in folder: /usr/share/obs/obs-plugins/obs-localvocal/models/ggml-model-whisper-tiny-en/ggml-model-whisper-tiny.en.bin info: [obs-localvocal] TokenBufferThread::monitor [aac @ 0x729328012240] Assuming an incorrectly encoded 7.1 channel layout instead of a spec-compliant 7.1(wide) layout, use -strict 1 to decode according to the specification instead. [aac @ 0x72932810c5c0] Assuming an incorrectly encoded 7.1 channel layout instead of a spec-compliant 7.1(wide) layout, use -strict 1 to decode according to the specification instead. 2024-05-16 06:44:02.379402134 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '131'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.379422274 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '136'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.379425393 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '139'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.379431052 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '140'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.379433396 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '134'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.379472764 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '628'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.379477695 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '623'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.379485968 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '629'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.379488356 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '620'. It is not used by any node and should be removed from the model. 2024-05-16 06:44:02.379490904 [W:onnxruntime:, graph.cc:3593 CleanUnusedInitializersAndNodeArgs] Removing initializer '625'. It is not used by any node and should be removed from the model. info: [obs-localvocal] Loading whisper model from /usr/share/obs/obs-plugins/obs-localvocal/models/ggml-model-whisper-tiny-en/ggml-model-whisper-tiny.en.bin info: [obs-localvocal] Using CPU for inference info: [obs-localvocal] DTW token timestamps disabled info: [obs-localvocal] Whisper model loaded: AVX = 1 | AVX2 = 0 | AVX512 = 0 | FMA = 1 | NEON = 0 | ARM_FMA = 0 | METAL = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 0 | SSE3 = 1 | SSSE3 = 1 | VSX = 0 | CUDA = 0 | COREML = 0 | OPENVINO = 0 info: [obs-localvocal] filter defaults info: [obs-localvocal] starting whisper thread info: Switched to scene 'Scene' info: ------------------------------------------------ info: Loaded scenes: info: - scene 'Scene': info: - source: 'LocalVocal Subtitles' (text_ft2_source_v2) info: - source: 'abc.mkv' (ffmpeg_source) info: - filter: 'LocalVocal Transcription' (transcription_filter_audio_filter) info: ------------------------------------------------ info: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
Segmentation fault (core dumped)
- OBS crashes with larger files > 2GB , here but can be lower sizes as well depending on the hardware.
- My hypothesis is this has something to do with the memory leak.
Sorry, still random crash on OBS 30.1.2 on Debian 12 here with localvocal 0.2.6. Crash randomly when I add the filter on a source, crash randomly when I tick an option in localvocal's advanced properties etc ...
Full trace:
[Thread 0x7ffece3cc6c0 (LWP 21532) exited]
[Thread 0x7ffecdbcb6c0 (LWP 21533) exited]
[Thread 0x7ffecd3ca6c0 (LWP 21534) exited]
terminate called after throwing an instance of 'std::out_of_range'
what(): map::at
Thread 1385 "obs" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffefcc1b6c0 (LWP 18151)]
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
44 ./nptl/pthread_kill.c: Aucun fichier ou dossier de ce type.
(gdb)
(gdb) bt full
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
tid = <optimized out>
ret = 0
pd = <optimized out>
old_mask = {__val = {4702111234474983745}}
ret = <optimized out>
#1 0x00007ffff42a9e8f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
No locals.
#2 0x00007ffff425afb2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
ret = <optimized out>
#3 0x00007ffff4245472 in __GI_abort () at ./stdlib/abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x20, sa_sigaction = 0x20}, sa_mask = {__val = {1880844493789993498, 0, 0, 0, 0, 4575657222473777152, 4575657222473777152, 4575657222473777152,
4575657222473777152, 4575657222473777152, 4575657222473777152, 4575657222473777152, 4575657222473777152, 140737291167360, 10, 140733138974400}}, sa_flags = -198588054,
sa_restorer = 0x7ffff43f2840 <stderr>}
#4 0x00007ffff409d919 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#5 0x00007ffff40a8e1a in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#6 0x00007ffff40a8e85 in std::terminate() () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#7 0x00007ffff40a90d8 in __cxa_throw () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#8 0x00007ffff40a0240 in std::__throw_out_of_range(char const*) () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#9 0x00007fff9ba12cfc in whisper_token_to_str () from /home/og/.config/obs-studio/plugins/obs-localvocal/bin/64bit/obs-localvocal.so
No symbol table info available.
#10 0x00007fff9b9a1385 in ?? () from /home/og/.config/obs-studio/plugins/obs-localvocal/bin/64bit/obs-localvocal.so
No symbol table info available.
#11 0x00007fff9b9a25c5 in ?? () from /home/og/.config/obs-studio/plugins/obs-localvocal/bin/64bit/obs-localvocal.so
No symbol table info available.
#12 0x00007fff9b9a2d72 in ?? () from /home/og/.config/obs-studio/plugins/obs-localvocal/bin/64bit/obs-localvocal.so
No symbol table info available.
#13 0x00007ffff40d44a3 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#14 0x00007ffff42a8134 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
ret = <optimized out>
pd = <optimized out>
out = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140733138974400, 8992474932148312199, -400, 2, 140737488338592, 140733130584064, -8991918460165547897, -8992465685109270393}, mask_was_saved = 0}}, priv = {
pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#15 0x00007ffff43287dc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
No locals.
(gdb)
@ogmkp can you try v0.3.0 with the fix?
i think we can close this for now and open a new ticket when more evidence arrives
OBS Studio - 30.1.2
.~$ obs debug: Found portal inhibitor debug: Attempted path: share/obs/obs-studio/locale/en-US.ini debug: Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini debug: Attempted path: share/obs/obs-studio/locale.ini debug: Attempted path: /usr/share/obs/obs-studio/locale.ini debug: Attempted path: share/obs/obs-studio/themes debug: Attempted path: /usr/share/obs/obs-studio/themes debug: Attempted path: share/obs/obs-studio/themes/Yami.qss debug: Attempted path: /usr/share/obs/obs-studio/themes/Yami.qss warning: [Safe Mode] Unclean shutdown detected! warning: [Safe Mode] User elected to launch normally. info: Using EGL/X11 info: CPU Name: 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz info: CPU Speed: 1075.724MHz info: Physical Cores: 8, Logical Cores: 16 info: Physical Memory: 15570MB Total, 2890MB Free info: Kernel Version: Linux 6.8.0-76060800daily20240311-generic info: Distribution: "Pop!_OS" "22.04" info: Desktop Environment: pop:GNOME (pop) info: Session Type: x11 info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21.1 info: Qt Version: 6.2.4 (runtime), 6.2.4 (compiled) info: Portable mode: false info: OBS 30.1.2 (linux) info: --------------------------------- info: --------------------------------- info: audio settings reset: samples per sec: 48000 speakers: 2 max buffering: 960 milliseconds buffering type: dynamically increasing info: --------------------------------- info: Initializing OpenGL... info: Loading up OpenGL on adapter NVIDIA Corporation NVIDIA GeForce RTX 3060 Laptop GPU/PCIe/SSE2 info: OpenGL loaded successfully, version 3.3.0 NVIDIA 550.67, shading language 3.30 NVIDIA via Cg compiler info: --------------------------------- info: video settings reset: base resolution: 1920x1080 output resolution: 1920x1080 downscale filter: Bicubic fps: 60/1 format: NV12 YUV mode: Rec. 709/Partial info: NV12 texture support enabled info: P010 texture support not available info: Audio monitoring device: name: Default id: default info: --------------------------------- warning: No AJA devices found, skipping loading AJA UI plugin warning: Failed to initialize module 'aja-output-ui.so' warning: No AJA devices found, skipping loading AJA plugin warning: Failed to initialize module 'aja.so' warning: Failed to load 'en-US' text for module: 'decklink-captions.so' warning: Failed to load 'en-US' text for module: 'decklink-output-ui.so' libDeckLinkAPI.so: cannot open shared object file: No such file or directory warning: A DeckLink iterator could not be created. The DeckLink drivers may not be installed warning: Failed to initialize module 'decklink.so' info: [pipewire] Available captures: info: [pipewire] - Desktop capture info: [pipewire] - Window capture warning: v4l2loopback not installed, virtual camera disabled info: [obs-browser]: Version 2.23.4 info: [obs-browser]: CEF Version 103.0.5060.134 (runtime), 103.0.0-5060-shared-textures.2594+g17f8588+chromium-103.0.5060.134 (compiled) info: NVENC supported info: VAAPI: API version 1.14 info: FFmpeg VAAPI H264 encoding supported info: FFmpeg VAAPI AV1 encoding not supported info: FFmpeg VAAPI HEVC encoding supported obs: symbol lookup error: /usr//lib/x86_64-linux-gnu/obs-plugins/obs-localvocal.so: undefined symbol: GetX86Info obs: symbol lookup error: /usr//lib/x86_64-linux-gnu/obs-plugins/obs-localvocal.so: undefined symbol: GetX86Info