Closed Bug 1450814 Opened 2 years ago Closed 2 years ago

ff 59 crashes when gfx.content.azure.backends uses cairo

Categories

(Core :: Graphics, defect, P3)

59 Branch
defect

Tracking

()

RESOLVED FIXED
mozilla61
Tracking Status
firefox59 --- wontfix
firefox60 --- fixed
firefox61 --- fixed

People

(Reporter: bugzilla.hundreAd, Assigned: lsalzman)

References

Details

Attachments

(1 file, 1 obsolete file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0
Build ID: 20180206200532

Steps to reproduce:

ff 59 crashes (58 works fine)
gfx.content.azure.backends=cairo,direct2d1.1,skia
gfx.direct2d.disabled=true
(i want the old gdi font rendering to avoid horrible blurry fonts)

example urls that cause crashes:
https://www.facebook.com/pg/azmamtak/posts/
uBlock logger (moz-extension://f7caac9d-9e15-43e4-9cd6-38efc7c25c81/logger-ui.html#tab_22)


Actual results:

crash


Expected results:

no crash...
disabling add-ons does not help
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0 (20180405153002)

I have tested this issue on Windows 10 x64 using latest Nightly and Fx release builds, but I could not managed to reproduce it.

When set the above prefs I'm able to access the page and no crash is observed.

Could you please provide your "about:support" information as an attachment and the crash signature(ID) from the about:crashes?

Also can you please retest this using latest FF release and latest Nightly build (https://nightly.mozilla.org/) and report back the results ? When doing this, please use a new clean Firefox profile, maybe even safe mode, to eliminate custom settings as a possible cause (https://goo.gl/PNe90E). 

I think the correct component would be Core::Graphics
Flags: needinfo?(bugzilla.hundreAd)
*** 59.0.2:

created new profile

set in about:config

gfx.content.azure.backends;cairo
gfx.direct2d.disabled;true

*** about:crashes

Signature 	mozilla::gfx::DrawTarget::Blur

*** about:support

Application Basics
------------------

Name: Firefox
Version: 59.0.2
Build ID: 20180323154952
Update Channel: release
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0
OS: Windows_NT 10.0
Multiprocess Windows: 1/1 (Enabled by default)
Web Content Processes: 4/4
Stylo: content = true (enabled by default), chrome = false (disabled by default)
Google Key: Found
Mozilla Location Service Key: Found
Safe Mode: false

Crash Reports for the Last 3 Days
---------------------------------

Report ID: bp-f6f14e3f-5845-44d5-a402-4519a0180406
Submitted: 5 minutes ago

Report ID: bp-f8868258-ff05-4e8a-841e-ed1321180406
Submitted: 8 minutes ago

Report ID: bp-68799b7c-22c9-41c6-b58b-f02131180406
Submitted: 8 minutes ago

Report ID: bp-8552af4a-a978-4586-b345-cd60d1180406
Submitted: 9 minutes ago

All Crash Reports (including 2 pending crashes in the given time range)

Firefox Features
----------------

Name: Activity Stream
Version: 2018.02.17.0026-173e2795
ID: activity-stream@mozilla.org

Name: Application Update Service Helper
Version: 2.0
ID: aushelper@mozilla.org

Name: Firefox Screenshots
Version: 25.0.0
ID: screenshots@mozilla.org

Name: Follow-on Search Telemetry
Version: 0.9.6
ID: followonsearch@mozilla.com

Name: Form Autofill
Version: 1.0
ID: formautofill@mozilla.org

Name: Photon onboarding
Version: 1.0
ID: onboarding@mozilla.org

Name: Pocket
Version: 1.0.5
ID: firefox@getpocket.com

Name: Shield Recipe Client
Version: 80
ID: shield-recipe-client@mozilla.org

Name: TLS 1.3 gradual roll-out
Version: 8.0
ID: bug1442042@mozilla.org">tls13-rollout-bug1442042@mozilla.org

Name: Web Compat
Version: 1.1
ID: webcompat@mozilla.org

Extensions
----------

Security Software
-----------------

Type: Symantec Endpoint Protection

Type:

Type: Symantec Endpoint Protection

Graphics
--------

Features
Compositing: Direct3D 11 (Advanced Layers)
Asynchronous Pan/Zoom: wheel input enabled; scrollbar drag enabled; keyboard enabled; autoscroll enabled
WebGL 1 Driver WSI Info: EGL_VENDOR: Google Inc. (adapter LUID: 000000000000909e) EGL_VERSION: 1.4 (ANGLE 2.1.0.db3422764a9b) EGL_EXTENSIONS: EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_ANGLE_keyed_mutex EGL_ANGLE_surface_orientation EGL_ANGLE_direct_composition EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_flexible_surface_compatibility EGL_ANGLE_stream_producer_d3d_texture_nv12 EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_EXTENSIONS(nullptr): EGL_EXT_client_extensions EGL_EXT_platform_base EGL_EXT_platform_device EGL_ANGLE_platform_angle EGL_ANGLE_platform_angle_d3d EGL_ANGLE_device_creation EGL_ANGLE_device_creation_d3d11 EGL_ANGLE_experimental_present_path EGL_KHR_client_get_all_proc_addresses EGL_ANGLE_display_robust_resource_initialization
WebGL 1 Driver Renderer: Google Inc. -- ANGLE (NVIDIA GeForce 8800 GT Direct3D11 vs_4_0 ps_4_0)
WebGL 1 Driver Version: OpenGL ES 2.0 (ANGLE 2.1.0.db3422764a9b)
WebGL 1 Driver Extensions: GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_robust_resource_initialization GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context 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_array_object
WebGL 1 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_frag_depth EXT_sRGB EXT_shader_texture_lod EXT_texture_filter_anisotropic EXT_disjoint_timer_query 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_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context
WebGL 2 Driver WSI Info: -
WebGL 2 Driver Renderer: WebGL creation failed: * Error during ANGLE OpenGL init. * Exhausted GL driver caps.
WebGL 2 Driver Version: -
WebGL 2 Driver Extensions: -
WebGL 2 Extensions: -
DirectWrite: false (10.0.16299.15)
GPU #1
Active: Yes
Description: NVIDIA GeForce 8800 GT
Vendor ID: 0x10de
Device ID: 0x0611
Driver Version: 21.21.13.4201
Driver Date: 11-14-2016
Drivers: nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um
Subsys ID: 00000000
RAM: 512

Diagnostics
AzureCanvasAccelerated: 0
AzureCanvasBackend (UI Process): skia
AzureContentBackend (UI Process): cairo
AzureFallbackCanvasBackend (UI Process): cairo
GPUProcessPid: 12548
Decision Log
DIRECT2D:
disabled by default: Disabled by default
disabled by user: Disabled via gfx.direct2d.disabled
WEBRENDER:
opt-in by default: WebRender is an opt-in feature
unavailable by runtime: Build doesn't include WebRender
OMTP:
broken by runtime: OMTP is not supported when using cairo




Media
-----

Audio Backend: wasapi
Max Channels: 2
Preferred Channel Layout: stereo
Preferred Sample Rate: 48000
Output Devices
Name: Group
Realtek Digital Output (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001
Speakers (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001
Input Devices
Name: Group
Center (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001
Front Green In (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001
CD Audio (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001
Front Pink In (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001
Subwoofer (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001
Line In (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001
Side (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001
Rear (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001
Microphone (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001
CD Audio (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001
Line In (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001
Front (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001
Microphone (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001
Stereo Mix (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1043829E&REV_1000\4&1d86fb08&0&0001

Important Modified Preferences
------------------------------

browser.cache.disk.capacity: 358400
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.places.smartBookmarksVersion: 8
browser.sessionstore.upgradeBackup.latestBuildID: 20180323154952
browser.startup.homepage_override.buildID: 20180323154952
browser.startup.homepage_override.mstone: 59.0.2
browser.tabs.crashReporting.includeURL: true
browser.urlbar.timesBeforeHidingSuggestionsHint: 0
extensions.lastAppVersion: 59.0.2
font.internaluseonly.changed: false
gfx.content.azure.backends: cairo
gfx.direct2d.disabled: true
layers.mlgpu.sanity-test-failed: false
media.gmp-gmpopenh264.abi: x86_64-msvc-x64
media.gmp-gmpopenh264.lastUpdate: 1523011029
media.gmp-gmpopenh264.version: 1.7.1
media.gmp-widevinecdm.abi: x86_64-msvc-x64
media.gmp-widevinecdm.lastUpdate: 1523011030
media.gmp-widevinecdm.version: 1.4.8.1008
media.gmp.storage.version.observed: 1
media.hardware-video-decoding.failed: false
network.cookie.prefsMigrated: true
network.predictor.cleaned-up: true
places.history.expiration.transient_current_max_pages: 104858
plugin.disable_full_page_plugin_for_types: application/pdf
security.sandbox.content.tempDirSuffix: {7cbfba23-0414-4046-a532-26548b1f4c17}
ui.osk.debug.keyboardDisplayReason: IKPOS: Touch screen not found.

Important Locked Preferences
----------------------------

Places Database
---------------

JavaScript
----------

Incremental GC: true

Accessibility
-------------

Activated: false
Prevent Accessibility: 0
Accessible Handler Used: true
Accessibility Instantiator:

Library Versions
----------------

NSPR
Expected minimum version: 4.18
Version in use: 4.18

NSS
Expected minimum version: 3.35
Version in use: 3.35

NSSSMIME
Expected minimum version: 3.35
Version in use: 3.35

NSSSSL
Expected minimum version: 3.35
Version in use: 3.35

NSSUTIL
Expected minimum version: 3.35
Version in use: 3.35

Experimental Features
---------------------

Sandbox
-------

Content Process Sandbox Level: 4
Effective Content Process Sandbox Level: 4

Internationalization & Localization
-----------------------------------

Application Settings
Requested Locales: ["en-US"]
Available Locales: ["en-US"]
App Locales: ["en-US"]
Regional Preferences: ["en-US"]
Default Locale: "en-US"
Operating System
System Locales: ["en-US"]
Regional Preferences: ["en-US"]
Flags: needinfo?(bugzilla.hundreAd)
crashes as well on 61.0a1 (2018-04-05) (64-bit)
Component: Untriaged → Graphics
Product: Firefox → Core
Assignee: nobody → lsalzman
Blocks: 389511
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
OS: Unspecified → All
Priority: -- → P3
Hardware: Unspecified → All
DrawTarget::Blur() is supposed to work on all data DTs, but only was implemented for Skia, and so bombs if you try Cairo. This replaces the Skia implementation with a cleaner generic implementation that will work automagically for all data DTs,
Attachment #8966697 - Flags: review?(rhunt)
typo fix
Attachment #8966697 - Attachment is obsolete: true
Attachment #8966697 - Flags: review?(rhunt)
Attachment #8966699 - Flags: review?(rhunt)
Attachment #8966699 - Flags: review?(rhunt) → review+
Pushed by lsalzman@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ac40ae7983a0
generic implementation of DrawTarget::Blur using LockBits. r=rhunt
https://hg.mozilla.org/mozilla-central/rev/ac40ae7983a0
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
Blocks: 1395478
No longer blocks: 389511
Comment on attachment 8966699 [details] [diff] [review]
generic implementation of DrawTarget::Blur using LockBits

Approval Request Comment
[Feature/Bug causing the regression]: 1395478
[User impact if declined]: Crashes on all platforms when using the Cairo rendering backend.
[Is this code covered by automated tests?]: yes
[Has the fix been verified in Nightly?]: yes
[Needs manual test from QE? If yes, steps to reproduce]: no 
[List of other uplifts needed for the feature/fix]:
[Is the change risky?]: No
[Why is the change risky/not risky?]: Just restores missing functionality in the Cairo backend, which isn't turned on by default. Should only touch small subset of users who may override the rendering backend via pref.
[String changes made/needed]: none
Attachment #8966699 - Flags: approval-mozilla-beta?
Too late to fix in 59.
Comment on attachment 8966699 [details] [diff] [review]
generic implementation of DrawTarget::Blur using LockBits

fix a crash when using non-default gfx backend, approved for 60.0b14
Attachment #8966699 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.