New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 841528 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

CrOS on Linux on Chrome Remote Desktop CHECK failure when invoked remotely

Project Member Reported by michae...@chromium.org, May 9 2018

Issue description

Tip of tree CrOS on Linux (ie, building with chromeos = 1) fails to launch over Remote Desktop:

DISPLAY=:20 ./out_cros/rel/chrome --user-data-dir=/tmp/foo

[163152:163180:0509/135209.141466:ERROR:account_manager.cc(37)] Failed to read tokens file
[163152:163180:0509/135209.249706:ERROR:component_loader.cc(92)] Can't load /usr/local/<redacted>/src/out_cros/rel/resources/chromeos/zip_archiver/manifest.json: Manifest file is missing or unreadable
[163191:163191:0509/135212.255320:ERROR:gl_context_glx.cc(187)] Failed to create GL context with glXCreateNewContext.
[163191:163191:0509/135212.255364:ERROR:gpu_info_collector.cc(58)] gl::init::CreateGLContext failed
[163191:163191:0509/135212.255380:ERROR:gpu_info_collector.cc(153)] Could not create context for info collection.
[163191:163191:0509/135212.255404:ERROR:gpu_init.cc(50)] gpu::CollectGraphicsInfo failed.
[163191:163191:0509/135212.265472:ERROR:viz_main_impl.cc(201)] Exiting GPU process due to errors during initialization
[163152:163152:0509/135215.533213:FATAL:gpu_process_transport_factory.cc(462)] Check failed: use_gpu_compositing.
#0 0x7f53a3ca140c base::debug::StackTrace::StackTrace()
#1 0x7f53a3be928b logging::LogMessage::~LogMessage()
#2 0x7f53a129ccc3 content::GpuProcessTransportFactory::EstablishedGpuChannel()
#3 0x7f53a129fcde _ZN4base8internal13FunctorTraitsIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEvE6InvokeISD_NS4_IS3_EEJS7_bSB_EEEvT_OT0_DpOT1_
#4 0x7f53a0ed6a65 content::BrowserGpuChannelHostFactory::EstablishRequest::RunCallbacksOnMain()
#5 0x7f53a096c21e _ZN4base8internal7InvokerINS0_9BindStateIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEJ13scoped_refptrIS5_EEEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#6 0x7f53a3bcb775 base::debug::TaskAnnotator::RunTask()
#7 0x7f53a3bf5ae9 base::internal::IncomingTaskQueue::RunTask()
#8 0x7f53a3bf8fdb base::MessageLoop::RunTask()
#9 0x7f53a3bf936a base::MessageLoop::DeferOrRunPendingTask()
#10 0x7f53a3bf95cc base::MessageLoop::DoWork()
#11 0x7f53a3cb6fc9 base::MessagePumpLibevent::Run()
#12 0x7f53a3bf89c4 base::MessageLoop::Run()
#13 0x7f53a3c2b429 base::RunLoop::Run()
#14 0x55e8de341377 ChromeBrowserMainParts::MainMessageLoopRun()
#15 0x7f53a0d48ba7 content::BrowserMainLoop::RunMainMessageLoopParts()
#16 0x7f53a0d4b5e6 content::BrowserMainRunnerImpl::Run()
#17 0x7f53a0d45029 content::BrowserMain()
#18 0x7f53a172711d content::ContentMainRunnerImpl::Run()
#19 0x7f53a41189c2 service_manager::Main()
#20 0x7f53a1724cf4 content::ContentMain()
#21 0x55e8dd7bc113 ChromeMain
#22 0x7f53961a12b1 __libc_start_main
#23 0x55e8dd7bbf8a _start

Received signal 6
#0 0x7f53a3ca140c base::debug::StackTrace::StackTrace()
#1 0x7f53a3ca0f01 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f53a3d620c0 <unknown>
#3 0x7f53961b3fcf gsignal
#4 0x7f53961b53fa abort
#5 0x7f53a3c9fd95 base::debug::BreakDebugger()
#6 0x7f53a3be9646 logging::LogMessage::~LogMessage()
#7 0x7f53a129ccc3 content::GpuProcessTransportFactory::EstablishedGpuChannel()
#8 0x7f53a129fcde _ZN4base8internal13FunctorTraitsIMN7content26GpuProcessTransportFactoryEFvNS_7WeakPtrIN2ui10CompositorEEEb13scoped_refptrIN3gpu14GpuChannelHostEEEvE6InvokeISD_NS4_IS3_EEJS7_bSB_EEEvT_OT0_DpOT1_
#9 0x7f53a0ed6a65 content::BrowserGpuChannelHostFactory::EstablishRequest::RunCallbacksOnMain()
#10 0x7f53a096c21e _ZN4base8internal7InvokerINS0_9BindStateIMN7content28ServiceManagerConnectionImpl15IOThreadContextEFvvEJ13scoped_refptrIS5_EEEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#11 0x7f53a3bcb775 base::debug::TaskAnnotator::RunTask()
#12 0x7f53a3bf5ae9 base::internal::IncomingTaskQueue::RunTask()
#13 0x7f53a3bf8fdb base::MessageLoop::RunTask()
#14 0x7f53a3bf936a base::MessageLoop::DeferOrRunPendingTask()
#15 0x7f53a3bf95cc base::MessageLoop::DoWork()
#16 0x7f53a3cb6fc9 base::MessagePumpLibevent::Run()
#17 0x7f53a3bf89c4 base::MessageLoop::Run()
#18 0x7f53a3c2b429 base::RunLoop::Run()
#19 0x55e8de341377 ChromeBrowserMainParts::MainMessageLoopRun()
#20 0x7f53a0d48ba7 content::BrowserMainLoop::RunMainMessageLoopParts()
#21 0x7f53a0d4b5e6 content::BrowserMainRunnerImpl::Run()
#22 0x7f53a0d45029 content::BrowserMain()
#23 0x7f53a172711d content::ContentMainRunnerImpl::Run()
#24 0x7f53a41189c2 service_manager::Main()
#25 0x7f53a1724cf4 content::ContentMain()
#26 0x55e8dd7bc113 ChromeMain
#27 0x7f53961a12b1 __libc_start_main
#28 0x55e8dd7bbf8a _start
  r8: 0000000000000000  r9: 00007fff8e4073a0 r10: 0000000000000008 r11: 0000000000000246
 r12: 00007fff8e407ab0 r13: 00007fff8e407aa0 r14: 00007fff8e407aa8 r15: 00007fff8e407a41
  di: 0000000000000002  si: 00007fff8e4073a0  bp: 00007fff8e4075e0  bx: 0000000000000006
  dx: 0000000000000000  ax: 0000000000000000  cx: 00007f53961b3fcf  sp: 00007fff8e407418
  ip: 00007f53961b3fcf efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.
(


Using --disable-gpu still crashes.
 
Try with --use-gl=egl. CRD uses Xvfb internally (from what I understand) and GLX doesn't work with Xvfb.
Summary: CrOS on Linux on Chrome Remote Desktop CHECK failure when invoked remotely (was: CrOS on Linux on Chrome Remote Desktop CHECK failure)
That gives the same failure with some different logs:

[175969:175969:0509/143720.837556:ERROR:gl_surface_egl.cc(848)] EGL display query failed with error EGL_SUCCESS
[175969:175969:0509/143720.837605:ERROR:gl_surface_egl.cc(862)] eglInitialize Default failed with error EGL_BAD_DISPLAY
[175969:175969:0509/143720.837627:ERROR:gl_ozone_egl.cc(20)] GLSurfaceEGL::InitializeOneOff failed.
[175969:175969:0509/143720.841914:ERROR:viz_main_impl.cc(201)] Exiting GPU process due to errors during initialization               
[175915:175946:0509/143720.845035:ERROR:service_manager_context.cc(250)] Attempting to run unsupported native service: /usr/local/goo
gle/home/michaelpg/dev/c/tot/src/out_cros/rel/content_gpu.service                              
[175915:175915:0509/143724.121779:FATAL:gpu_process_transport_factory.cc(462)] Check failed: use_gpu_compositing.                    

Note that both these issues were actually running the command over SSH, using the DISPLAY environmental variable to target the CRD session.

When run directly from a terminal inside the CRD session, Chrome launches as expected. It's just that I can't launch Chrome from outside the session. Maybe that's always been the case?
I think that's always been the case. I know CRD sets LD_LIBRARY_PATH and probably other things.

https://cs.chromium.org/chromium/src/remoting/host/linux/linux_me2me_host.py?l=445&rcl=862b08d7cb2966694416f57aa17285d84c5b12ed
Yes, there is no server-side glx with xvfb, so this is something that never worked.

However you can do client-side glx with mesa buit with llvmpipe and client-side glx enabled, and LD_PRELOAD. I have old ones there:
https://marcheu.users.x20web.corp.google.com/www/libGL/

We can always make a new one if that'd help.
Owner: marc...@chromium.org
Status: Assigned (was: Untriaged)
Hmm, can you expand on what's the request here? I can make a new libgl for rodete that should work with LD_PRELOAD to workaround it, but this bug can't really be fixed.
Cc: lucmult@chromium.org
This issue makes working from home impossible for me, since I can't start Chrome/ChromeOS in my local dev env. :-(

Sign in to add a comment