Chromium crash in wayland

638 views
Skip to first unread message

binoy...@gmail.com

unread,
Apr 11, 2016, 12:52:58 AM4/11/16
to Ozone-Dev, mbi...@visteon.com
Hi All

Trying to run chromium inside wayland in an intel board based on Linux yocto BSP. So a version of chromium 40.0.2214.91 comes along with the meta-browser is been used.

I have verified weston by running some complex OpenGL application and all works fine. And when tried to launch the chromium, the chromium window just popup and crashed, a log is attached below,

Can anyone could point where could be wrong here? I can see a "wl_display_dispatch failed" message followed with a Chrome Segfault.


[00:00:07.165] weston 1.5.0
http://wayland.freedesktop.org/
Bug reports to:
https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=1.5.0

[00:00:07.166] Using config file '/etc/xdg/weston/weston.ini'
[00:00:07.167] Loading module '/usr/lib/weston/drm-backend.so'
[00:00:07.177] initializing drm backend
[00:00:07.181] using /dev/dri/card0
[00:00:07.181] Loading module '/usr/lib/weston/gl-renderer.so'
[00:00:07.354] warning: EGL_EXT_swap_buffers_with_damage not supported. Performance could be affected.
[00:00:07.355] launching '/usr/lib/weston/weston-keyboard'
[00:00:07.407] input device PixArt USB Optical Mouse, /dev/input/event0 is a pointer caps = relative-motion button
[00:00:07.546] EGL version: 1.4 (DRI2)
[00:00:07.546] EGL vendor: Mesa Project
[00:00:07.546] EGL client APIs: OpenGL OpenGL_ES OpenGL_ES2 OpenGL_ES3
[00:00:07.546] EGL extensions: EGL_MESA_drm_image EGL_MESA_configless_context
EGL_WL_bind_wayland_display EGL_KHR_image_base
EGL_KHR_image_pixmap EGL_KHR_image
EGL_KHR_get_all_proc_addresses EGL_KHR_gl_texture_2D_image
EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image
EGL_KHR_surfaceless_context EGL_KHR_create_context
EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import
EGL_MESA_image_dma_buf_export
[00:00:07.547] GL version: OpenGL ES 3.0 Mesa 10.6.8 (git-91c6302)
[00:00:07.547] GLSL version: OpenGL ES GLSL ES 3.00
[00:00:07.547] GL vendor: Intel Open Source Technology Center
[00:00:07.547] GL renderer: Mesa DRI Intel(R) HD Graphics (Broxton)[00:00:07.547] GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888
GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24
GL_OES_element_index_uint GL_OES_fbo_render_mipmap
GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives
GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_float
GL_OES_texture_float_linear GL_OES_texture_half_float
GL_OES_texture_half_float_linear GL_OES_texture_npot
GL_OES_EGL_image GL_OES_depth_texture
GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV
GL_OES_get_program_binary GL_APPLE_texture_max_level
GL_EXT_discard_framebuffer GL_EXT_read_format_bgra
GL_NV_fbo_color_attachments GL_OES_EGL_image_external
GL_OES_EGL_sync GL_OES_vertex_array_object
GL_ANGLE_texture_compression_dxt3
GL_ANGLE_texture_compression_dxt5 GL_EXT_texture_rg
GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer
GL_EXT_draw_buffers GL_EXT_map_buffer_range
GL_OES_depth_texture_cube_map GL_OES_surfaceless_context
GL_EXT_color_buffer_float GL_EXT_separate_shader_objects
GL_EXT_shader_integer_mix GL_KHR_context_flush_control
[00:00:07.547] GL ES 2 renderer features:
read-back format: BGRA
wl_shm sub-image to texture: yes
EGL Wayland extension: yes
[00:00:07.547] Chosen EGL config details:
RGBA bits: 8 8 8 0
swap interval range: 0 - 0

[00:00:07.569] Loading module '/usr/lib/weston/ivi-shell.so'
[00:00:07.573] ivi-shell: Loading module '/usr/lib/weston/ivi-layout.so'
[00:00:07.575] Loading module '/usr/lib/weston/hmi-controller.so'
[00:00:07.578] ivi-shell uses HDMI1 as a screen.
[00:00:07.578] ivi-shell: screen resolution is (1920,1080).
[00:00:07.578] Compositor capabilities:
arbitrary surface rotation: yes
screen capture uses y-flip: yes
[00:00:07.642] launching '/usr/lib/weston/weston-ivi-shell-user-interface'

sh-4.3# /usr/bin/google-chrome &

57.828949] IPVS: Creating netns size=1304 id=1
[1:1:1220/000056:ERROR:image_metadata_extractor.cc(111)] Couldn't load libexif.
[3137707.495] -> wl_di...@1.get_registry(new id wl_registry@2)
[3137707.606] -> wl_di...@1.sync(new id wl_callback@3)
[3137707.988] wl_di...@1.delete_id(3)
[3137708.103] wl_re...@2.global(1, "wl_display", 1)
[3137708.145] wl_re...@2.global(2, "wl_compositor", 3)
[3137708.180] wl_re...@2.global(3, "wl_subcompositor", 1)
[3137708.212] wl_re...@2.global(4, "wl_scaler", 2)
[3137708.244] wl_re...@2.global(5, "wl_text_input_manager", 1)
[3137708.276] wl_re...@2.global(6, "wl_data_device_manager", 1)
[3137708.307] wl_re...@2.global(7, "wl_shm", 1)
[3137708.344] wl_re...@2.global(8, "wl_drm", 2)
[3137708.377] wl_re...@2.global(9, "wl_seat", 3)
[3137708.409] wl_re...@2.global(10, "wl_input_method", 1)
[3137708.441] wl_re...@2.global(11, "wl_output", 2)
[3137708.566] -> wl_re...@2.bind(11, "wl_output", 1, new id [unknown]@4)
[3137708.634] wl_re...@2.global(12, "wl_input_panel", 1)
[3137708.673] wl_re...@2.global(13, "ivi_application", 1)
[3137708.708] wl_re...@2.global(14, "ivi_hmi_controller", 1)
[3137708.741] wl_ca...@3.done(1)
[3137708.772] -> wl_di...@1.sync(new id wl_callback@3)
[3137709.000] wl_di...@1.delete_id(3)
[3137709.035] wl_o...@4.geometry(0, 0, 260, 140, 0, "CMN", "unknown", 0)
[3
[907:907:1220/000056:ERROR:gpu_info_collector_ozone.cc(11)] Not implemented reached in std::string
gpu::CollectDriverVersionNVidia()
[3137914.907] -> wl_di...@1.get_registry(new id wl_registry@2)
[3137915.071] -> wl_di...@1.sync(new id wl_callback@3)
[3137915.465] wl_di...@1.delete_id(3)
[3137915.570] wl_re...@2.global(1, "wl_display", 1)
[3137915.612] wl_re...@2.global(2, "wl_compositor", 3)
[3137915.655] -> wl_re...@2.bind(2, "wl_compositor", 1, new id [unknown]@4)
[3137915.716] wl_re...@2.global(3, "wl_subcompositor", 1)
[3137915.752] wl_re...@2.global(4, "wl_scaler", 2)
[3137915.784] wl_re...@2.global(5, "wl_text_input_manager", 1)
[3137915.818] -> wl_re...@2.bind(5, "wl_text_input_manager", 1, new id [unknown]@5)
[3137915.861] wl_re...@2.global(6, "wl_data_device_manager", 1)
[3137915.909] wl_re...@2.global(7, "wl_shm", 1)
[3137915.946] -> wl_re...@2.bind(7, "wl_shm", 1, new id [unknown]@6)
[3137916.225] -> wl_...@6.create_pool(new id wl_shm_pool@7, fd 9, 2304)

wl_re...@2.global(12, "wl_input_panel", 1)
wl_re...@2.global(13, "ivi_application", 1)
-> wl_re...@2.bind(13, "ivi_application", 1, new id [unknown]@10)
wl_re...@2.global(14, "ivi_hmi_controller", 1)
wl_ca...@3.done(1)
Native platform type: wayland (environment overwrite)
added egl_dri2 to module array
the best driver is DRI2 (test only)
-> wl_di...@1.get_registry(new id wl_registry@3)
-> wl_di...@1.sync(new id wl_callback@11)
wl_di...@1.delete_id(11)
wl_re...@3.global(1, "wl_display", 1)
wl_re...@3.global(2, "wl_compositor", 3)
wl_re...@3.global(3, "wl_subcompositor", 1)
wl_re...@3.global(4, "wl_scaler", 2)
wl_re...@3.global(5, "wl_text_input_manager", 1)
wl_re...@3.global(6, "wl_data_device_manager", 1)
wl_re...@3.global(7, "wl_shm", 1)
wl_re...@3.global(8, "wl_drm", 2)
-> wl_re...@3.bind(8, "wl_drm", 2, new id [unknown]@12)
wl_re...@3.global(9, "wl_seat", 3)
wl_re...@3.global(10, "wl_input_method", 1)
wl_re...@3.global(11, "wl_output", 2)
wl_re...@3.global(12, "wl_input_panel", 1)
wl_re...@3.global(13, "ivi_application", 1)
wl_re...@3.global(14, "ivi_hmi_controller", 1)
wl_ca...@11.done(1)
-> wl_di...@1.sync(new id wl_callback@11)
wl_di...@1.delete_id(11)
wl_...@12.device("/dev/dri/card0")
-> wl_...@12.authenticate(2)

libGL: Can't open configuration file /etc/drirc: No such file or
directory.[907:907:1220/000056:ERROR:desktop_window_tree_host_ozone.cc(578)] Not implemented reached
in virtual void views::DesktopWindowTreeHostOzone::SetWindowIcons(const gfx::ImageSkia&, const
gfx::ImageSkia&)

libEGL debug: DRI2: dlopen(/usr/lib/dri/i965_dri.so)
libEGL debug: DRI2: found extension `DRI_Core'
libEGL info: DRI2: found extension DRI_Core version 1
libEGL debug: DRI2: found extension `DRI_IMAGE_DRIVER'
libEGL debug: DRI2: found extension `DRI_DRI2'
libEGL info: DRI2: found extension DRI_DRI2 version 4
libEGL debug: DRI2: found extension `DRI_DriverVtable'
libEGL debug: DRI2: found extension `DRI_ConfigOptions'
[907:907:1220/000057:ERROR:desktop_drag_drop_client_wayland.cc(14)] Not implemented reached in
views::DesktopDragDropClientWayland::DesktopDragDropClientWayland(aura::Window*)
[907:907:1220/000057:ERROR:desktop_window_tree_host_ozone.cc(599)] Not implemented reached in virtual
void views::DesktopWindowTreeHostOzone::OnRootViewLayout()
[907:907:1220/000057:ERROR:ozone_webui.cc(48)] Not implemented reached in virtual
scoped_ptr<gfx::ScopedPangoFontDescription> views::OzoneWebUI::GetDefaultPangoFontDescription() const
[907:907:1220/000057:ERROR:ozone_webui.cc(42)] Not implemented reached in virtual
gfx::FontRenderParams views::OzoneWebUI::GetDefaultFontRenderParams() const[907:907:1220/000057:ERROR:ozone_webui.cc(53)] Not implemented reached in virtual double
views::OzoneWebUI::GetFontDPI() const

libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file //.drirc: No such file or directory.
libEGL debug: DRI2: found extension `DRI_TexBuffer'
libEGL info: DRI2: found extension DRI_TexBuffer version 3
libEGL debug: DRI2: found extension `DRI2_Fence'
libEGL debug: DRI2: found extension `DRI2_Flush'
libEGL info: DRI2: found extension DRI2_Flush version 4
libEGL debug: DRI2: found extension `DRI_IMAGE'
libEGL info: DRI2: found extension DRI_IMAGE version 11
libEGL debug: DRI2: found extension `DRI_RENDERER_QUERY'
libEGL debug: DRI2: found extension `DRI_CONFIG_QUERY'
libEGL debug: DRI2: found extension `DRI_Robustness'
libEGL debug: the best driver is DRI2
Mesa warning: couldn't open libtxc_dxtn.so, software DXTn compression/decompression unavailable

[3138901.253] wl_o...@9.mode(0, 640, 480, 59940)[3139085.652] -> wl_...@12.create_prime_buffer(new id wl_buffer@16, fd 31, 945, 1060, 875713089, 0,
4096, 0, 0, 0, 0)
[3139085.868] -> wl_su...@11.attach(wl_buffer@16, 0, 0)
[3139085.912] -> wl_su...@11.damage(0, 0, 2147483647, 2147483647)
[3139118.135] -> wl_su...@11.commit()
[3139118.212] -> wl_di...@1.sync(new id wl_callback@17)
[3139118.893] wl_di...@1.delete_id(17)


[3139293.049] wl_po...@15.leave(12, wl_surface@11)
[3139293.189] wl_po...@15.enter(13, wl_surface@11, 253.351562, 270.406250)
[3139319.318] wl_b...@16.release()
[3139319.418] wl_ca...@18.done(11)
[3139320.536] -> wl_su...@11.attach(wl_buffer@16, 0, 0)
[3139320.622] -> wl_su...@11.damage(0, 0, 2147483647, 2147483647)
[3139320.946] -> wl_su...@11.commit()
[3139321.029] -> wl_di...@1.sync(new id wl_callback@18)
[3139321.569] wl_di...@1.delete_id(18)
[3139326.114] wl_po...@15.leave(14, wl_surface@11)
[3139326.266] wl_po...@15.enter(15, wl_surface@11, 225.535156, 240.363281)
[3139356.693] wl_b...@17.release()
[3139356.768] wl_ca...@18.done(13)
[3139357.919] -> wl_su...@11.attach(wl_buffer@17, 0, 0)
[3139358.040] -> wl_su...@11.damage(0, 0, 2147483647, 2147483647)
[3139358.318] -> wl_su...@11.commit()
[3139358.350] -> wl_di...@1.sync(new id wl_callback@18)
[3139359.635] wl_di...@1.delete_id(18)
[3139359.713] wl_po...@15.leave(16, wl_surface@11)
[3139359.801] wl_po...@15.enter(17, wl_surface@11, 208.609375, 222.687500)
[3139393.095] wl_po...@15.leave(18, wl_surface@11)
[3139393.255] wl_po...@15.enter(19, wl_surface@11, 199.789[59.802407]

chrome[937]: segfault at 0 ip 0000563363ef3b12 sp 00007ffc4b869ac0 error 4062, 212.851562)

[3139395.478] wl_b...@16.release()
[3139395.566] wl_ca...@18.done(15)
[3139396.710] -> wl_surface@11.a in chrome[5633626c0000+6372000]ttach(wl_buffer@16, 0, 0)
[3139396.801] -> wl_su...@11.damage(0, 0, 2147483647, 2147483647)
[3139397.130] -> wl_su...@11.commit()
[3139397.166] -> wl_di...@1.sync(new id wl_callback@18)
[3139398.469] wl_di...@1.delete_id(18)

[907:908:1220/000058:ERROR:ozone_webui.cc(42)] Not implemented reached in virtual
gfx::FontRenderParams views::OzoneWebUI::GetDefaultFontRenderParams() const
[907:908:1220/000058:ERROR:ozone_webui.cc(42)] Not implemented reached in virtual
gfx::FontRenderParams views::OzoneWebUI::GetDefaultFontRenderParams() const
message too short, object (13), message warning(i?s)

[937:962:1220/000058:ERROR:display_poll_thread.cc(98)] wl_display_dispatch failed with an error.22

[907:908:1220/000058:ERROR:ozone_webui.cc(42)] Not implemented reached in virtual
gfx::FontRenderParams views::OzoneWebUI::GetDefaultFontRenderParams() const

libEGL debug: EGL user error 0x3003 (EGL_BAD_ALLOC) in failed to allocate color buffer
libEGL debug: EGL user error 0x3003 (EGL_BAD_ALLOC) in dri2_swap_buffers

[937:937:1220/000058:ERROR:gles2_cmd_decoder.cc(9602)] Context lost because SwapBuffers failed.
[937:937:1220/000058:ERROR:gles2_cmd_decoder.cc(3952)] Error: 5 for Command kSwapBuffers

[3139481.086] -> wl_b...@17.destroy()
[3139481.194] -> wl_b...@16.destroy()
[3139481.244] -> ivi_s...@13.destroy()
[3139481.292] -> wl_su...@11.destroy()
[907:907:1220/000058:ERROR:command_buffer_proxy_impl.cc(150)] Could not send
GpuCommandBufferMsg_Initialize.
[907:907:1220/000058:ERROR:webgraphicscontext3d_command_buffer_impl.cc(213)]
CommandBufferProxy::Initialize failed.
[907:907:1220/000058:ERROR:webgraphicscontext3d_command_buffer_impl.cc(230)] Failed to initialize
command buffer.

[3139610.348] -> wl_di...@1.get_registry(new id wl_registry@2)
[3139610.451] -> wl_di...@1.sync(new id wl_callback@3)
[3139614.644] wl_di...@1.delete_id(3)
[3139614.745] wl_re...@2.global(1, "wl_display", 1)
[3139614.786] wl_re...@2.global(2, "wl_compositor", 3)
[3139614.828] -> wl_re...@2.bind(2, "wl_compositor", 1, new id [unknown]@4)
[3139614.888] wl_re...@2.global(3, "wl_subcompositor", 1)
[3139614.924] wl_re...@2.global(4, "wl_scaler", 2)
[3139614.956] wl_re...@2.global(5, "wl_text_input_manager", 1)

libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file //.drirc: No such file or directory.
libEGL debug: pci id for fd 9: 8086:5a84, driver i965

LIBGL:

debug: DRI2: dlopen(/usr/lib/dri/i965_dri.so)
debug: DRI2: found extension `DRI_Core'
info: DRI2: found extension DRI_Core version 1
debug: DRI2: found extension `DRI_IMAGE_DRIVER'
debug: DRI2: found extension `DRI_DRI2'
info: DRI2: found extension DRI_DRI2 version 4
debug: DRI2: found extension `DRI_DriverVtable'
debug: DRI2: found extension `DRI_ConfigOptions'
Can't open configuration file /etc/drirc: No such file or directory.
Can't open configuration file //.drirc: No such file or directory.
debug: DRI2: found extension `DRI_TexBuffer'
info: DRI2: found extension DRI_TexBuffer version 3
debug: DRI2: found extension `DRI2_Fence'
debug: DRI2: found extension `DRI2_Flush'
info: DRI2: found extension DRI2_Flush version 4

libEGL debug: DRI2: found extension `DRI2_Flush'
libEGL info: DRI2: found e[60.506065]
chrome[998]: segfault at 0 ip 000055aafdc69b12 sp00007fff7c071510 error 4xtension DRI2_Flush version 4

libEGL debug: DRI2: found extensi in chrome[55aafc436000+6372000]on `DRI_IMAGE'
libEGL info: DRI2: found extension DRI_IMAGE version 11
libEGL debug: DRI2: found extension `DRI_RENDERER_QUERY'
libEGL debug: DRI2: found extension `DRI_CONFIG_QUERY'
libEGL debug: DRI2: found extension `DRI_Robustness'
libEGL debug: the best driver is DRI2


libEGL debug: DRI2: found extension `DRI_IMAGE'
libEGL info: DRI2: found extension DRI_IMAGE version 11
libEGL debug: DRI2: found extension `DRI_RENDERER_QUERY'
libEGL debug: DRI2: found extension `DRI_CONFIG_QUERY'
libEGL debug: DRI2: found extension `DRI_Robustness'
libEGL debug: the best driver is DRI2
Mesa warning: couldn't open libtxc_dxtn.so, software DXTn compression/decompression unavailable
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file //.drirc: No such file or directory.
Mesa warning: couldn't open libtxc_dxtn.so, software DXTn compression/decompression unavailable
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file //.drirc: No such file or directory.
[907:907:1220/000059:ERROR:command_buffer_proxy_impl.cc(150)] Could not send
GpuCommandBufferMsg_Initialize.
[907:907:1220/000059:ERROR:webgraphicscontext3d_command_buffer_impl.cc(213)]
CommandBufferProxy::Initialize failed.
[907:907:1220/000059:ERROR:webgraphicscontext3d_command_buffer_impl.cc(230)] Failed to initialize
command buffer.


Mesa warning: couldn't open libtxc_dxtn.so, software DXTn compression/decompression unavailable
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file //.drirc: No such file or directory.
Mesa warning: couldn't open libtxc_dxtn.so, software DXTn compression/decompression unavailable
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file //.drirc: No such file or directory.
[907:907:1220/000100:ERROR:surface_factory_ozone.cc(53)] Not implemented reached in virtual
scoped_ptr<ui::SurfaceOzoneCanvas>
ui::SurfaceFactoryOzone::CreateCanvasForWidget(gfx::AcceleratedWidget)
[907:907:1220/000100:FATAL:software_output_device_ozone.cc(22)] Failed to initialize canvas
/usr/bin/google-chrome: lin12 907 Aborted /usr/bin/chromium/chrome

Robert Kroeger

unread,
Apr 11, 2016, 8:46:55 PM4/11/16
to binoy...@gmail.com, Ozone-Dev, mbi...@visteon.com
Why don't you try chrome wayland support from ToT?  40 is old. Chrome Wayland remains in-progress and has changed significantly.

Rob.


binoy...@gmail.com

unread,
Apr 15, 2016, 3:49:07 AM4/15/16
to Ozone-Dev, binoy...@gmail.com, mbi...@visteon.com
Thanks Robert,

I was able to follow and build https://github.com/01org/ozone-wayland and run this in Linux desktop weston, i guess the same should be cross compiled for the Intel drivers, to get the latest changes (also seen chromium 50 is with wayland support already, may be this could be another choice here).

And Currently with the meta-browser 40 version, i am able to see chromium launching under wayland but stops immediately with a wayland dispatch failed method, not sure if i miss any relevant patch to add,

i have taken the patches as indicated in the below
https://github.com/OSSystems/meta-browser/blob/master/recipes-browser/chromium/chromium_40.0.2214.91.bb

and the GYP_DEFINE defined here
target_arch=x64 use_ash=1 use_aura=1 chromeos=0 use_ozone=1 use_xkbcommon=1 proprietary_codecs=1 ffmpeg_branding=Chrome

to run the chromium using --use-gl=egl flag,
not sure if i miss to specify the ozone platform, is it required?






Reply all
Reply to author
Forward
0 new messages