Cool VL Viewer forum

View unanswered posts | View active topics It is currently 2020-03-31 14:03:32



Reply to topic  [ 10 posts ] 
Media plugin failure on self built 1.26.23 branch 
Author Message

Joined: 2016-06-19 21:33:37
Posts: 146
Location: San Francisco bay area, CA, USA
Reply with quote
Hi Henri,

I know that .23 was just added today, and shouldn't expect it to be without issue, but I thought I would give compiling it a try. It works well so far for everything except that the media plugin seems to fail (the viewer splash doesn't load). I have enabled MediaPluginDebugging and have added a log file below. The odd thing is your prebuilt version of .23 does NOT have this issue. I assume it is something to do with my setup or libs. My viewer info is:
Code:
Cool VL Viewer v1.26.23.0, 64 bits, May 18 2019 05:21:13
Release Notes

CPU: AMD Athlon(tm) X4 880K Quad Core Processor (3849.96 MHz)
Memory: 32193MB
OS version: Linux-x86_64 v5.0.16-300.fc30.x86_64 #1 SMP Tue May 14 19:33:09 UTC 2019
Memory manager: jemalloc v5.2.0-20190516
Graphics card vendor: NVIDIA Corporation
Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2
OpenGL version: 4.6.0 NVIDIA 430.14
Detected VRAM: 11264MB
J2C decoder: OpenJPEG: 1.4.0.635f
Audio driver: OpenAL v1.1 ALSOFT 1.19.1 (OpenAL Soft: OpenAL Soft)
Networking backend: libcurl/7.47.0 OpenSSL/1.0.2q zlib/1.2.11
Embedded browser: CEF3 plugin v3.3626.1895.g7001d56

Built with: GCC v9.1.1
Compiler-generated maths: AVX.

Compile flags used for this build:
-O3 -fno-delete-null-pointer-checks -fno-align-labels -fno-align-loops -fno-ipa-cp-clone -fsched-pressure -frename-registers -fweb -DNDEBUG -march=native -std=c++11 -pipe -g -gdwarf-2 -gstrict-dwarf -fno-var-tracking-assignments -fexceptions -fno-strict-aliasing -fvisibility=hidden -fsigned-char -m64 -mfpmath=sse -fno-math-errno -fno-trapping-math -pthread -fno-stack-protector -Wall -Wno-reorder -Wno-unused-local-typedefs -Wno-deprecated-declarations -Wno-unused-variable -Wno-placement-new -Wno-parentheses -Werror -DLL_LINUX=1 -D_REENTRANT -D_GLIBCXX_USE_CXX11_ABI=0 -DXML_STATIC -DLL_USE_JEMALLOC=1 -DLL_USE_FIBERS=1 -DLL_ELFBIN=1 -DLL_LUA=1 -DOV_EXCLUDE_STATIC_CALLBACKS -DLL_FMODSTUDIO=1 -DLL_OPENAL=1 -DLL_SDL=1 -DLIB_NDOF=1 -DLL_X11=1
Cheers.


Attachments:
CoolVLViewer.zip [8.78 KiB]
Downloaded 83 times
2019-05-18 18:35:01
Profile

Joined: 2009-03-17 18:42:51
Posts: 4180
Reply with quote
Building the viewer with gcc v9 is untested and, thus, not guaranteed to succeed. Perhaps an issue with the libstdc++ version shipped with gcc v9...

For plugin debugging, you will want to launch the viewer ('cool_vl_viewer' script) from a terminal, because plugins issue debug messages on the standard error output (they don't have access to the viewer log). You will see the CEF error messages there, with likely a library issue.


2019-05-18 18:39:21
Profile WWW

Joined: 2016-06-19 21:33:37
Posts: 146
Location: San Francisco bay area, CA, USA
Reply with quote
Henri Beauchamp wrote:
For plugin debugging, you will want to launch the viewer ('cool_vl_viewer' script) from a terminal, because plugins issue debug messages on the standard error output (they don't have access to the viewer log). You will see the CEF error messages there, with likely a library issue.
I did that and there doesn't appear to be much there 'error-wise' but there is plenty of general debugging info. Checking my dmesg, looks like the SLPlugin segfaults, repeatedly. Like so:
Code:
[69448.637950] SLPlugin[3863]: segfault at 4b6 ip 00007f7b05a521a9 sp 00007ffd58d9d8d0 error 4 in media_plugin_cef.so[7f7b05a3b000+11e000]


2019-05-18 18:56:17
Profile

Joined: 2009-03-17 18:42:51
Posts: 4180
Reply with quote
Perhaps an optimizer bug in gcc 9... Edit linden/indra/cmake/00-Common.cmake and change all occurrences of -O3 for -O2, and then do a clean compile...


2019-05-18 19:15:09
Profile WWW

Joined: 2016-06-19 21:33:37
Posts: 146
Location: San Francisco bay area, CA, USA
Reply with quote
Henri Beauchamp wrote:
Perhaps an optimizer bug in gcc 9... Edit linden/indra/cmake/00-Common.cmake and change all occurrences of -O3 for -O2, and then do a clean compile...
I tried your suggestion and also building with clang 8. Both builds exhibit the same behavior. I'll keep looking around and tinkering (though I have little knowledge). I will either go back to .22 or use your prebuilt .23. I'm certainly not stuck or anything.


2019-05-18 22:03:52
Profile

Joined: 2016-06-19 21:33:37
Posts: 146
Location: San Francisco bay area, CA, USA
Reply with quote
I also built the .22.47 source with gcc 9 (as I have been), and the resulting viewer does not suffer from the issue. It does seem that something is different about the web page viewing capabilities of the .23 branch.


2019-05-18 23:53:12
Profile

Joined: 2009-03-17 18:42:51
Posts: 4180
Reply with quote
ZaneZimer wrote:
I also built the .22.47 source with gcc 9 (as I have been), and the resulting viewer does not suffer from the issue. It does seem that something is different about the web page viewing capabilities of the .23 branch.

No difference but for the API (std library C++11 instead of boost)... I cannot explain your problem, neither reproduce it here, sorry.


2019-05-19 00:11:17
Profile WWW

Joined: 2016-06-19 21:33:37
Posts: 146
Location: San Francisco bay area, CA, USA
Reply with quote
Henri Beauchamp wrote:
No difference but for the API (std library C++11 instead of boost)... I cannot explain your problem, neither reproduce it here, sorry.
I cannot explain it either but I did find mention of a similar issue when building with gcc 9.1.1, producing a regression. GCC 9.1 compiler regression while building Telegram Desktop. I'll keep any eye on that and see if a patch/update for gcc improves the situation.


2019-05-19 14:51:35
Profile

Joined: 2009-03-17 18:42:51
Posts: 4180
Reply with quote
Today, my distro (PCLinuxOS) updated to gcc v9.2 (from gcc v8.3.1) and I could reproduce this issue.

However, I cannot explain it beside a compiler bug: the Dullahan version based on the boost API works just fine, while the one based on the standard C++ API crashes lamentably (the code being otherwise exactly the same in both CEF and the plugin: it's just about using either boost::function and boost::bind, or std::function and std::bind !).

It could be a compiler bug, or a libstdc++ library bug, however I also got the same issue when using clang v8.0.1 (or v8.0.0) as the compiler, including when the C++ standard library was still gcc v8.3.1's one (and gcc v8.3.1 and its library work just fine in this respect)... So, either it's a bug in both gcc v9 and clang v8, or it's something in Dullahan or CEF (but I can't see why the latter two would work just fine with gcc v4.6 to 8.3, VS2013 and VS2017).

In any case, I will change the CEF plugin code to use my good old boost-API Dullahan version when either gcc 9+ or clang are used to compile the viewer.

Note that, for now, I would advise anyone caring about the viewer stability to keep compiling it with gcc v8 or older: gcc v9 and clang got known issues with savage eliminations (bogus "optimizations") of NULL pointer checks and, in gcc v9 case, even with the -fno-delete-null-pointer-checks compiler option in use (an option clang lacks cruelly).


2019-08-14 12:20:45
Profile WWW

Joined: 2016-06-19 21:33:37
Posts: 146
Location: San Francisco bay area, CA, USA
Reply with quote
I'm glad you have been able to see the issue but also lament the fact that you now have the issue. I have been 'cheating' a bit with my builds. I build locally, as usual, but then I pull the media_plugin_cef.so from your release build and copy in to my install folder. That's been working well and I haven't had any issues with crashing or the like. I did see that the link I listed above updated and included a link to a gcc 9 regression that has been fixed (supposedly). It is here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90949. My distro (Fedora) has not pulled and built for that fix, so I can't really say if it fixes this case or not. :?


2019-08-14 12:32:44
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 10 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.