windowless ceftests in debug mode fail in docker (xvfb-run)
Posted: Wed Jul 28, 2021 9:10 am
Hi,
with the latest CEF version: https://cef-builds.spotifycdn.com/cef_b ... 64.tar.bz2
when compiled in debug mode the ceftests fail when they run in a docker container in windowless mode. The release compiled version works.
Steps to reproduce:
1) Create a docker container (eg. Ubuntu 20.04) with all the required dependencies and compile CEF inside docker in Debug mode
2) Install xvfb-run
3) From the build folder:
The result is:
The gdb stacktrace is:
An older CEF version fails as well (for instance: 87.1.11+g8bb7705+chromium-87.0.4280.66) but was working fine with a different Docker image based on Ubuntu 18.04.
with the latest CEF version: https://cef-builds.spotifycdn.com/cef_b ... 64.tar.bz2
when compiled in debug mode the ceftests fail when they run in a docker container in windowless mode. The release compiled version works.
Steps to reproduce:
1) Create a docker container (eg. Ubuntu 20.04) with all the required dependencies and compile CEF inside docker in Debug mode
2) Install xvfb-run
3) From the build folder:
- Code: Select all
cd tests/ceftests/Debug/
/usr/bin/xvfb-run -a --server-args='-screen 0, 1024x768x24' ./ceftests --gtest_filter=OSRTest.Windowless* --no-sandbox --off-screen-rendering-enabled
The result is:
- Code: Select all
[0728/140607.760331:WARNING:task_impl.cc(19)] No task runner for threadId 0
[0728/140607.760490:WARNING:task_impl.cc(19)] No task runner for threadId 5
[0728/140607.863756:ERROR:power_monitor_device_source_stub.cc(11)] Not implemented reached in virtual bool base::PowerMonitorDeviceSource::IsOnBatteryPower()
[0728/140607.865064:INFO:content_main_runner_impl.cc(1078)] Chrome is running in full browser mode.
[0728/140607.953811:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is swiftshader
Note: Google Test filter = OSRTest.Windowless*
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from OSRTest
[ RUN ] OSRTest.Windowless
[ OK ] OSRTest.Windowless (78 ms)
[ RUN ] OSRTest.Windowless2x
[0728/140608.070550:FATAL:process_linux.cc(143)] Check failed: result == 0. : Permission denied (13)
Trace/breakpoint trap (core dumped)
The gdb stacktrace is:
- Code: Select all
Core was generated by `./ceftests --gtest_filter=OSRTest.Windowless* --no-sandbox --off-screen-renderi'.
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0 0x00007f7fa31aeec3 in operator() () at ../../base/logging.cc:886
886 ../../base/logging.cc: No such file or directory.
[Current thread is 1 (Thread 0x7f7f6effd700 (LWP 7801))]
(gdb) bt
#0 0x00007f7fa31aeec3 in operator() () at ../../base/logging.cc:886
#1 ~LogMessage() () at ../../base/logging.cc:886
#2 0x00007f7fa31af3ca in ~ErrnoLogMessage() () at ../../base/logging.cc:1030
#3 0x00007f7fa31af3ee in logging::ErrnoLogMessage::~ErrnoLogMessage() () at ../../base/logging.cc:1024
#4 0x00007f7fa328106e in SetProcessBackgrounded() () at ../../base/process/process_linux.cc:143
#5 0x00007f7fa0763ba4 in content::internal::ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread(base::Process, content::ChildProcessLauncherPriority const&) ()
at ../../content/browser/child_process_launcher_helper_linux.cc:158
#6 0x00007f7fa016e96c in Invoke<void (content::internal::ChildProcessLauncherHelper::*)(base::Process, content::ChildProcessLauncherPriority const&), scoped_refptr<content::internal::ChildProcessLauncherHelper>, base::Process, content::ChildProcessLauncherPriority> () at ../../base/bind_internal.h:509
#7 MakeItSo<void (content::internal::ChildProcessLauncherHelper::*)(base::Process, content::ChildProcessLauncherPriority const&), scoped_refptr<content::internal::ChildProcessLauncherHelper>, base::Process, content::ChildProcessLauncherPriority> () at ../../base/bind_internal.h:648
#8 RunImpl<void (content::internal::ChildProcessLauncherHelper::*)(base::Process, content::ChildProcessLauncherPriority const&), std::tuple<scoped_refptr<content::internal::ChildProcessLauncherHelper>, base::Process, content::ChildProcessLauncherPriority>, 0, 1, 2> () at ../../base/bind_internal.h:721
#9 RunOnce() () at ../../base/bind_internal.h:690
#10 0x00007f7fa320422c in Run () at ../../base/callback.h:101
#11 RunTask() () at ../../base/task/common/task_annotator.cc:173
#12 0x00007f7fa3237c87 in base::internal::TaskTracker::RunBlockShutdown(base::internal::Task*) () at ../../base/task/thread_pool/task_tracker.cc:668
#13 0x00007f7fa3237482 in RunTaskWithShutdownBehavior () at ../../base/task/thread_pool/task_tracker.cc:682
#14 RunTask() () at ../../base/task/thread_pool/task_tracker.cc:525
#15 0x00007f7fa32787c7 in RunTask() () at ../../base/task/thread_pool/task_tracker_posix.cc:22
#16 0x00007f7fa3236e16 in RunAndPopNextTask() () at ../../base/task/thread_pool/task_tracker.cc:432
#17 0x00007f7fa3241581 in RunWorker() () at ../../base/task/thread_pool/worker_thread.cc:330
#18 0x00007f7fa324120d in base::internal::WorkerThread::RunDedicatedWorker() () at ../../base/task/thread_pool/worker_thread.cc:244
#19 0x00007f7fa32791fe in ThreadFunc() () at ../../base/threading/platform_thread_posix.cc:87
#20 0x00007f7f9c288609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#21 0x00007f7f9c1af293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
An older CEF version fails as well (for instance: 87.1.11+g8bb7705+chromium-87.0.4280.66) but was working fine with a different Docker image based on Ubuntu 18.04.