Igalia / chromium

Old repo. See https://crbug.com/578890 instead.
https://chromium.googlesource.com/chromium/src.git
BSD 3-Clause "New" or "Revised" License
115 stars 16 forks source link

Crash on startup on Ubuntu 18.04 #492

Closed newperson1746 closed 5 years ago

newperson1746 commented 5 years ago

Compiled following the instructions to the letter, compilation was successful. Machine is Ubuntu 18.04, logged in with Wayland. The following is the error output from launching chrome:

~/chromium-wayland/browser/src/out/Ozone$ ./chrome --ozone-platform=wayland --in-process-gpu
[2562:2562:1002/214701.673726:ERROR:wayland_connection.cc(65)] No xdg_shell object
[2562:2562:1002/214701.673753:FATAL:ozone_platform_wayland.cc(85)] Failed to initialize Wayland platform
#0 0x55e594c56d87 base::debug::StackTrace::StackTrace()
#1 0x55e594c6bc8c logging::LogMessage::~LogMessage()
#2 0x55e5937516d2 ui::(anonymous namespace)::OzonePlatformWayland::InitializeUI()
#3 0x55e59374e575 ui::OzonePlatform::InitializeForUI()
#4 0x55e595a07680 aura::Env::Init()
#5 0x55e595a0762d aura::Env::CreateInstance()
#6 0x55e593a01070 content::BrowserMainLoop::InitializeToolkit()
#7 0x55e593a01d4e content::BrowserMainRunnerImpl::Initialize()
#8 0x55e5939fac02 content::BrowserMain()
#9 0x55e5949267e9 content::ContentMainRunnerImpl::Run()
#10 0x55e59492536e content::ContentMain()
#11 0x55e5935bd0c1 ChromeMain
#12 0x7f438e08fb97 __libc_start_main
#13 0x55e5935bcf4a _start

Received signal 6
#0 0x55e594c56d87 base::debug::StackTrace::StackTrace()
#1 0x55e594c568ff base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f43927f5890 <unknown>
#3 0x7f438e0ace97 gsignal
#4 0x7f438e0ae801 abort
#5 0x55e594c557e2 base::debug::BreakDebugger()
#6 0x55e594c6bfa8 logging::LogMessage::~LogMessage()
#7 0x55e5937516d2 ui::(anonymous namespace)::OzonePlatformWayland::InitializeUI()
#8 0x55e59374e575 ui::OzonePlatform::InitializeForUI()
#9 0x55e595a07680 aura::Env::Init()
#10 0x55e595a0762d aura::Env::CreateInstance()
#11 0x55e593a01070 content::BrowserMainLoop::InitializeToolkit()
#12 0x55e593a01d4e content::BrowserMainRunnerImpl::Initialize()
#13 0x55e5939fac02 content::BrowserMain()
#14 0x55e5949267e9 content::ContentMainRunnerImpl::Run()
#15 0x55e59492536e content::ContentMain()
#16 0x55e5935bd0c1 ChromeMain
#17 0x7f438e08fb97 __libc_start_main
#18 0x55e5935bcf4a _start
  r8: 0000000000000000  r9: 00007ffd7a696990 r10: 0000000000000008 r11: 0000000000000246
 r12: 00007ffd7a697070 r13: 00000000194840d6 r14: 00007ffd7a697080 r15: 00007f438e9fe0a0
  di: 0000000000000002  si: 00007ffd7a696990  bp: 000015255a304000  bx: 0000000000000000
  dx: 0000000000000000  ax: 0000000000000000  cx: 00007f438e0ace97  sp: 00007ffd7a696990
  ip: 00007f438e0ace97 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.

Machine is up to date as of right now, and I am also using bionic-proposed for some newer packages and the padoka ppa for an updated mesa (I am using a GTX 760 on nouveau)

$ gnome-shell --version
GNOME Shell 3.28.3
$ glxinfo | grep "version string"
OpenGL core profile version string: 4.3 (Core Profile) Mesa 18.3.0-devel - padoka PPA
msisov commented 5 years ago

It says that neither xdg shell v5 nor xdg shell v6 protocols are available.

newperson1746 commented 5 years ago

Hmm, according to https://gitlab.gnome.org/GNOME/mutter/commit/d714a94d97af8b34721236bb8ca6f0e3fd6dc1c9 it seems that at least xdg_shell v6 is available in mutter. Perhaps it isn't exposed in gnome-shell or maybe the code was dropped at some point?

msisov commented 5 years ago

Can you paste a log from a Wayland debug session?

Start chromium with WAYLAND_DEBUG=server ./chromium

newperson1746 commented 5 years ago

Using WAYLAND_DEBUG=server did not produce any additional output, but using WAYLAND_DEBUG=1 did work and give more output.

$ WAYLAND_DEBUG=1 ./chrome --ozone-platform=wayland --in-process-gpu
[412014.103]  -> wl_display@1.get_registry(new id wl_registry@2)
[412014.127]  -> wl_display@1.sync(new id wl_callback@3)
[412014.225] wl_display@1.delete_id(3)
[412014.236] wl_registry@2.global(1, "wl_drm", 2)
[412014.247] wl_registry@2.global(2, "wl_compositor", 4)
[412014.268]  -> wl_registry@2.bind(2, "wl_compositor", 4, new id [unknown]@4)
[412014.301] wl_registry@2.global(3, "wl_shm", 1)
[412014.323]  -> wl_registry@2.bind(3, "wl_shm", 1, new id [unknown]@5)
[412014.356] wl_registry@2.global(4, "wl_output", 2)
[412014.384]  -> wl_registry@2.bind(4, "wl_output", 1, new id [unknown]@6)
[412014.421] wl_registry@2.global(5, "zxdg_output_manager_v1", 1)
[412014.449] wl_registry@2.global(6, "wl_data_device_manager", 3)
[412014.477] wl_registry@2.global(7, "gtk_primary_selection_device_manager", 1)
[412014.539] wl_registry@2.global(8, "wl_subcompositor", 1)
[412014.565] wl_registry@2.global(9, "xdg_wm_base", 1)
[412014.595] wl_registry@2.global(10, "zxdg_shell_v6", 1)
[412014.618] wl_registry@2.global(11, "wl_shell", 1)
[412014.644] wl_registry@2.global(12, "gtk_shell1", 2)
[412014.670] wl_registry@2.global(13, "zwp_pointer_gestures_v1", 1)
[412014.803] wl_registry@2.global(14, "zwp_tablet_manager_v2", 1)
[412014.810] wl_registry@2.global(15, "wl_seat", 5)
[412014.818]  -> wl_registry@2.bind(15, "wl_seat", 4, new id [unknown]@7)
[412014.828] wl_registry@2.global(16, "zwp_relative_pointer_manager_v1", 1)
[412014.835] wl_registry@2.global(17, "zwp_pointer_constraints_v1", 1)
[412014.842] wl_registry@2.global(18, "zxdg_exporter_v1", 1)
[412014.850] wl_registry@2.global(19, "zxdg_importer_v1", 1)
[412014.857] wl_registry@2.global(20, "zwp_linux_dmabuf_v1", 3)
[412014.864] wl_registry@2.global(21, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[412014.871] wl_registry@2.global(22, "gtk_text_input_manager", 1)
[412014.877] wl_callback@3.done(14005)
[18526:18526:1008/220002.928955:ERROR:wayland_connection.cc(65)] No xdg_shell object
[18526:18526:1008/220002.928974:FATAL:ozone_platform_wayland.cc(85)] Failed to initialize Wayland platform
#0 0x56130bbc4d87 base::debug::StackTrace::StackTrace()
#1 0x56130bbd9c8c logging::LogMessage::~LogMessage()
#2 0x56130a6bf6d2 ui::(anonymous namespace)::OzonePlatformWayland::InitializeUI()
#3 0x56130a6bc575 ui::OzonePlatform::InitializeForUI()
#4 0x56130c975680 aura::Env::Init()
#5 0x56130c97562d aura::Env::CreateInstance()
#6 0x56130a96f070 content::BrowserMainLoop::InitializeToolkit()
#7 0x56130a96fd4e content::BrowserMainRunnerImpl::Initialize()
#8 0x56130a968c02 content::BrowserMain()
#9 0x56130b8947e9 content::ContentMainRunnerImpl::Run()
#10 0x56130b89336e content::ContentMain()
#11 0x56130a52b0c1 ChromeMain
#12 0x7f2157ee9b97 __libc_start_main
#13 0x56130a52af4a _start

Received signal 6
#0 0x56130bbc4d87 base::debug::StackTrace::StackTrace()
#1 0x56130bbc48ff base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f215c64f890 <unknown>
#3 0x7f2157f06e97 gsignal
#4 0x7f2157f08801 abort
#5 0x56130bbc37e2 base::debug::BreakDebugger()
#6 0x56130bbd9fa8 logging::LogMessage::~LogMessage()
#7 0x56130a6bf6d2 ui::(anonymous namespace)::OzonePlatformWayland::InitializeUI()
#8 0x56130a6bc575 ui::OzonePlatform::InitializeForUI()
#9 0x56130c975680 aura::Env::Init()
#10 0x56130c97562d aura::Env::CreateInstance()
#11 0x56130a96f070 content::BrowserMainLoop::InitializeToolkit()
#12 0x56130a96fd4e content::BrowserMainRunnerImpl::Initialize()
#13 0x56130a968c02 content::BrowserMain()
#14 0x56130b8947e9 content::ContentMainRunnerImpl::Run()
#15 0x56130b89336e content::ContentMain()
#16 0x56130a52b0c1 ChromeMain
#17 0x7f2157ee9b97 __libc_start_main
#18 0x56130a52af4a _start
  r8: 0000000000000000  r9: 00007ffdacc2aac0 r10: 0000000000000008 r11: 0000000000000246
 r12: 00007ffdacc2b1a0 r13: 00000078fae5483e r14: 00007ffdacc2b1b0 r15: 00007f21588580a0
  di: 0000000000000002  si: 00007ffdacc2aac0  bp: 000004d64aada000  bx: 0000000000000000
  dx: 0000000000000000  ax: 0000000000000000  cx: 00007f2157f06e97  sp: 00007ffdacc2aac0
  ip: 00007f2157f06e97 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.
msisov commented 5 years ago

From the log, it looks like it does not even try to bind to the zxdg_shell_v6 for some reason. Are you able to place LOG(ERROR) << "Interface " << interface << " version " << version; into the beginning of void WaylandConnection::Global() method in the ui/ozone/platform/wayland/wayland_connection.cc file and place the output to here?

newperson1746 commented 5 years ago

Ok, I added the LOG line to the specified location and re-compiled.

$ WAYLAND_DEBUG=1 ./chrome --ozone-platform=wayland --in-process-gpu
[1324811.045]  -> wl_display@1.get_registry(new id wl_registry@2)
[1324811.069]  -> wl_display@1.sync(new id wl_callback@3)
[1324811.184] wl_display@1.delete_id(3)
[1324811.192] wl_registry@2.global(1, "wl_drm", 2)
[19110:19110:1010/215834.417108:ERROR:wayland_connection.cc(150)] Interface wl_drm version 2
[1324811.240] wl_registry@2.global(2, "wl_compositor", 4)
[19110:19110:1010/215834.417135:ERROR:wayland_connection.cc(150)] Interface wl_compositor version 4
[1324811.252]  -> wl_registry@2.bind(2, "wl_compositor", 4, new id [unknown]@4)
[1324811.267] wl_registry@2.global(3, "wl_shm", 1)
[19110:19110:1010/215834.417162:ERROR:wayland_connection.cc(150)] Interface wl_shm version 1
[1324811.277]  -> wl_registry@2.bind(3, "wl_shm", 1, new id [unknown]@5)
[1324811.286] wl_registry@2.global(4, "wl_output", 2)
[19110:19110:1010/215834.417182:ERROR:wayland_connection.cc(150)] Interface wl_output version 2
[1324811.298]  -> wl_registry@2.bind(4, "wl_output", 1, new id [unknown]@6)
[1324811.309] wl_registry@2.global(5, "zxdg_output_manager_v1", 1)
[19110:19110:1010/215834.417204:ERROR:wayland_connection.cc(150)] Interface zxdg_output_manager_v1 version 1
[1324811.320] wl_registry@2.global(6, "wl_data_device_manager", 3)
[19110:19110:1010/215834.417216:ERROR:wayland_connection.cc(150)] Interface wl_data_device_manager version 3
[1324811.330] wl_registry@2.global(7, "gtk_primary_selection_device_manager", 1)
[19110:19110:1010/215834.417225:ERROR:wayland_connection.cc(150)] Interface gtk_primary_selection_device_manager version 1
[1324811.340] wl_registry@2.global(8, "wl_subcompositor", 1)
[19110:19110:1010/215834.417235:ERROR:wayland_connection.cc(150)] Interface wl_subcompositor version 1
[1324811.350] wl_registry@2.global(9, "xdg_wm_base", 1)
[19110:19110:1010/215834.417245:ERROR:wayland_connection.cc(150)] Interface xdg_wm_base version 1
[1324811.359] wl_registry@2.global(10, "zxdg_shell_v6", 1)
[19110:19110:1010/215834.417254:ERROR:wayland_connection.cc(150)] Interface zxdg_shell_v6 version 1
[1324811.368] wl_registry@2.global(11, "wl_shell", 1)
[19110:19110:1010/215834.417263:ERROR:wayland_connection.cc(150)] Interface wl_shell version 1
[1324811.378] wl_registry@2.global(12, "gtk_shell1", 2)
[19110:19110:1010/215834.417273:ERROR:wayland_connection.cc(150)] Interface gtk_shell1 version 2
[1324811.387] wl_registry@2.global(13, "zwp_pointer_gestures_v1", 1)
[19110:19110:1010/215834.417282:ERROR:wayland_connection.cc(150)] Interface zwp_pointer_gestures_v1 version 1
[1324811.397] wl_registry@2.global(14, "zwp_tablet_manager_v2", 1)
[19110:19110:1010/215834.417291:ERROR:wayland_connection.cc(150)] Interface zwp_tablet_manager_v2 version 1
[1324811.406] wl_registry@2.global(15, "wl_seat", 5)
[19110:19110:1010/215834.417301:ERROR:wayland_connection.cc(150)] Interface wl_seat version 5
[1324811.416]  -> wl_registry@2.bind(15, "wl_seat", 4, new id [unknown]@7)
[1324811.427] wl_registry@2.global(16, "zwp_relative_pointer_manager_v1", 1)
[19110:19110:1010/215834.417322:ERROR:wayland_connection.cc(150)] Interface zwp_relative_pointer_manager_v1 version 1
[1324811.437] wl_registry@2.global(17, "zwp_pointer_constraints_v1", 1)
[19110:19110:1010/215834.417333:ERROR:wayland_connection.cc(150)] Interface zwp_pointer_constraints_v1 version 1
[1324811.448] wl_registry@2.global(18, "zxdg_exporter_v1", 1)
[19110:19110:1010/215834.417342:ERROR:wayland_connection.cc(150)] Interface zxdg_exporter_v1 version 1
[1324811.458] wl_registry@2.global(19, "zxdg_importer_v1", 1)
[19110:19110:1010/215834.417354:ERROR:wayland_connection.cc(150)] Interface zxdg_importer_v1 version 1
[1324811.468] wl_registry@2.global(20, "zwp_linux_dmabuf_v1", 3)
[19110:19110:1010/215834.417363:ERROR:wayland_connection.cc(150)] Interface zwp_linux_dmabuf_v1 version 3
[1324811.478] wl_registry@2.global(21, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[19110:19110:1010/215834.417372:ERROR:wayland_connection.cc(150)] Interface zwp_keyboard_shortcuts_inhibit_manager_v1 version 1
[1324811.487] wl_registry@2.global(22, "gtk_text_input_manager", 1)
[19110:19110:1010/215834.417382:ERROR:wayland_connection.cc(150)] Interface gtk_text_input_manager version 1
[1324811.497] wl_callback@3.done(24084)
[19110:19110:1010/215834.417390:ERROR:wayland_connection.cc(65)] No xdg_shell object
[19110:19110:1010/215834.417393:FATAL:ozone_platform_wayland.cc(85)] Failed to initialize Wayland platform
#0 0x55604dc3ae47 base::debug::StackTrace::StackTrace()
#1 0x55604dc4fd4c logging::LogMessage::~LogMessage()
#2 0x55604c7356d2 ui::(anonymous namespace)::OzonePlatformWayland::InitializeUI()
#3 0x55604c732575 ui::OzonePlatform::InitializeForUI()
#4 0x55604e9eb740 aura::Env::Init()
#5 0x55604e9eb6ed aura::Env::CreateInstance()
#6 0x55604c9e5130 content::BrowserMainLoop::InitializeToolkit()
#7 0x55604c9e5e0e content::BrowserMainRunnerImpl::Initialize()
#8 0x55604c9decc2 content::BrowserMain()
#9 0x55604d90a8a9 content::ContentMainRunnerImpl::Run()
#10 0x55604d90942e content::ContentMain()
#11 0x55604c5a10c1 ChromeMain
#12 0x7f7d8f17db97 __libc_start_main
#13 0x55604c5a0f4a _start

Received signal 6
#0 0x55604dc3ae47 base::debug::StackTrace::StackTrace()
#1 0x55604dc3a9bf base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f7d938e3890 <unknown>
#3 0x7f7d8f19ae97 gsignal
#4 0x7f7d8f19c801 abort
#5 0x55604dc398a2 base::debug::BreakDebugger()
#6 0x55604dc50068 logging::LogMessage::~LogMessage()
#7 0x55604c7356d2 ui::(anonymous namespace)::OzonePlatformWayland::InitializeUI()
#8 0x55604c732575 ui::OzonePlatform::InitializeForUI()
#9 0x55604e9eb740 aura::Env::Init()
#10 0x55604e9eb6ed aura::Env::CreateInstance()
#11 0x55604c9e5130 content::BrowserMainLoop::InitializeToolkit()
#12 0x55604c9e5e0e content::BrowserMainRunnerImpl::Initialize()
#13 0x55604c9decc2 content::BrowserMain()
#14 0x55604d90a8a9 content::ContentMainRunnerImpl::Run()
#15 0x55604d90942e content::ContentMain()
#16 0x55604c5a10c1 ChromeMain
#17 0x7f7d8f17db97 __libc_start_main
#18 0x55604c5a0f4a _start
  r8: 0000000000000000  r9: 00007ffdc5d4d0e0 r10: 0000000000000008 r11: 0000000000000246
 r12: 00007ffdc5d4d7c0 r13: 000000a1314db04c r14: 00007ffdc5d4d7d0 r15: 00007f7d8faec0a0
  di: 0000000000000002  si: 00007ffdc5d4d0e0  bp: 00000fe7342e6000  bx: 0000000000000000
  dx: 0000000000000000  ax: 0000000000000000  cx: 00007f7d8f19ae97  sp: 00007ffdc5d4d0e0
  ip: 00007f7d8f19ae97 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.
msisov commented 5 years ago

Ok, it does not bind to the zxdg shell v6 for some reason. Check here https://github.com/Igalia/chromium/blob/ozone-wayland-dev/ui/ozone/platform/wayland/wayland_connection.cc#L397 . Looks like one of the checks is broken.

msisov commented 5 years ago

any news?