bazukas / obs-linuxbrowser

OBS Linux Browser Plugin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Browser source doesn't show anything with some versions of CEF

copygirl opened this issue · comments

––––––––––––––––––––––
Edit from maintainer

CEF builds that are working properly:

  • 3.3440.1805
  • 3.3440.1803
    ...
  • 3.3359.1769
  • 3.3325.1750

If you have successfully run obs-linuxbrowser with other CEF builds, we'd be glad, if you'd post them in this thread so we can add them to this list.
––––––––––––––––––––––

I think at some point I updated / recompiled OBS Studio from source and the linuxbrowser plugin stopped working for me and I simply don't see the browser source in the preview area. In the past I may have just had to recompile the plugin and CEF again, but not having that luck this time. Any ideas what might be wrong?

OBS log file: https://hastebin.com/oronevikac
Additional error in terminal: https://hastebin.com/omegukokuq.m

OS: Arch Linux
obs-studio-git 21.1.1.r93.gb41ca1ca
obs-linuxbrowser 0.3.1-1 (Just recompiled now, so commit 2b0319a)
cef-minimal 3.3359.1772.gd1df190-1

edit: Appears to be an issue with recent versions of CEF, actually. No issues when using 3.3325.1750.gaabe4c4.

I have the exact same issue. I tried to downgrade to 20.0.1 just to see if that fixed the problem. No luck

commented

Hello. Unfortunately I don't really understand what happened. Could you try uninstalling linuxbrowser packages and manually ~/.config/obs-studio/plugins if there are any files there.
Then installing that aur package again or just building yourself?

@bazukas I tried this way many times and it's not working.

commented

@NexAdn could you please try to reproduce this error, unfortunately I no longer have an arch system

@bazukas Where are you from? (don't reply if too personal) If we're in the same country you or your friend can tell me the solution in our language.

commented

@yurwpjt there is no solution yet, we're trying to figure it out

~/.config/obs-studio/plugins does not exist. obs-linuxbrowser installs to /usr/lib/obs-plugins/obs-linuxbrowser.so and /usr/share/obs/obs-plugins/obs-linuxbrowser/. After removing the package, those files are gone. Had no luck with reinstalling.

Alright, I installed an old version of the cef-minimal package, version 3.3325.1750.gaabe4c4 from 2018-03-18 instead of 3.3359.1772.gd1df190. That ended up working out for me.

commented

@copygirl thanks for the info, seems like the problem lies in certain versions of cef

@copygirl Worked for me, ty dude

I just removed cef-minimal completely and that fixed my issue

I encounter the same problem when installing some specific CEF builds, but I didn't figure out what makes CEF crash, neither did I figure out if the browser is crashing or if the rendering engine is not working correctly. The latest version that worked for me was 3.3359.1769.gd0bfc4d if I remember correctly (I am not on my desktop right now so I can't verify).

If I encounter this problem again, I could try to debug it.

EDIT: When using 3.3359.1772.gd1df190 all browser processes seem to crash. Neither OBS log gives any information about the crash, nor does any source-specific obs-linuxbrowser log (under .cache/obs-linuxbrowser/.../, being completely empty. @bazukas are there any other log files I could look into to maybe find the cause of the crash?

Obviously the crash seems to happen at a very early stage. When restarting the browser via the menu button in the source config, htop shows a browser process for one tick and then it seems to crash. After that, there are no instances of browser-subprocess or browser, but just obs.

EDIT 2: Okay, the last one appeared when I was using a global install of obs-linuxbrowser (AUR) having it compiled with3.3359.1769.gd0bfc4d and using a provided 3.3359.1772.gd1df190 cef-minimal in /opt/cef (AUR). I just installed obs-linuxbrowser locally and it gives me similar output as OP uploaded. All browser and browser-subprocess instances seem to be running, but not working. The debug.log file in the binary directory (.../bin/64bit/) has these contents:

[0516/075920.658364:ERROR:gl_surface_glx.cc(581)] XGetWindowAttributes failed for window 159383554.
[0516/075920.658469:ERROR:gles2_command_buffer_stub.cc(226)] ContextResult::kFatalFailure: Failed to create surface.
[0516/075920.660019:WARNING:x11_util.cc(1362)] X error received: serial 263, error_code 3 (BadWindow (invalid Window parameter)), request_code 3, minor_code 0 (X_GetWindowAttributes)
[0516/075920.663235:ERROR:gpu_process_transport_factory.cc(1017)] Lost UI shared context.

This problem seems to be unrelated with obs-linuxbrowser. Even obs-browser recommends only certain CEF versions, so I think this is somehow CEF-related and nothing we can prevent.

Is this related to the issue i'm getting now?

# Fatal error in , line 0
# Check failed: (isolate->snapshot_blob()) == nullptr.
#
#
#
#FailureMessage Object: 0x7ffd6338b6f0#0 0x7f2ebcf0421c [0518/154712.464131:WARNING:x11_util.cc(1362)] X error received: serial 63, error_code 3 (BadWindow (invalid Window parameter)), request_code 4, minor_code 0 (X_DestroyWindow)
base::debug::StackTrace::StackTrace()
#1 0x7f2ebf693edb gin::(anonymous namespace)::PrintStackTrace()
#2 0x7f2ebf4e0238 V8_Fatal()
#3 0x7f2ebc576c7b v8::Isolate::New()
#4 0x7f2ebf6900b4 gin::IsolateHolder::IsolateHolder()
#5 0x7f2ebf51e265 blink::V8PerIsolateData::V8PerIsolateData()
#6 0x7f2ebf51e705 blink::V8PerIsolateData::Initialize()
#7 0x7f2ebf2e876a blink::V8Initializer::InitializeMainThread()
#8 0x7f2ebf2b588f _ZN5blink10InitializeEPNS_8PlatformEPN15service_manager22BinderRegistryWithArgsIJEEE
#9 0x7f2ec06c0916 content::RenderThreadImpl::Init()
#10 0x7f2ec06bf828 content::RenderThreadImpl::Create()
#11 0x7f2ec06eef87 content::RendererMain()
#12 0x7f2ebcd7d50a content::ContentMainRunnerImpl::Run()
#13 0x7f2ebe019ff5 service_manager::MainRun()
#14 0x7f2ebcdafd90 CefContext::Initialize()
#15 0x7f2ebcdafa60 CefInitialize()
#16 0x7f2ebb53cf70 cef_initialize
#17 0x558aac2baab4 CefInitialize()
#18 0x558aac2a8c63 main
#19 0x7f2eb86b81c1 __libc_start_main
#20 0x558aac2a941a _start```

Also don't see anything on the browser preview...

Seems to be related. The OP has uploaded a similar log file. CEF version 3.3359.1769 is the last known version that is known to be working.

Would it be possible to have linuxbrowser catch this error and display an error message or at least log something in the default OBS log file? It might help with people getting confused or frustrated.

I'll see what I can do. Atm there's a known issues section in the Readme, where I described this error and linked this issue for people to see what cef versions are known to be working.

I couldn't find any classes, methods or callbacks I could use to catch log messages, but that seems to be a problem many CEF users are facing. I could monitor the log file, but parsing it is quite resource heavy for a small OBS plugin, so it's in my opinion not an option.

If you find anything I could do to catch CEF errors on initialization time despite parsing the log file, please post them in this thread.

I am having this problem too. Should we have something in the README to point out the latest known working version? Is there an issue in V8 that we can track for the underlying problem?

I can confirm version 3.3325.1750.gaabe4c4 works.

1750 has already been confirmed to be working.

There is already a known issues section in the readme, redirecting to this issue. We'll keep track of the working versions here and use that redirect to avoid information redundancies and keep the commit history clean.

The problem is not V8-specific, but related to some initialization process in CEF. If you have any useful resources for use, be free to post them here or (if possible) fix the problem yourself and submit a PR.

For some reason the awnser of @LJensrud worked for me. Makes no sense to me, but it works.

As obs-linuxbrowser comes with a bundled version of cef that is known to be working, it does totally make sense. You should only encounter problems if you keep your cef-minimal installation to get recent updates. Unfortunately, I updated the AUR before I checked if the current version is working.

For those who want a step-by-step tutorial on downgrading to the version 3.3359.1769.gd0bfc4d:

cd /tmp/
wget https://aur.archlinux.org/cgit/aur.git/snapshot/aur-201f7460294bfb35fffb826d71442de053dd5d74.tar.gz
tar -xf aur-201f7460294bfb35fffb826d71442de053dd5d74.tar.gz
cd aur-201f7460294bfb35fffb826d71442de053dd5d74
makepkg
pacman -U cef-minimal-3.3359.1769.gd0bfc4d-1-x86_64.pkg.tar.xz

If you want to upgrade/downgrade to another version of cef-minimal, you can find them here. In that case, you would have to wget a different tar.gz achieve. The commands above will be the same, but the file names will change.

commented

Using master for obs-studio and obs-linuxbrowser.
Having this error even with 3.3359.1769 standard on debian stable.
Just started heavy recompiling with different cef version etc.



#
# Fatal error in , line 0
# Check failed: (isolate->snapshot_blob()) == nullptr.
#
#
#
#FailureMessage Object: 0x7ffc14ac0360#0 0x7f9b8f231c5c base::debug::StackTrace::StackTrace()
#1 0x7f9b919c219b 

#
# Fatal error in , line 0
# Check failed: (isolate->snapshot_blob()) == nullptr.
#
#
#
#FailureMessage Object: 0x7ffc39424eb0#0 0x7fe9a33d3c5c gin::(anonymous namespace)::PrintStackTrace()
#2 0x7f9b9180e4f8 base::debug::StackTrace::StackTrace()
#1 0x7fe9a5b6419b gin::(anonymous namespace)::PrintStackTrace()
#2 0x7fe9a59b04f8 

#
# Fatal error in , line 0
# Check failed: (isolate->snapshot_blob()) == nullptr.
#
#
#
#FailureMessage Object: 0x7fff993de550#0 0x7f05490cbc5c V8_Fatal()
#3 0x7fe9a2a46ceb V8_Fatal()
#3 0x7f9b8e8a4ceb base::debug::StackTrace::StackTrace()
#1 0x7f054b85c19b v8::Isolate::New()
#4 0x7fe9a5b60374 gin::(anonymous namespace)::PrintStackTrace()
#2gin::IsolateHolder::IsolateHolder()
#5 0x7fe9a59ee525 v8::Isolate::New()
#4 0x7f9b919be374  0x7f054b6a84f8 blink::V8PerIsolateData::V8PerIsolateData()
#6 0x7fe9a59ee9c5 gin::IsolateHolder::IsolateHolder()
#5 0x7f9b9184c525 V8_Fatal()
#3 0x7f054873eceb blink::V8PerIsolateData::Initialize()
#7 0x7fe9a57b8a2a blink::V8PerIsolateData::V8PerIsolateData()
#6 0x7f9b9184c9c5 blink::V8Initializer::InitializeMainThread()
#8 0x7fe9a5785b4f blink::V8PerIsolateData::Initialize()
#7 0x7f9b91616a2a 

#
# Fatal error in , line 0
# Check failed: (isolate->snapshot_blob()) == nullptr.
#
#
#
#FailureMessage Object: 0x7ffe672f7e80#0 0x7f23c0ad5c5c v8::Isolate::New()
#4 0x7f054b858374 _ZN5blink10InitializeEPNS_8PlatformEPN15service_manager22BinderRegistryWithArgsIJEEE
#9 0x7fe9a6b91006 base::debug::StackTrace::StackTrace()
#1 0x7f23c326619b gin::IsolateHolder::IsolateHolder()
#5 0x7f054b6e6525 content::RenderThreadImpl::Init()
#10 0x7fe9a6b8ff18 blink::V8PerIsolateData::V8PerIsolateData()
#6 0x7f054b6e69c5 blink::V8Initializer::InitializeMainThread()
#8 gin::(anonymous namespace)::PrintStackTrace()
#2 0x7f23c30b24f8 0x7f9b915e3b4f content::RenderThreadImpl::Create()
#11 0x7fe9a6bbf677 blink::V8PerIsolateData::Initialize()
#7 0x7f054b4b0a2a content::RendererMain()
#12 0x7fe9a324cfaa V8_Fatal()error: A sprite cannot be drawn without a width/height

#3 0x7f23c0148ceb content::ContentMainRunnerImpl::Run()
#13 0x7fe9a44ea3d5 _ZN5blink10InitializeEPNS_8PlatformEPN15service_manager22BinderRegistryWithArgsIJEEE
#9 0x7f9b929ef006 service_manager::MainRun()
#14 0x7fe9a327f810 error: A sprite cannot be drawn without a width/height
blink::V8Initializer::InitializeMainThread()
#CefContext::Initialize()
#15 0x7fe9a327f4e0 v8::Isolate::New()
#4 0x7f23c3262374 8 0x7f054b47db4f CefInitialize()
#16 0x7fe9a1a0cf70 content::RenderThreadImpl::Init()
#10 0x7f9b929edf18 gin::IsolateHolder::IsolateHolder()
#5 0x7f23c30f0525 blink::V8PerIsolateData::V8PerIsolateData()
#6 0x7f23c30f09c5 _ZN5blink10InitializeEPNS_8PlatformEPN15service_manager22BinderRegistryWithArgsIJEEE
#9 0x7f054c889006 cef_initialize
#17 0x55ba6c5f76e4 CefInitialize()
#18 0x55ba6c5e505b main
#19 0x7fe99ec1c2e1 __libc_start_main
#20 0x55ba6c5e581a _start
error: A sprite cannot be drawn without a width/height
content::RenderThreadImpl::Init()
#10 0x7f054c887f18 blink::V8PerIsolateData::Initialize()
#7 0x7f23c2ebaa2a content::RenderThreadImpl::Create()
#11 0x7f9b92a1d677 blink::V8Initializer::InitializeMainThread()
#8 0x7f23c2e87b4f error: A sprite cannot be drawn without a width/height
content::RendererMain()
#12 0x7f9b8f0aafaa _ZN5blink10InitializeEPNS_8PlatformEPN15service_manager22BinderRegistryWithArgsIJEEE
#9 0x7f23c4293006 error: A sprite cannot be drawn without a width/height
content::RenderThreadImpl::Create()
#11 0x7f054c8b7677 content::RenderThreadImpl::Init()
#10 0x7f23c4291f18 content::ContentMainRunnerImpl::Run()
#13 0x7f9b903483d5 content::RendererMain()
#12 0x7f0548f44faa content::RenderThreadImpl::Create()
#11 0x7f23c42c1677 service_manager::MainRun()
#14 0x7f9b8f0dd810 content::ContentMainRunnerImpl::Run()
#13 0x7f054a1e23d5 CefContext::Initialize()
#15 0x7f9b8f0dd4e0 content::RendererMain()
#12 0x7f23c094efaa CefInitialize()
#16 0x7f9b8d86af70 content::ContentMainRunnerImpl::Run()
#13 0x7f23c1bec3d5 service_manager::MainRun()
#14 0x7f0548f77810 CefContext::Initialize()
#15 0x7f0548f774e0 service_manager::MainRun()
#14 0x7f23c0981810 cef_initialize
#17 0x5606c464d6e4 CefInitialize()
#18 0x5606c463b05b main
#19 0x7f9b8aa7a2e1 __libc_start_main
#20 0x5606c463b81a _start
CefContext::Initialize()
#15 0x7f23c09814e0 CefInitialize()
#16 0x7f0547704f70 CefInitialize()
#16 0x7f23bf10ef70 cef_initialize
#17 0x55bbf5a046e4 CefInitialize()
#18 0x55bbf59f205b main
#19 0x7f05449142e1 __libc_start_main
#20 0x55bbf59f281a _start
cef_initialize
#17 0x55b290b716e4 CefInitialize()
#18 0x55b290b5f05b main
#19 0x7f23bc31e2e1 __libc_start_main
#20 0x55b290b5f81a _start
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
QXcbConnection: XCB error: 8 (BadMatch), sequence: 2225, resource id: 98566236, major code: 130 (Unknown), minor code: 3
QXcbConnection: XCB error: 8 (BadMatch), sequence: 2260, resource id: 98566236, major code: 130 (Unknown), minor code: 3
QXcbConnection: XCB error: 8 (BadMatch), sequence: 2263, resource id: 98566236, major code: 130 (Unknown), minor code: 3
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height
error: A sprite cannot be drawn without a width/height


#
# Fatal error in , line 0
# Check failed: (isolate->snapshot_blob()) == nullptr.
#
#
#
#FailureMessage Object: 0x7ffe672f7e80#0 0x7f23c0ad5c5c [0731/211900.870923:WARNING:x11_util.cc(1362)] X error received: serial 35, error_code 3 (BadWindow (invalid Window parameter)), request_code 4, minor_code 0 (X_DestroyWindow)
base::debug::StackTrace::StackTrace()
#1 0x7f23c326619b gin::(anonymous namespace)::PrintStackTrace()
#2 0x7f23c30b24f8 V8_Fatal()
#3 0x7f23c0148ceb error: A sprite cannot be drawn without a width/height
v8::Isolate::New()
#4 0x7f23c3262374 gin::IsolateHolder::IsolateHolder()
#5 0x7f23c30f0525 blink::V8PerIsolateData::V8PerIsolateData()
#6 0x7f23c30f09c5 blink::V8PerIsolateData::Initialize()
#7 0x7f23c2ebaa2a error: A sprite cannot be drawn without a width/height
blink::V8Initializer::InitializeMainThread()
#8 0x7f23c2e87b4f _ZN5blink10InitializeEPNS_8PlatformEPN15service_manager22BinderRegistryWithArgsIJEEE
#9 0x7f23c4293006 content::RenderThreadImpl::Init()
#10 0x7f23c4291f18 error: A sprite cannot be drawn without a width/height
content::RenderThreadImpl::Create()
#11 0x7f23c42c1677 content::RendererMain()
#12 0x7f23c094efaa content::ContentMainRunnerImpl::Run()
#13 0x7f23c1bec3d5 service_manager::MainRun()
#14 0x7f23c0981810 CefContext::Initialize()
#15 0x7f23c09814e0 CefInitialize()
#16 0x7f23bf10ef70 cef_initialize
#17 0x55b290b716e4 CefInitialize()
#18 0x55b290b5f05b main
#19 0x7f23bc31e2e1 __libc_start_main
#20 0x55b290b5f81a _start


#
# Fatal error in , line 0
# Check failed: (isolate->snapshot_blob()) == nullptr.
#
#
#
#FailureMessage Object: 0x7ffc39424eb0#0 0x7fe9a33d3c5c base::debug::StackTrace::StackTrace()
#1 0x7fe9a5b6419b gin::(anonymous namespace)::PrintStackTrace()
#2 0x7fe9a59b04f8 V8_Fatal()
#3 0x7fe9a2a46ceb v8::Isolate::New()
#4 0x7fe9a5b60374 gin::IsolateHolder::IsolateHolder()
#5 0x7fe9a59ee525 blink::V8PerIsolateData::V8PerIsolateData()
#6 0x7fe9a59ee9c5 blink::V8PerIsolateData::Initialize()
#7 0x7fe9a57b8a2a blink::V8Initializer::InitializeMainThread()
#8 0x7fe9a5785b4f _ZN5blink10InitializeEPNS_8PlatformEPN15service_manager22BinderRegistryWithArgsIJEEE
#9 0x7fe9a6b91006 content::RenderThreadImpl::Init()
#10 0x7fe9a6b8ff18 content::RenderThreadImpl::Create()
#11 0x7fe9a6bbf677 content::RendererMain()
#12 0x7fe9a324cfaa content::ContentMainRunnerImpl::Run()
#13 0x7fe9a44ea3d5 service_manager::MainRun()
#14 0x7fe9a327f810 CefContext::Initialize()
#15 0x7fe9a327f4e0 CefInitialize()
#16 0x7fe9a1a0cf70 cef_initialize
#17 0x55ba6c5f76e4 CefInitialize()
#18 0x55ba6c5e505b main
#19 0x7fe99ec1c2e1 __libc_start_main
#20 0x55ba6c5e581a _start


#
# Fatal error in , line 0
# Check failed: (isolate->snapshot_blob()) == nullptr.
#
#
#
#FailureMessage Object: 0x7ffc14ac0360#0 0x7f9b8f231c5c base::debug::StackTrace::StackTrace()
#1 0x7f9b919c219b gin::(anonymous namespace)::PrintStackTrace()
#2 0x7f9b9180e4f8 V8_Fatal()
#3 0x7f9b8e8a4ceb 

#
# Fatal error in , line 0
# Check failed: (isolate->snapshot_blob()) == nullptr.
#
#
#
#FailureMessage Object: 0x7fff993de550#0 0x7f05490cbc5c v8::Isolate::New()
#4 0x7f9b919be374 gin::IsolateHolder::IsolateHolder()
#5 0x7f9b9184c525 base::debug::StackTrace::StackTrace()
#1 0x7f054b85c19b blink::V8PerIsolateData::V8PerIsolateData()
#6 0x7f9b9184c9c5 gin::(anonymous namespace)::PrintStackTrace()
#2 0x7f054b6a84f8 V8_Fatal()
#3 0x7f054873eceb blink::V8PerIsolateData::Initialize()
#7 0x7f9b91616a2a v8::Isolate::New()
#4 0x7f054b858374 gin::IsolateHolder::IsolateHolder()
#5 0x7f054b6e6525 blink::V8Initializer::InitializeMainThread()
#8 0x7f9b915e3b4f blink::V8PerIsolateData::V8PerIsolateData()
#6 0x7f054b6e69c5 _ZN5blink10InitializeEPNS_8PlatformEPN15service_manager22BinderRegistryWithArgsIJEEE
#9 0x7f9b929ef006 blink::V8PerIsolateData::Initialize()
#7 0x7f054b4b0a2a content::RenderThreadImpl::Init()
#10 0x7f9b929edf18 blink::V8Initializer::InitializeMainThread()
#8 0x7f054b47db4f content::RenderThreadImpl::Create()
#11 0x7f9b92a1d677 _ZN5blink10InitializeEPNS_8PlatformEPN15service_manager22BinderRegistryWithArgsIJEEE
#9 0x7f054c889006 content::RendererMain()
#12 0x7f9b8f0aafaa content::RenderThreadImpl::Init()
#10 0x7f054c887f18 content::ContentMainRunnerImpl::Run()
#13 0x7f9b903483d5 service_manager::MainRun()
#14 0x7f9b8f0dd810 content::RenderThreadImpl::Create()
#11 0x7f054c8b7677 CefContext::Initialize()
#15 0x7f9b8f0dd4e0 CefInitialize()
#16 0x7f9b8d86af70 content::RendererMain()
#12 0x7f0548f44faa content::ContentMainRunnerImpl::Run()
#13 0x7f054a1e23d5 cef_initialize
#17 0x5606c464d6e4 CefInitialize()
#18 0x5606c463b05b main
#19 0x7f9b8aa7a2e1 __libc_start_main
#20 0x5606c463b81a _start
service_manager::MainRun()
#14 0x7f0548f77810 CefContext::Initialize()
#15 0x7f0548f774e0 CefInitialize()
#16 0x7f0547704f70 cef_initialize
#17 0x55bbf5a046e4 CefInitialize()
#18 0x55bbf59f205b main
#19 0x7f05449142e1 __libc_start_main
#20 0x55bbf59f281a _start

Did you try using 1750?

commented

Yes sir, 1750 is working.

By the way: https://obsproject.com/forum/threads/obs-tcl-build-script.92217/ I just wrote this while it was compiling. Recompiling with a different version takes arround 5 minutes. Tell me what version I should test if you want.

For now, I removed 1769 from the list of working versions.

This combination does not work. Linux browser is blank:

  • obs-linuxbrowser 0.5.0-1
  • obs-studio 21.1.2-1
  • cef-minimal 3.3325.1750.gaabe4c4-1

Should I switch from obs-studio to obs-studio-git? Also, where do I see the logs?

Was able to generate the logs. The error seemed to happen on this part:

info: User added source 'Linux Browser' (linuxbrowser-source) to scene 'Scene'
/usr//lib/obs-plugins/browser: symbol lookup error: /usr//lib/obs-plugins/browser: undefined symbol: cef_v8value_create_array_buffer
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 5537, resource id: 4198060, major code: 40 (TranslateCoords), minor code: 0

Not sure what it means though.

EDIT:
Was able to get things working with the following setup:

  • obs-studio 21.1.2-1
  • obs-linuxbrowser 0.4.0-1
  • cef-minimial 3.3325.1750.gaabe4c4-1

I tried a lot of other combinations before this. Sadly I was not able to log which combinations didn't work.

Also obs-linuxbrowser 0.4.0 says it requires obs-studio version 21.1.1, but it still seems to be working fine even with 21.1.2.

Switching OBS between obs-studio and obs-studio-git shouldn't change anything.

The error you are getting seems to be the error that causes the whole problem this issue is tracking, but I have no clue why some CEF/obs-linuxbrowser combinations work and why some of them don't.

Also, the OBS Studio version requirements are only minimal requirements, so if you are using OBS Studio on a higher version that the one that has been suggested by the plugin, everything should be working out just fine.

EDIT: As the error states there is an undefined symbol cef_v8value_create_array_buffer, I checked some CEF builds on my PC with nm. The result was that sometimes the symbol was defined and sometimes not (which is very strange). When using a release with stripped symbols (i.e. AUR packages), nm says there are no symbols defined. Checking an unstripped libcef.so from build 1750 gets me this output when grepping for v8value_create:

00000000020edf60 T cef_v8value_create_array
00000000020ed5d0 T cef_v8value_create_bool
00000000020ed9d0 T cef_v8value_create_date
00000000020ed8d0 T cef_v8value_create_double
00000000020ee060 T cef_v8value_create_function
00000000020ed6d0 T cef_v8value_create_int
00000000020ed4d0 T cef_v8value_create_null
00000000020edc80 T cef_v8value_create_object
00000000020edb00 T cef_v8value_create_string
00000000020ed7d0 T cef_v8value_create_uint
00000000020ed0b0 T cef_v8value_create_undefined

As one can see, there is no symbol cef_v8value_create_array_buffer contained, which I think is the cause of the problem. But the questions are why this is the case and how one can get a .so with the appropriate symbol defined.

EDIT 2:

Apparently, this seems to be not the cause of the problem. I encounter crashes both with and without cev_v8value_create_array_buffer defined. Instead we should focus on isolate->snapshot_blob() == nullptr which seems to be generated whenever there is a corrupt or missing snapshot_blob.bin file. At least both the “corrupt” releases’s snapshot_blob.bin and removing any snapshot_blob.bin seem to raise the same error.

#
# Fatal error in ../../v8/src/api.cc, line 8396
# Check failed: (isolate->snapshot_blob()) == nullptr.
#
#0 0x7efe4c13533c base::debug::StackTrace::StackTrace()
#1 0x7efe4e997bab gin::(anonymous namespace)::PrintStackTrace()
#2 0x7efe4e7e756c V8_Fatal()
#3 0x7efe4b7b548e v8::Isolate::New()
#4 0x7efe4e993ae2 gin::IsolateHolder::IsolateHolder()
#5 0x7efe4e824eec blink::V8PerIsolateData::V8PerIsolateData()
#6 0x7efe4e825bb8 blink::V8PerIsolateData::Initialize()
#7 0x7efe4e5f1674 blink::V8Initializer::InitializeMainThread()
#8 0x7efe4e5bf6ff _ZN5blink10InitializeEPNS_8PlatformEPN15service_manager22BinderRegistryWithArgsIJEEE
#9 0x7efe4f965e62 content::RenderThreadImpl::Init()
#10 0x7efe4f964d53 content::RenderThreadImpl::Create()
#11 0x7efe4f993d01 content::RendererMain()
#12 0x7efe4bfb0669 content::ContentMainRunnerImpl::Run()
#13 0x7efe4d3b90fa service_manager::MainRun()
#14 0x7efe4bfe1f84 CefContext::Initialize()
#15 0x7efe4bfe1c43 CefInitialize()
#16 0x7efe4a99fd23 cef_initialize
#17 0x5586850819ff CefInitialize()
#18 0x55868506fb5b main
#19 0x7efe4855e223 __libc_start_main
#20 0x55868507016e _start
[0818/090538.459496:WARNING:sqlite_persistent_cookie_store.cc(852)] Cookie database is too new.
[0818/090538.460257:WARNING:sqlite_persistent_cookie_store.cc(852)] Cookie database is too new.


#
# Fatal error in ../../v8/src/api.cc, line 8396
# Check failed: (isolate->snapshot_blob()) == nullptr.
#
#0 0x7efe4c13533c base::debug::StackTrace::StackTrace()
#1 0x7efe4e997bab gin::(anonymous namespace)::PrintStackTrace()
#2 0x7efe4e7e756c V8_Fatal()
#3 0x7efe4b7b548e v8::Isolate::New()
#4 0x7efe4e993ae2 gin::IsolateHolder::IsolateHolder()
#5 0x7efe4e824eec [0818/090539.152562:WARNING:x11_util.cc(1362)] X error received: serial 48, error_code 3 (BadWindow (invalid Window parameter)), request_code 4, minor_code 0 (X_DestroyWindow)
blink::V8PerIsolateData::V8PerIsolateData()
#6 0x7efe4e825bb8 blink::V8PerIsolateData::Initialize()
#7 0x7efe4e5f1674 blink::V8Initializer::InitializeMainThread()
#8 0x7efe4e5bf6ff _ZN5blink10InitializeEPNS_8PlatformEPN15service_manager22BinderRegistryWithArgsIJEEE
#9 0x7efe4f965e62 content::RenderThreadImpl::Init()
#10 0x7efe4f964d53 content::RenderThreadImpl::Create()
#11 0x7efe4f993d01 content::RendererMain()
#12 0x7efe4bfb0669 content::ContentMainRunnerImpl::Run()
#13 0x7efe4d3b90fa service_manager::MainRun()
#14 0x7efe4bfe1f84 CefContext::Initialize()
#15 0x7efe4bfe1c43 CefInitialize()
#16 0x7efe4a99fd23 cef_initialize
#17 0x5586850819ff CefInitialize()
#18 0x55868506fb5b main
#19 0x7efe4855e223 __libc_start_main
#20 0x55868507016e _start

I found a possible solution. Apparently, bazukas left out a resource file v8_context_snapshot.bin in his installation configuration, but as the problem seems to occur with more recent versions only I suppose that this file somehow was not necessary in the earlier releases. I will now test the most recent versions and push a bugfix if everything works out fine with this file.

Update: Still no luck with 1805. This build even sees to be failing independently of snapshot_blob.bin and v8_context_snapshot.bin, but without any error message showing up. I will push a change to CMakeLists to include v8_context_snapshot.bin as it seems to be one cause of some fails. Maybe implementing #78 can give us more detailed information on what is causing these browser crashes.

EDIT: I confirmed 1803 to be working. The AUR package has been updated to this version, so it's safe to use the most recent AUR version.

Confirmed 1805.

commented

Confirmed working browser with cef1805/obs22.0.1 on debian 9 stable

Confirmed 1802 – 1769.

I think #79 actually resolved the issue. At least, the most recent builds seem to be working fine. I'll close this issue for now.

Recent builds now works. Thanks a lot!

Issues #93, #95, #87 and #94 might be related.

I've also read that there might be problems when shipping both snapshot_blob.bin and v8_context_snapshot.bin. I will reopen this issue if the relation is confirmed.