[WebRender] Crash on Wayland when adding/removing external monitor

RESOLVED FIXED in Firefox 68

Status

()

defect
P2
normal
RESOLVED FIXED
6 months ago
2 days ago

People

(Reporter: petcuandrei, Assigned: stransky)

Tracking

(Blocks 1 bug)

66 Branch
mozilla68
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox65 wontfix, firefox66 wontfix, firefox67 disabled, firefox68 fixed)

Details

(crash signature)

Attachments

(1 attachment)

Reporter

Description

6 months ago
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:66.0) Gecko/20100101 Firefox/66.0

Steps to reproduce:

GDK_BACKEND=wayland /path/to/firefox/nightly
add or remove an external monitor


Actual results:

I get this crash https://crash-stats.mozilla.org/report/index/fbf0bd31-a5d8-4389-bacf-cdea00190101


Expected results:

no crash
Reporter

Comment 1

6 months ago
I use Fedora 29 with Gnome shell
Reporter

Updated

6 months ago
Blocks: wayland
Reporter

Updated

6 months ago
Component: Untriaged → Graphics
Product: Firefox → Core
Crash Signature: [@ libwayland-client.so.0.3.0@0xa104]
Reporter

Comment 2

6 months ago
Just to be clear: by default this crash does not happen. Wayland is not on by default in v66. I had to opt into the new wayland backend to reproduce the issue.
I can reproduce the crash on Weston. Different (even less helpful?) backtrace though:

(lldb) bt
* thread #1, name = 'Chrome_ChildThread', stop reason = signal SIGSEGV
  * frame #0: 0x000000080536843c libxul.so`mozilla::ipc::MessageChannel::OnChannelErrorFromLink(this=0x0000000809c8b0b8) at MessageChannel.cpp:2527
    frame #1: 0x0000000805369ab0 libxul.so`non-virtual thunk to mozilla::ipc::ProcessLink::OnChannelError() [inlined] mozilla::ipc::ProcessLink::OnChannelError() at MessageLink.cpp:348
    frame #2: 0x0000000805369a87 libxul.so`non-virtual thunk to mozilla::ipc::ProcessLink::OnChannelError(this=0x0000000809dfe460) at MessageLink.cpp:0
    frame #3: 0x00000008037b281d libevent-2.1.so.6`___lldb_unnamed_symbol63$$libevent-2.1.so.6 + 1373
    frame #4: 0x00000008037ae76f libevent-2.1.so.6`event_base_loop + 1311
    frame #5: 0x000000080533f156 libxul.so`base::MessagePumpLibevent::Run(this=0x0000000809c55000, delegate=0x00007fffdfffce40) at message_pump_libevent.cc:0
    frame #6: 0x000000080533dc6a libxul.so`MessageLoop::Run() [inlined] MessageLoop::RunInternal(this=<unavailable>) at message_loop.cc:314
    frame #7: 0x000000080533dc5e libxul.so`MessageLoop::Run() [inlined] MessageLoop::RunHandler(this=<unavailable>) at message_loop.cc:307
    frame #8: 0x000000080533dc5e libxul.so`MessageLoop::Run(this=<unavailable>) at message_loop.cc:289
    frame #9: 0x00000008053466bf libxul.so`base::Thread::ThreadMain(this=0x000000080165be60) at thread.cc:192
    frame #10: 0x000000080534327a libxul.so`ThreadFunc(closure=<unavailable>) at platform_thread_posix.cc:40
    frame #11: 0x00000008011e0756 libthr.so.3`thread_start(curthread=0x0000000801638400) at thr_create.c:291
(lldb) fr sel 0
frame #0: 0x000000080536843c libxul.so`mozilla::ipc::MessageChannel::OnChannelErrorFromLink(this=0x0000000809c8b0b8) at MessageChannel.cpp:2527
   2524
   2525   if (ChannelClosing != mChannelState) {
   2526     if (mAbortOnError) {
-> 2527       MOZ_CRASH("Aborting on channel error.");
   2528     }
   2529     mChannelState = ChannelError;
   2530     mMonitor->Notify();

But it does not crash when a debugger (lldb) is attached (!), just prints these:

…
###!!! [Parent][RunMessage] Error: Channel error: cannot send/recv

###!!! [Parent][RunMessage] Error: Channel error: cannot send/recv

###!!! [Parent][MessageChannel] Error: (msgtype=0x2000C,name=PAPZ::Msg_Destroy) Channel error: cannot send/recv
Reporter

Comment 4

6 months ago
Does it help if I reproduce the crash with ASAN? I can try.
hm, with a new experimental compositor launching setup (consolekit2 running weston) I'm actually seeing the same "channel error" without any monitor hotplugging, just spontaneously all the time, interesting
Component: Graphics → Widget: Gtk
Priority: -- → P3
Sorry, disregard comment #5, that was an unrelated issue, XDG_RUNTIME_DIR ended up on ZFS which doesn't support posix_fallocate.

With MOZ_NO_REMOTE=1 I got the same stack trace as OP. Though only once. I tried to replicate with debug versions of GTK and libwayland installed, but the crash didn't happen again (even after reinstalling the optimized/stripped versions of these libraries again). I'll try restarting the compositor (or the whole system).
err, that actually happened in multi-process mode, MOZ_NO_REMOTE doesn't seem to actually turn it off

Adding more crash signatures for crashes with the same stack traces. Note that there's more crashes with libwayland-client.so.0.3 in their signature but they're unrelated, the stacks are completely different.

Crash Signature: [@ libwayland-client.so.0.3.0@0xa104] → [@ libwayland-client.so.0.3.0@0x9bd0] [@ libwayland-client.so.0.3.0@0x9c34] [@ libwayland-client.so.0.3.0@0xa104]

I'm also seeing this; adding my crash signature to the mix. :-)

Crash Signature: [@ libwayland-client.so.0.3.0@0x9bd0] [@ libwayland-client.so.0.3.0@0x9c34] [@ libwayland-client.so.0.3.0@0xa104] → [@ libwayland-client.so.0.3.0@0x9bd0] [@ libwayland-client.so.0.3.0@0x9c34] [@ libwayland-client.so.0.3.0@0xa104] [@ libwayland-client.so.0.3.0@0xac40]
Assignee

Comment 10

4 months ago

Half of the crashes are from _fini which looks like they happens on browser exit.

Duplicate of this bug: 1532332
Crash Signature: [@ libwayland-client.so.0.3.0@0x9bd0] [@ libwayland-client.so.0.3.0@0x9c34] [@ libwayland-client.so.0.3.0@0xa104] [@ libwayland-client.so.0.3.0@0xac40] → [@ libwayland-client.so.0.3.0@0x9bd0] [@ libwayland-client.so.0.3.0@0x9c34] [@ libwayland-client.so.0.3.0@0xa104] [@ libwayland-client.so.0.3.0@0xac40] [@ libwayland-client.so.0.3.0@0xc4f3]
Assignee

Comment 12

3 months ago

Can you please attach content of about:support? Thanks.

Crash Signature: [@ libwayland-client.so.0.3.0@0x9bd0] [@ libwayland-client.so.0.3.0@0x9c34] [@ libwayland-client.so.0.3.0@0xa104] [@ libwayland-client.so.0.3.0@0xac40] [@ libwayland-client.so.0.3.0@0xc4f3] → [@ libwayland-client.so.0.3.0@0x9bd0] [@ libwayland-client.so.0.3.0@0x9c34] [@ libwayland-client.so.0.3.0@0xa104] [@ libwayland-client.so.0.3.0@0xac40] [@ libwayland-client.so.0.3.0@0xc4f3]
Flags: needinfo?(petcuandrei)
Reporter

Comment 13

3 months ago

Informații de bază privind aplicația

Nume: Firefox
Versiune: 68.0a1
ID-ul versiunii compilate: 20190327175114
Canal de actualizare: nightly
Agent utilizator: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
SO: Linux 4.20.16-200.fc29.x86_64
Ferestre multiproces: 1/1 Activate în mod implicit
Procese pentru conținut web: 5/8
Politici dedicate întreprinderilor: Inactiv
Google Location Service Key: Găsită
Google Safebrowsing Key: Găsită
Cheie pentru serviciul de localizare Mozilla: Găsită
Mod sigur: false

Rapoarte de defecțiuni

Toate rapoartele de defecțiuni Funcționalități Nightly

Nume: Firefox Monitor
Versiune: 3.0
ID: fxmonitor@mozilla.org

Nume: Firefox Screenshots
Versiune: 37.1.0
ID: screenshots@mozilla.org

Nume: Form Autofill
Versiune: 1.0
ID: formautofill@mozilla.org

Nume: Web Compat
Versiune: 4.1.0
ID: webcompat@mozilla.org

Nume: WebCompat Reporter
Versiune: 1.1.0
ID: webcompat-reporter@mozilla.org

Extensii

Nume: Bitwarden - Manager de parole gratuit
Versiune: 1.39.3
Activat: true
ID: {446900e4-71c2-419f-a6a7-df9c091e268b}

Nume: Certainly Something (Certificate Viewer)
Versiune: 1.1.2
Activat: true
ID: a2fff151f5ad0ef63cbd7e454e8907c1fa9cc32008f489178775570374f408a7@pokeinthe.io

Nume: Certificate Viewer for Humans
Versiune: 1.7.0
Activat: true
ID: {13c639b4-1c39-478e-8f12-34f03412f43c}

Nume: Dark Scroll for TweetDeck
Versiune: 1.0.2
Activat: true
ID: {759d3eb8-baf1-49e0-938b-0f963fdac3ae}

Nume: Downloads sidebar
Versiune: 0.6
Activat: true
ID: {bbb81fb3-49c1-4a42-bcc9-94bc93e19fb8}

Nume: Extension source viewer
Versiune: 1.6.10
Activat: true
ID: crxviewer-firefox@robwu.nl

Nume: Filter AwesomeBar
Versiune: 1.2.1
Activat: true
ID: {a8d88d84-27e6-427e-a165-175ff8627e5d}

Nume: Firefox DevTools ADB Extension
Versiune: 0.0.5
Activat: true
ID: adb@mozilla.org

Nume: Firefox Multi-Account Containers
Versiune: 6.1.0
Activat: true
ID: @testpilot-containers

Nume: Gecko Profiler
Versiune: 0.30
Activat: true
ID: geckoprofiler@mozilla.com

Nume: GSConnect
Versiune: 5
Activat: true
ID: gsconnect@andyholmes.github.io

Nume: I don't care about cookies
Versiune: 2.9.8
Activat: true
ID: jid1-KKzOGWgsW3Ao4Q@jetpack

Nume: KeePassXC-Browser
Versiune: 1.3.3
Activat: true
ID: keepassxc-browser@keepassxc.org

Nume: Mastodon as a Sidebar
Versiune: 2.2
Activat: true
ID: {da1965a9-f040-4e10-8df4-f063e7f94aba}

Nume: Mobile Wikipedia (WebExtension)
Versiune: 1.1.2
Activat: true
ID: {57746d5b-5156-4bf1-b79d-996d23a5c49e}

Nume: Notes by Firefox
Versiune: 4.3.4
Activat: true
ID: notes@mozilla.com

Nume: Open Image In New Tab
Versiune: 0.1.1
Activat: true
ID: open-image-in-new-tab@mint.as

Nume: Privacy Labrador
Versiune: 0.3.1
Activat: true
ID: {f1c6690b-e778-438c-b424-00cf30c6ffdd}

Nume: Redirect AMP to HTML
Versiune: 2.0.0
Activat: true
ID: {569456be-2850-4f7e-b669-71e55140ee0a}

Nume: Search and Switch Containers
Versiune: 1.7.0
Activat: true
ID: {cdbfc05c-3a99-460e-ba11-11ec4b71f789}

Nume: Search by Image
Versiune: 1.19.0
Activat: true
ID: {2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c}

Nume: Side View
Versiune: 0.4.3710
Activat: true
ID: side-view@mozilla.org

Nume: Temporary Containers
Versiune: 0.91
Activat: true
ID: {c607c8df-14a7-4f28-894f-29e8722976af}

Nume: Test Pilot
Versiune: 3.0.6vffecb95
Activat: true
ID: @testpilot-addon

Nume: Toggle Pin Tab
Versiune: 1.0.0
Activat: true
ID: {0ccbb198-ca03-4b1c-bc9c-cd0de758239d}

Nume: Tradu această pagină cu Google Translate
Versiune: 1.4.0
Activat: true
ID: {e34d5840-6b3b-49d8-92c2-9696798c4e2a}

Nume: Transfer Send for Firefox
Versiune: 1.10
Activat: true
ID: {3770ad41-83dc-41df-9cef-ca09abbda424}

Nume: Translator
Versiune: 1.3.1
Activat: true
ID: translator@sailormax.net

Nume: VivaldiFox
Versiune: 3.1
Activat: true
ID: @vivaldi-fox

Nume: YouTube Classic
Versiune: 1.3
Activat: true
ID: {6acd0f4d-ab79-4b79-9b28-8bde65ae355c}

Nume: Youtube Dark Purple
Versiune: 0.9.5
Activat: true
ID: jid1-8N68vRDhzgyGfg@jetpack

Nume: YouTube™ Repeat Button
Versiune: 0.1.1
Activat: true
ID: {28c18e92-ab27-403f-973d-49d1d0fa7665}

Nume: Always open in current tab
Versiune: 1.0.1
Activat: false
ID: {50aa3fa9-0000-4c5d-bdef-ce1e10a0f088}

Nume: Chrome Store Foxified
Versiune: 3.4
Activat: false
ID: Chrome-Store-Foxified@jetpack

Nume: Don't touch my tabs! (rel=noopener)
Versiune: 2.1
Activat: false
ID: {6b938c0c-fc53-4f27-805f-619778631082}

Nume: Easy Youtube Video Downloader Express
Versiune: 14.3
Activat: false
ID: {b9acf540-acba-11e1-8ccb-001fd0e08bd4}

Nume: Every event
Versiune: 3.4
Activat: false
ID: every-event@andym.mozilla.com

Nume: h264ify
Versiune: 1.0.9
Activat: false
ID: jid1-TSgSxBhncsPBWQ@jetpack

Nume: Laboratory
Versiune: 3.0.5
Activat: false
ID: 1b2383b324c8520974ee097e46301d5ca4e076de387c02886f1c6b1503671586@pokeinthe.io

Nume: LastPass: Free Password Manager
Versiune: 4.26.0.4
Activat: false
ID: support@lastpass.com

Nume: uBlock Origin
Versiune: 1.18.14
Activat: false
ID: uBlock0@raymondhill.net

Program de securitate
--------------------- Tip:

Tip:

Tip:

Grafică

Funcționalități
Compunere: WebRender
Panoramare/zoom asincron: intrare pentru rotița mouse-ului activată; tragerea barei de derulare activată; tastatură activată; autoderulare activată
Informații WSI ale driverului WebGL 1: EGL_VENDOR: Mesa Project EGL_VERSION: 1.4 EGL_EXTENSIONS: EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_swap_buffers_with_damage EGL_IMG_context_priority EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_WL_bind_wayland_display EGL_WL_create_wayland_buffer_from_image EGL_EXTENSIONS(nullptr): EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_wayland EGL_EXT_platform_x11 EGL_MESA_platform_gbm EGL_MESA_platform_surfaceless
Renderul driverului WebGL 1: Intel Open Source Technology Center -- Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2)
Versiunea driverului WebGL 1: OpenGL ES 3.2 Mesa 18.3.4
Extensiile driverului WebGL 1: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_filter_anisotropic GL_EXT_texture_compression_s3tc GL_EXT_occlusion_query_boolean 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_vertex_half_float GL_EXT_texture_sRGB_decode 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_EXT_frag_depth GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_OES_viewport_array GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_EXT_robustness GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_OES_depth_texture_cube_map GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_color_buffer_float GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_integer_mix GL_EXT_tessellation_point_size GL_EXT_tessellation_shader GL_INTEL_conservative_rasterization GL_INTEL_performance_query GL_ANDROID_extension_pack_es31a GL_EXT_base_instance GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_copy_image GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_gpu_shader5 GL_EXT_polygon_offset_clamp GL_EXT_primitive_bounding_box GL_EXT_render_snorm GL_EXT_shader_io_blocks GL_EXT_texture_border_clamp GL_EXT_texture_buffer GL_EXT_texture_cube_map_array GL_EXT_texture_norm16 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_KHR_context_flush_control GL_KHR_robust_buffer_access_behavior GL_NV_image_formats GL_OES_copy_image GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex GL_OES_gpu_shader5 GL_OES_primitive_bounding_box GL_OES_sample_shading GL_OES_sample_variables GL_OES_shader_io_blocks GL_OES_shader_multisample_interpolation GL_OES_tessellation_point_size GL_OES_tessellation_shader GL_OES_texture_border_clamp GL_OES_texture_buffer GL_OES_texture_cube_map_array GL_OES_texture_stencil8 GL_OES_texture_storage_multisample_2d_array GL_OES_texture_view GL_EXT_blend_func_extended GL_EXT_buffer_storage GL_EXT_geometry_point_size GL_EXT_geometry_shader GL_EXT_shader_samples_identical GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_NV_fragment_shader_interlock GL_OES_EGL_image_external_essl3 GL_OES_geometry_point_size GL_OES_geometry_shader GL_OES_shader_image_atomic GL_EXT_clip_cull_distance GL_EXT_disjoint_timer_query GL_MESA_shader_integer_functions GL_EXT_shader_framebuffer_fetch_non_coherent GL_MESA_framebuffer_flip_y
Extensii WebGL 1: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_disjoint_timer_query EXT_sRGB EXT_texture_filter_anisotropic OES_element_index_uint OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_lose_context
Informații WSI ale driverului WebGL 2: EGL_VENDOR: Mesa Project EGL_VERSION: 1.4 EGL_EXTENSIONS: EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_swap_buffers_with_damage EGL_IMG_context_priority EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_WL_bind_wayland_display EGL_WL_create_wayland_buffer_from_image EGL_EXTENSIONS(nullptr): EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_wayland EGL_EXT_platform_x11 EGL_MESA_platform_gbm EGL_MESA_platform_surfaceless
Renderul driverului WebGL 2: Intel Open Source Technology Center -- Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2)
Versiunea driverului WebGL 2: OpenGL ES 3.2 Mesa 18.3.4
Extensiile driverului WebGL 2: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_filter_anisotropic GL_EXT_texture_compression_s3tc GL_EXT_occlusion_query_boolean 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_vertex_half_float GL_EXT_texture_sRGB_decode 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_EXT_frag_depth GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_OES_viewport_array GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_EXT_robustness GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_OES_depth_texture_cube_map GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_color_buffer_float GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_integer_mix GL_EXT_tessellation_point_size GL_EXT_tessellation_shader GL_INTEL_conservative_rasterization GL_INTEL_performance_query GL_ANDROID_extension_pack_es31a GL_EXT_base_instance GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_copy_image GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_gpu_shader5 GL_EXT_polygon_offset_clamp GL_EXT_primitive_bounding_box GL_EXT_render_snorm GL_EXT_shader_io_blocks GL_EXT_texture_border_clamp GL_EXT_texture_buffer GL_EXT_texture_cube_map_array GL_EXT_texture_norm16 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_KHR_context_flush_control GL_KHR_robust_buffer_access_behavior GL_NV_image_formats GL_OES_copy_image GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex GL_OES_gpu_shader5 GL_OES_primitive_bounding_box GL_OES_sample_shading GL_OES_sample_variables GL_OES_shader_io_blocks GL_OES_shader_multisample_interpolation GL_OES_tessellation_point_size GL_OES_tessellation_shader GL_OES_texture_border_clamp GL_OES_texture_buffer GL_OES_texture_cube_map_array GL_OES_texture_stencil8 GL_OES_texture_storage_multisample_2d_array GL_OES_texture_view GL_EXT_blend_func_extended GL_EXT_buffer_storage GL_EXT_geometry_point_size GL_EXT_geometry_shader GL_EXT_shader_samples_identical GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_NV_fragment_shader_interlock GL_OES_EGL_image_external_essl3 GL_OES_geometry_point_size GL_OES_geometry_shader GL_OES_shader_image_atomic GL_EXT_clip_cull_distance GL_EXT_disjoint_timer_query GL_MESA_shader_integer_functions GL_EXT_shader_framebuffer_fetch_non_coherent GL_MESA_framebuffer_flip_y
Extensii WebGL 2: EXT_color_buffer_float EXT_disjoint_timer_query EXT_texture_filter_anisotropic OES_texture_float_linear WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context
Desenare în afara firului de execuție principal activată: true
Număr de workeri pentru desenare în afara firului de execuție principal: 4
Frecvență-țintă de cadre: 60
GPU #1
Activ: Da
Descriere: Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2)
ID-ul vânzătorului: mesa/unknown
ID-ul dispozitivului: 0x5917
Versiunea driverului: 18.3.4.0
RAM: 3072MB

Diagnostic
AzureCanvasBackend: skia
AzureContentBackend: skia
AzureFallbackCanvasBackend: none
CairoUseXRender: 0
Slow Frame #01: Frame 13(https://bugzilla.mozilla.org/show_bug.cgi?id=1517205) CONTENT_FRAME_TIME 17051 - Transaction start 0.000000, main-thread time 5.394026, full paint time 7.977737, Skipped composites 0, Composite start 92.263764, Resource upload time 0.229608, GPU cache upload time 0.253198, Render time 22.077854, Composite time 25.876539
Slow Frame #02: Frame 11(https://bugzilla.mozilla.org/show_bug.cgi?id=1517205) CONTENT_FRAME_TIME 10966 - Transaction start 0.000000, main-thread time 5.906781, full paint time 8.090768, Skipped composites 0, Composite start 11.402874, Resource upload time 0.000323, GPU cache upload time 0.063756, Render time 0.685837, Composite time 1.317591
Slow Frame #03: Frame 1(about:blank) CONTENT_FRAME_TIME 9694 - Transaction start 0.000000, main-thread time 0.014568, full paint time 0.326051, Skipped composites 0, Composite start 1588.940667, Resource upload time 0.000799, GPU cache upload time 0.135623, Render time 17.315623, Composite time 20.982824
Slow Frame #04: Frame 4(about:newtab) CONTENT_FRAME_TIME 6324 - Transaction start 7.551960, main-thread time 1.126079, full paint time 1.603346, Skipped composites 0, Composite start 1026.947082, Resource upload time 0.000627, GPU cache upload time 0.089911, Render time 25.426058, Composite time 26.384023
Slow Frame #05: Frame 2(about:newtab) CONTENT_FRAME_TIME 6260 - Transaction start 4.377366, main-thread time 0.562730, full paint time 1.378685, Skipped composites 0, Composite start 14.372379, Resource upload time 8.131114, GPU cache upload time 0.077275, Render time 1026.674077, Composite time 1027.224934
Slow Frame #06: Frame 16(https://www.netflix.com/browse/genre/2243108?bc=34399) CONTENT_FRAME_TIME 3739 - Transaction start 38.735784, main-thread time 5.534504, full paint time 8.690989, Skipped composites 0, Composite start 67.745560, Resource upload time 0.826155, GPU cache upload time 0.143876, Render time 542.200254, Composite time 543.609419
Slow Frame #07: Frame 7(https://bugzilla.mozilla.org/show_bug.cgi?id=1517205) CONTENT_FRAME_TIME 3478 - Transaction start 0.363146, main-thread time 5.191056, full paint time 7.511426, Skipped composites 0, Composite start 13.597441, Resource upload time 11.013934, GPU cache upload time 0.246440, Render time 558.364909, Composite time 563.489022
Slow Frame #08: Frame 8(https://bugzilla.mozilla.org/show_bug.cgi?id=1517205) CONTENT_FRAME_TIME 3430 - Transaction start 0.837330, main-thread time 3.784639, full paint time 6.622017, Skipped composites 0, Composite start 537.655216, Resource upload time 0.664183, GPU cache upload time 0.210910, Render time 21.832831, Composite time 24.020327
Slow Frame #09: Frame 17(https://www.netflix.com/browse/genre/2243108?bc=34399) CONTENT_FRAME_TIME 3412 - Transaction start 11.240967, main-thread time 3.743472, full paint time 5.265196, Skipped composites 0, Composite start 538.506789, Resource upload time 0.229608, GPU cache upload time 0.253198, Render time 22.077854, Composite time 25.876539
Slow Frame #10: Frame 1(about:blank) CONTENT_FRAME_TIME 1726 - Transaction start 0.033870, main-thread time 0.112333, full paint time 0.405137, Skipped composites 0, Composite start 29.847986, Resource upload time 2.821502, GPU cache upload time 0.303253, Render time 255.089909, Composite time 255.502945
Resetare dispozitiv: Declanșează resetarea dispozitivului
Jurnal de decizii
HW_COMPOSITING:
force_enabled by user: Force-enabled by pref
OPENGL_COMPOSITING:
force_enabled by user: Force-enabled by pref
WEBRENDER:
opt-in by default: WebRender is an opt-in feature
available by user: Force enabled by pref
WEBRENDER_QUALIFIED:
blocked by env: Has battery

Media

Backend audio: remote
Canale maxime: 2
Rată de eșantionare preferată: 48000
Dispozitive de ieșire
Nume: Grup
Built-in Audio Digital Stereo (HDMI 2): /devices/pci0000:00/0000:00:1f.3/sound/card0
Dispozitive de intrare
Nume: Grup
Built-in Audio Analog Stereo: /devices/pci0000:00/0000:00:1f.3/sound/card0
Monitor of Built-in Audio Digital Stereo (HDMI 2): /devices/pci0000:00/0000:00:1f.3/sound/card0

Preferințe importante modificate

accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 1048576
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.hashstats_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.search.useDBForOrder: true
browser.sessionstore.upgradeBackup.latestBuildID: 20190327175114
browser.startup.homepage_override.buildID: 20190327175114
browser.startup.homepage_override.mstone: 68.0a1
browser.tabs.drawInTitlebar: true
browser.tabs.firstWindowRestore.numPinnedTabs: 0
browser.tabs.newanimations: true
browser.urlbar.maxRichResults: 31
browser.urlbar.quantumbar: true
browser.urlbar.searchSuggestionsChoice: true
browser.urlbar.timesBeforeHidingSuggestionsHint: 0
dom.forms.autocomplete.formautofill: true
dom.push.userAgentID: 5ae52ba0377b43968bb52d82036cb471
extensions.formautofill.creditCards.used: 3
extensions.formautofill.firstTimeUse: false
extensions.lastAppVersion: 68.0a1
font.internaluseonly.changed: true
gfx.webrender.all: true
idle.lastDailyNotification: 1553873781
javascript.options.asyncstack: false
layers.acceleration.force-enabled: true
media.benchmark.vp9.fps: 164
media.benchmark.vp9.versioncheck: 5
media.eme.enabled: true
media.gmp-gmpopenh264.abi: x86_64-gcc3
media.gmp-gmpopenh264.lastUpdate: 1552972242
media.gmp-gmpopenh264.version: 1.8.1
media.gmp-manager.buildID: 20190327175114
media.gmp-manager.lastCheck: 1553873649
media.gmp-widevinecdm.abi: x86_64-gcc3
media.gmp-widevinecdm.lastUpdate: 1552972243
media.gmp-widevinecdm.version: 4.10.1196.0
media.gmp.storage.version.observed: 1
media.videocontrols.picture-in-picture.enabled: true
network.dns.disablePrefetch: true
network.http.speculative-parallel-limit: 0
network.predictor.cleaned-up: true
network.predictor.enabled: false
network.prefetch-next: false
places.database.lastMaintenance: 1553873786
places.history.expiration.transient_current_max_pages: 147549
plugin.disable_full_page_plugin_for_types: application/pdf
print.print_bgcolor: false
print.print_bgimages: false
print.print_duplex: 0
print.print_evenpages: true
print.print_margin_bottom: 0.5
print.print_margin_left: 0.5
print.print_margin_right: 0.5
print.print_margin_top: 0.5
print.print_oddpages: true
print.print_orientation: 0
print.print_page_delay: 50
print.print_paper_data: 0
print.print_paper_height: 11.00
print.print_paper_name: na_letter
print.print_paper_size_unit: 0
print.print_paper_width: 8.50
print.print_scaling: 1.00
print.print_shrink_to_fit: true
print.print_to_file: false
print.print_unwriteable_margin_bottom: 56
print.print_unwriteable_margin_left: 25
print.print_unwriteable_margin_right: 25
print.print_unwriteable_margin_top: 25
privacy.donottrackheader.enabled: true
privacy.sanitize.pending: [{"id":"newtab-container","itemsToClear":[],"options":{}}]
privacy.spoof_english: 1
privacy.userContext.extension: @testpilot-containers
security.remote_settings.intermediates.checked: 1553874783
security.sandbox.content.tempDirSuffix: 1e08e6c2-5663-48a5-a47d-06d60cb7f2ae
security.sandbox.plugin.tempDirSuffix: 78fd1da6-99b9-484c-9fb4-78108f5ff494
services.sync.declinedEngines: prefs,addons
services.sync.engine.addons: false
services.sync.engine.addresses: true
services.sync.engine.addresses.available: true
services.sync.engine.bookmarks.validation.lastTime: 1553873872
services.sync.engine.creditcards: true
services.sync.engine.passwords.validation.lastTime: 1553873872
services.sync.engine.prefs: false
services.sync.engine.prefs.modified: false
services.sync.lastPing: 1553873787
services.sync.lastSync: Fri Mar 29 2019 21:44:45 GMT+0200 (Ora standard a Europei de Est)
signon.importedFromSqlite: true
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1552067561

Preferințe importante blocate

Bază de date cu locuri

JavaScript

GC incremental: true

Accesibilitate

Activat: false
Împiedică accesibilitatea: 0

Versiuni de bibliotecă

NSPR
Versiune minimă așteptată: 4.21
Versiune în uz: 4.21

NSS
Versiune minimă așteptată: 3.44 Beta
Versiune în uz: 3.44 Beta

NSSSMIME
Versiune minimă așteptată: 3.44 Beta
Versiune în uz: 3.44 Beta

NSSSSL
Versiune minimă așteptată: 3.44 Beta
Versiune în uz: 3.44 Beta

NSSUTIL
Versiune minimă așteptată: 3.44 Beta
Versiune în uz: 3.44 Beta

Sandbox

Seccomp-BPF (filtrarea apelurilor de sistem): true
Sincronizarea firului de execuție seccomp: true
Spații de nume ale utilizatorului: true
Proces sandbox pentru continuț: true
Plugin sandbox pentru media: true
Nivel de sandbox al proceselor pentru conținut: 4
Nivel efectiv de sandbox al proceselor pentru conținut: 4

Apeluri de sistem respinse

Internaționalizare și localizare

Setări privind aplicația
Limbile solicitate: ["ro"]
Limbile disponibile: ["ro","en-US"]
Limbile aplicației: ["ro","en-US"]
Preferințe regionale: ["ro","en-US"]
Limba implicită: "ro"
Sistem de operare
Limbile sistemului: ["en-US"]
Preferințe regionale: ["en-US"]

Flags: needinfo?(petcuandrei)
Reporter

Comment 14

3 months ago

Hmm. It does not reproduce on my computer anymore. How about you, Dan, Gabriele and Greg?

Flags: needinfo?(gsvelto)
Flags: needinfo?(greg)
Flags: needinfo?(dan.callahan)

I use Xfce so no Wayland for me (yet).

Flags: needinfo?(gsvelto)
Reporter

Comment 16

3 months ago

might be a different bug for you.

Assignee

Comment 17

3 months ago

gfx.webrender.all: true
layers.acceleration.force-enabled: true

That may be the key here.

Summary: Crash on Wayland when adding/removing external monitor → [WebRender] Crash on Wayland when adding/removing external monitor
Assignee

Comment 18

3 months ago

It's here:

490│ bool GLContextEGL::SwapBuffers() {
491│ EGLSurface surface =
492│ mSurfaceOverride != EGL_NO_SURFACE ? mSurfaceOverride : mSurface;
493│ if (surface) {
494├> return mEgl->fSwapBuffers(EGL_DISPLAY(), surface);
495│ } else {
496│ return false;
497│ }
498│ }

#8 [34m0x00007ffff07a6957[m in [33mmozilla::gl::GLLibraryEGL::fSwapBuffers[m ([36mthis[m=0x7fffd1a761a0, [36mdpy[m=0xe5e5e5e5e5e5e5e5, [36msurface[m=<optimized out>) at [32m/home/komat/tmp6
76-trunk-gtk3/src-wayland/gfx/gl/GLLibraryEGL.h[m:226

The EGL_DISPLAY() seems to be invalid.

Still reproducible with today Nightly build (Gnome Shell 3.30, layers acceleration forced, webrender forced).

Assignee

Comment 20

3 months ago

Yes, I'm going to look at it.

Flags: needinfo?(greg)
Flags: needinfo?(dan.callahan)

With WebRender, I cannot reproduce on today's Nightly (20190404215521).

Without WebRender, I see the same crash as always: libwayland-client.so.0.3.0@0xac40

Assignee

Updated

3 months ago
Assignee

Comment 22

3 months ago

I think I have a patch for it.

Assignee

Comment 23

3 months ago

Lazilly create nsWaylandDisplay objects and remove them at Firefox quit.

nsWaylandDisplay objects should stay as global objects and don't be created/released.
The creation/removal wastes resources on server side as the wl_registry objects at nsWaylandDisplay has to be stored at server
side and can't be removed until firefox ends [1] anyway.

Also the removed nsWaylandDisplay causes crashes when display
topology changes due to the global nature of the wl_registry.

[1] https://wayland.freedesktop.org/docs/html/apa.html#protocol-spec-wl_registry

Assignee

Updated

3 months ago
Priority: P3 → P2

Also the removed nsWaylandDisplay causes crashes when display
topology changes due to the global nature of the wl_registry.

I wonder if Bug 1515467 have similar nature?

Assignee

Comment 26

3 months ago

(In reply to russianneuromancer from comment #25)

Also the removed nsWaylandDisplay causes crashes when display
topology changes due to the global nature of the wl_registry.

I wonder if Bug 1515467 have similar nature?

Yes, that's possible.

Assignee

Updated

3 months ago
Keywords: checkin-needed

Comment 27

3 months ago

Pushed by opoprus@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d272180eb2fb
Make nsWaylandDisplay() global, r=lsalzman

Keywords: checkin-needed
Assignee

Updated

3 months ago
Duplicate of this bug: 1535544
Assignee

Updated

3 months ago
Duplicate of this bug: 1538125
Crash Signature: [@ libwayland-client.so.0.3.0@0x9bd0] [@ libwayland-client.so.0.3.0@0x9c34] [@ libwayland-client.so.0.3.0@0xa104] [@ libwayland-client.so.0.3.0@0xac40] [@ libwayland-client.so.0.3.0@0xc4f3] → [@ libwayland-client.so.0.3.0@0x9bd0] [@ libwayland-client.so.0.3.0@0x9c34] [@ libwayland-client.so.0.3.0@0xa104] [@ libwayland-client.so.0.3.0@0xac40] [@ libwayland-client.so.0.3.0@0xc4f3] [@ libwayland-client.so.0.3.0@0x9923] [@ libwayland-client.so…

Comment 30

3 months ago
bugherder
Status: NEW → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Crash Signature: libwayland-client.so.0.3.0@0x9a70] [@ libwayland-client.so.0.3.0@0x9ec4] [@ libwayland-client.so.0.3.0@0x9ecf] [@ libwayland-client.so.0.3.0@0x9f04] [@ libwayland-client.so.0.3.0@0xa10f] [@ libwayland-client.so.0.3.0@0xa8e0] [@ wl_list_insert] → libwayland-client.so.0.3.0@0x9a70] [@ libwayland-client.so.0.3.0@0x9ec4] [@ libwayland-client.so.0.3.0@0x9ecf] [@ libwayland-client.so.0.3.0@0x9f04] [@ libwayland-client.so.0.3.0@0xa10f] [@ libwayland-client.so.0.3.0@0xa8e0] [@ wl_list_insert] [@ libwayl…
Crash Signature: [@ libwayland-client.so.0.3.0@0x9bd0] [@ libwayland-client.so.0.3.0@0x9c34] [@ libwayland-client.so.0.3.0@0xa104] [@ libwayland-client.so.0.3.0@0xac40] [@ libwayland-client.so.0.3.0@0xc4f3] [@ libwayland-client.so.0.3.0@0x9923] [@ libwayland-client.so… → [@ libwayland-client.so.0.3.0@0x9bd0] [@ libwayland-client.so.0.3.0@0x9c34] [@ libwayland-client.so.0.3.0@0xa104] [@ libwayland-client.so.0.3.0@0xac40] [@ libwayland-client.so.0.3.0@0xc4f3] [@ libwayland-client.so.0.3.0@0x9923] [@ libwayland-client.…

Updated

2 days ago
Duplicate of this bug: 1528733
You need to log in before you can comment on or make changes to this bug.