Closed Bug 1435472 Opened 6 years ago Closed 6 years ago

Invalid page rendering with hardware acceleration enabled

Categories

(Core :: Graphics, defect, P1)

60 Branch
x86_64
Windows 10
defect

Tracking

()

VERIFIED FIXED
mozilla61
Tracking Status
relnote-firefox --- 59+
firefox-esr52 --- unaffected
firefox59 blocking verified
firefox60 + verified
firefox61 + verified
firefox62 --- verified

People

(Reporter: nerazzurro-v, Assigned: jfkthame)

References

()

Details

(Keywords: regression, Whiteboard: [gfx-noted])

Attachments

(3 files)

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

Steps to reproduce:

1.Open the browser.
2.Enter the address or search query in the address bar.

In the final version of 58.0.1 this bug is visible when these settings are enabled - Ctrl+Tab cycles through tabs in the recently used order & Show tab previews in the Windows Taskbar.
In Beta 59.0b6, Developer 59.0b6 and Nightly 60.0a1 (since Nightly 24.11.17 59.0a1) this bug is always visible.


Actual results:

Мost pages display incorrectly - no text is visible, some page elements appear and disappear when you hover the mouse over them.
When hardware acceleration is disabled, pages are displayed correctly everywhere.

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

Name: Firefox
Version: 60.0a1
Build ID: 20180202220135
Update Channel: nightly
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0
OS: Windows_NT 10.0
Multiprocess Windows: 1/1 (Enabled by default)
Web Content Processes: 3/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
---------------------------------

All Crash Reports

Nightly Features
----------------

Name: Activity Stream
Version: 2018.01.30.1052-2ec746e0
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: Presentation
Version: 1.0.0
ID: presentation@mozilla.org

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

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

Name: WebCompat Reporter
Version: 1.0.0
ID: webcompat-reporter@mozilla.org

Extensions
----------

Name: Nightly Tester Tools
Version: 4.0
Enabled: true
ID: {8620c15f-30dc-4dba-a131-7c5d20cf4a29}

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

Type:

Type:

Type:

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: 0000000000006692) 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 GT 710 Direct3D11 vs_5_0 ps_5_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: EGL_VENDOR: Google Inc. (adapter LUID: 0000000000006692) 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 2 Driver Renderer: Google Inc. -- ANGLE (NVIDIA GeForce GT 710 Direct3D11 vs_5_0 ps_5_0)
WebGL 2 Driver Version: OpenGL ES 3.0 (ANGLE 2.1.0.db3422764a9b)
WebGL 2 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_multiview 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_float 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_norm16 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_EGL_image_external_essl3 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 2 Extensions: EXT_color_buffer_float EXT_texture_filter_anisotropic EXT_disjoint_timer_query OES_texture_float_linear WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context
Direct2D: true
Off Main Thread Painting Enabled: true
DirectWrite: true (10.0.16299.15)
GPU #1
Active: Yes
Description: NVIDIA GeForce GT 710
Vendor ID: 0x10de
Device ID: 0x128b
Driver Version: 23.21.13.9077
Driver Date: 1-23-2018
Drivers: C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_7a39871618b19f06\nvldumdx.dll,C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_7a39871618b19f06\nvldumdx.dll,C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_7a39871618b19f06\nvldumdx.dll,C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_7a39871618b19f06\nvldumdx.dll C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_7a39871618b19f06\nvldumd.dll,C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_7a39871618b19f06\nvldumd.dll,C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_7a39871618b19f06\nvldumd.dll,C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_7a39871618b19f06\nvldumd.dll
Subsys ID: 36f91458
RAM: 2048

Diagnostics
ClearType Parameters: Gamma: 2,2 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 50
AzureCanvasAccelerated: 0
AzureCanvasBackend: Direct2D 1.1
AzureCanvasBackend (UI Process): skia
AzureContentBackend: Direct2D 1.1
AzureContentBackend (UI Process): skia
AzureFallbackCanvasBackend (UI Process): cairo
GPUProcessPid: 5040
GPUProcess: Terminate GPU Process
Device Reset: Trigger Device Reset
ClearType Parameters: Gamma: 2,2 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 50
Decision Log
WEBRENDER:
opt-in by default: WebRender is an opt-in feature




Media
-----

Audio Backend: wasapi
Max Channels: 2
Preferred Channel Layout: stereo
Preferred Sample Rate: 48000
Output Devices
Name: Group
Цифровое аудио (HDMI) (Устройство с поддержкой High Definition Audio): HDAUDIO\FUNC_01&VEN_10DE&DEV_0051&SUBSYS_145836F9&REV_1001\5&73231bd&0&0001
Динамики (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_18497662&REV_1001\4&2adfd51b&0&0001
Цифровое аудио (HDMI) (Устройство с поддержкой High Definition Audio): HDAUDIO\FUNC_01&VEN_10DE&DEV_0051&SUBSYS_145836F9&REV_1001\5&73231bd&0&0001
Input Devices
Name: Group
Микрофон (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_18497662&REV_1001\4&2adfd51b&0&0001
Стерео микшер (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_18497662&REV_1001\4&2adfd51b&0&0001
Микрофон (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_18497662&REV_1001\4&2adfd51b&0&0001
Внутренний разъем AUX (Устройство с поддержкой High Definition Audio): HDAUDIO\FUNC_01&VEN_10DE&DEV_0051&SUBSYS_145836F9&REV_1001\5&73231bd&0&0001
Side (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_18497662&REV_1001\4&2adfd51b&0&0001
Лин. вход (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_18497662&REV_1001\4&2adfd51b&0&0001
Внутренний разъем AUX (Устройство с поддержкой High Definition Audio): HDAUDIO\FUNC_01&VEN_10DE&DEV_0051&SUBSYS_145836F9&REV_1001\5&73231bd&0&0001
Front (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_18497662&REV_1001\4&2adfd51b&0&0001
Лин. вход (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_18497662&REV_1001\4&2adfd51b&0&0001
FrontMic (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_18497662&REV_1001\4&2adfd51b&0&0001
FrontMic (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_18497662&REV_1001\4&2adfd51b&0&0001
Center (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_18497662&REV_1001\4&2adfd51b&0&0001
Subwoofer (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_18497662&REV_1001\4&2adfd51b&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.resume_from_crash: false
browser.startup.homepage_override.buildID: 20180202220135
browser.startup.homepage_override.mstone: 60.0a1
browser.tabs.warnOnClose: false
browser.urlbar.timesBeforeHidingSuggestionsHint: 0
dom.forms.autocomplete.formautofill: true
extensions.lastAppVersion: 60.0a1
font.internaluseonly.changed: true
layers.mlgpu.sanity-test-failed: false
media.gmp-gmpopenh264.abi: x86_64-msvc-x64
media.gmp-gmpopenh264.lastUpdate: 1517626984
media.gmp-gmpopenh264.version: 1.7.1
media.gmp-manager.buildID: 20180202220135
media.gmp-manager.lastCheck: 1517627388
media.gmp-widevinecdm.abi: x86_64-msvc-x64
media.gmp-widevinecdm.lastUpdate: 1517626986
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: {8f56e695-16ef-4aad-81c2-0efe9c8440f8}
services.sync.declinedEngines:
services.sync.engine.addresses.available: true
services.sync.engine.creditcards.available: true
ui.osk.debug.keyboardDisplayReason: IKPOS: Touch screen not found.

user.js Preferences
-------------------

Your profile folder contains a user.js file, which includes preferences that were not created by Nightly.

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

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

JavaScript
----------

Incremental GC: true

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

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

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

NSPR
Expected minimum version: 4.18
Version in use: 4.18

NSS
Expected minimum version: 3.36 Beta
Version in use: 3.36 Beta

NSSSMIME
Expected minimum version: 3.36 Beta
Version in use: 3.36 Beta

NSSSSL
Expected minimum version: 3.36 Beta
Version in use: 3.36 Beta

NSSUTIL
Expected minimum version: 3.36 Beta
Version in use: 3.36 Beta

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

Sandbox
-------

Content Process Sandbox Level: 5
Effective Content Process Sandbox Level: 5

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: ["ru-RU"]
Regional Preferences: ["ru-RU"]



Expected results:

Pages should be displayed correctly with hardware acceleration enabled.
Severity: normal → major
Component: Untriaged → Graphics
OS: Unspecified → Windows 10
Product: Firefox → Core
Hardware: Unspecified → x86_64
This is pretty bad! Any chance you could find a regression range for this issue?
Flags: needinfo?(nerazzurro-v)
Whiteboard: [gfx-noted]
(In reply to Bas Schouten (:bas.schouten) from comment #1)
> find a regression range

https://mozilla.github.io/mozregression/quickstart.html
app_name: firefox
build_date: 2017-11-23 19:47:21.124000
build_file: C:\Users\Nerazzurro\.mozilla\mozregression\persist\a84e38913297--mozilla-inbound--target.zip
build_type: inbound
build_url: https://queue.taskcluster.net/v1/task/Hz9O9fzvRCaYEsNVMiEtdA/runs/0/artifacts/public%2Fbuild%2Ftarget.zip
changeset: a84e38913297864e8a3116621278a960db0444a5
pushlog_url: https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=a84e38913297864e8a3116621278a960db0444a5&tochange=d4f80c4ba719d375e3b6d81a2fdd58007475f53c
repo_name: mozilla-inbound
repo_url: https://hg.mozilla.org/integration/mozilla-inbound
task_id: Hz9O9fzvRCaYEsNVMiEtdA
This bug went live with 59.00, you can see the discussion between myself and another user on reddit today (https://www.reddit.com/r/firefox/comments/8455vg/sites_not_loading_properly_did_a_refresh_tried/).  I would definitely describe it as major.
Has Regression Range: --- → yes
Keywords: regression
Flags: needinfo?(bas)
Hey Milan, this looks like something we need to prioritize higher than P3. Van you take a look?
Flags: needinfo?(bas)
Priority: P3 → --
Flags: needinfo?(milan)
Tracking for 59, I'd like to keep an eye on this since it sounds like it may affect many people. 
We may want to note it as a known issue.
Hrm, obviously not many people are seeing this or we would've heard of it a bit more :-). Could someone experiencing this issue post their about:graphics section?

Also, could you try to just disable direct2d? (set gfx.direct2d.disabled to true)

Jonathan, within the posted regression range, if correct, it seems most likely this is the result of your patches as I doubt IntoLuminanceSource gets called a lot for this situation (although you never really know so I'm trying to see if there's something in there that could cause it). Any chance you can reproduce this Jonathan?
Flags: needinfo?(jfkthame)
(In reply to Bas Schouten (:bas.schouten) from comment #9)
> Hrm, obviously not many people are seeing this or we would've heard of it a
> bit more :-). Could someone experiencing this issue post their
> about:graphics section?
> 
> Also, could you try to just disable direct2d? (set gfx.direct2d.disabled to
> true)
> 
> Jonathan, within the posted regression range, if correct, it seems most
> likely this is the result of your patches as I doubt IntoLuminanceSource
> gets called a lot for this situation (although you never really know so I'm
> trying to see if there's something in there that could cause it). Any chance
> you can reproduce this Jonathan?

Oh, and another question, can someone who can reproduce this check if layers.omtp.disabled affects it?
Assignee: nobody → bas
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
(In reply to Bas Schouten (:bas.schouten) from comment #9)

> Jonathan, within the posted regression range, if correct, it seems most
> likely this is the result of your patches as I doubt IntoLuminanceSource
> gets called a lot for this situation (although you never really know so I'm
> trying to see if there's something in there that could cause it). Any chance
> you can reproduce this Jonathan?

Not at home with my Windows machine right now, but I'll try later; leaving ni? in place to remind myself. However, from attachment 8948075 [details] it looks like it's a more general refresh/painting issue, not only affecting text; as such I think the font-related bugs in the pushlog range seem unlikely culprits.

If another affected user could try to confirm the regression range, that might be really helpful.
(In reply to Bas Schouten (:bas.schouten) from comment #10)
> Oh, and another question, can someone who can reproduce this check if
> layers.omtp.disabled affects it?

disabling omtp apparently doesn't help: https://www.reddit.com/r/firefox/comments/84ecdw/firefox_59_after_update_bugged_as_hell/dvow8bq/?context=3
> Oh, and another question, can someone who can reproduce this check if
> layers.omtp.disabled affects it?

Сhanged the value layers.omtp.enabled to false - no changes with this bug.
status-firefox60: --- → affected
status-firefox61: --- → affected
FWIW, the symptoms described here seem quite similar to bug 1438374; I don't know if it's really the same underlying cause or not.
the user at https://support.mozilla.org/en-US/questions/1209202#answer-1088111 has narrowed the problem down to having cleartype rendering for fonts disabled in windows. when i tried this as well i did see the issues intermittently while browsing around for a few minutes too...
Looks like Windows 7, 8, and 10 ship with cleartype enabled by default. We could add a SUMO page explaining the issue and advising users to workaround it by enabling cleartype, and try to fix the underlying issue in a 59.0.1 dot release.  I don't think this is a blocker to letting people update to 59, but let me know if you disagree.
 https://twitter.com/tbazsi95/status/973962785557278720 
I am tracking these on twitter and may post more info.
Enabling cleartype does seem to reduce the frequency of incorrectly rendered pages, but only by 50% or so.  Roughly a third of all pages still seem to intermittently render with a large number of missing or misplaced elements.  I would not recommend it as a temporary workaround.
Thanks Matt M. and guigs. Then we still may not know how many users are affected. We will need to keep a close eye on the scope of the problem over the next day or two, and in the meantime will keep working on a fix.
andrei, can your team reproduce this  - testing hardware acceleration on/off and with cleartype settings changed? I'm hoping some systematic testing might help with a fix.
Flags: needinfo?(andrei.vaida)
(In reply to [:philipp] from comment #14)
> (In reply to Bas Schouten (:bas.schouten) from comment #10)
> > Oh, and another question, can someone who can reproduce this check if
> > layers.omtp.disabled affects it?
> 
> disabling omtp apparently doesn't help:
> https://www.reddit.com/r/firefox/comments/84ecdw/
> firefox_59_after_update_bugged_as_hell/dvow8bq/?context=3

Same for the following user, but disabling HA helped: https://support.mozilla.org/questions/1209275 

If a user doesn't want to enable ClearType in Windows, can we ask them to switch off use of ClearType in Firefox as a potential workaround or test? I don't know whether this preference can do that or whether other changes are required.

gfx.font_rendering.cleartype_params.rendering_mode preference

These values enable sub-pixel anti-aliasing/positioning:

//     -1 or 0 = use default for font & size;
//     4 = Natural;
//     5 = Natural Symmetric

These do not -- do they bypass the need for ClearType:

//     1 = aliased;
//     2 = GDI Classic;
//     3 = GDI Natural Widths;
(In reply to Matt M. from comment #21)
> Enabling cleartype does seem to reduce the frequency of incorrectly rendered
> pages, but only by 50% or so.  Roughly a third of all pages still seem to
> intermittently render with a large number of missing or misplaced elements. 
> I would not recommend it as a temporary workaround.

With ClearType *enabled*, can you find us a regression range with mozregression? I am interested if it still gives us the same range as nerazzurro-v found.
Flags: needinfo?(shinsugoi)
Sounds like this is text related in someway, I suppose that's 'good' since I had no idea how the other patch could've possibly affected so much rendering. I'm guessing we're messing up the cleartype settings somewhere, didn't we have a bug like this at some point in the past Jonathan? I remember debugging something and sending you a bunch of data, it had to do with some ordering changes causing us to generate some font options class too early or something like that?
I tried to run a regression, but unfortunately the current version doesn't have FF59 as an option for release channel builds, so I just picked the current date as bad.  I can't be 100% sure that I got this correct due to the intermittent nature of the rendering bug, but here's what I got without cleartype enabled: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=27037bf8031067aaea19e6879364bbf7215f1606&tochange=3d0acce0b1de3581e0c584dd37be696f4bf1bb52

With cleartype enabled:  I was unable to find an affected build.  This is quite odd, and in fact it no longer seems to trigger in the release build on my main profile with cleartype enabled.  The only thing that has changed compared to when it still occurred with cleartype on is that I went through the cleartype configuration wizard and tweaked cleartype's appearance compared to the last time it was on.

I hope this helps narrow things down a bit.
Flags: needinfo?(shinsugoi)
Additionally, while performing this testing I noticed that when the bug occurs in a tab, it will affect subsequent pages rendered in that tab, but other tabs will repeatedly render the same content correctly.  I also noticed that applying any level of scaling (+/-) will completely bypass the bug and render correctly.
One final addition (I wish you could edit comments).  I normally fully disable font smoothing in windows via the registry key \HKEY_CURRENT_USER\Control Panel\Desktop\Font Smoothing.  Even with cleartype off, font smoothing is still applied to some fonts, and that interaction may be important here.  With this registry key set to 0 or 1, font smoothing is completely disabled.  (The default is 2)

Hopefully this will help in replication.
I tried to reproduce the bug using an older version of Nightly (2017-11-24), beta 59.0b6 and Firefox 58.0.1 - en-US and ru builds, but I couldn't. 

I changed the two prefs:
 - gfx.direct2d.disabled to true
 - layers.omtp.enabled to false

I even changed both Font Smoothing to 0 and turned off the ClearType. In the browser I changed the Tabs settings. I still couldn't reproduce the issue. 

I tried every combination I could think of. Did I miss something? Or can you still reproduce it?
Flags: needinfo?(nerazzurro-v)
59, 60, 61 versions - I can reproduce this problem with the default settings.
58 version - there are almost no problems with the default settings.
58 version and earlier - I can reproduce this problem with the two options enabled - 
Ctrl + Tab cycles through tabs in recently used order & Search for text when you start typing, if I open sites in new tabs very fast.

Always in these cases ClearType has been disabled.

If ClearType is enabled, I do not observe this bug anywhere.
Flags: needinfo?(nerazzurro-v)
Don't know if this helps, but I was having this bug happen to me regularly in 58, but only on a single page: the Tumblr dashboard. It was easy enough to work around by closing and reopening the tab, so I didn't bother reporting it. But ever since updating to 59, it's happening to me on nearly every page, and nearly constantly; only the "change zoom level" workaround is making Firefox usable for me right now. (Though interestingly, so far some sites seem totally unaffected, including bugzilla and tweetdeck...)

Also, to clarify something about the "change zoom level" workaround: it really is CHANGING the zoom level, not just having a non-standard zoom level -- and it's also per-tab. If I'm browsing a site, and the bug happens, and I zoom in to 110% to fix it, it'll stay fixed on that tab for as long as I'm at 110% -- but if I middle-click to open another page (of that same site) in a new tab, and switch over to that tab, the bug will be happening in that new tab even though it's still at 110%, and if I zoom back to 100%, then the new tab will be FREE of the bug (but the bug will come back in the original tab!)
(In reply to Oana Botisan from comment #30)
> I even changed both Font Smoothing to 0 and turned off the ClearType. In the
> browser I changed the Tabs settings. I still couldn't reproduce the issue. 
> 
> I tried every combination I could think of. Did I miss something? Or can you
> still reproduce it?

When you disabled font smoothing in windows via the registry edit, did you reboot afterwards?  It requires a restart to take effect.
I had this issue from time to time with 58 (like every few days one page maybe), with 59 it is like 50%. Deactivating hardware accelaration solved it for now. But what I observed was that refeshing an affected page/tag would never solve the page problem, only opening a new tab and pasting the URL there might(!) load the page correctly.
(In reply to jscher2000 from comment #24)
> These values enable sub-pixel anti-aliasing/positioning:
> 
> //     -1 or 0 = use default for font & size;
> //     4 = Natural;
> //     5 = Natural Symmetric
> 
> These do not -- do they bypass the need for ClearType:
> 
> //     1 = aliased;
> //     2 = GDI Classic;
> //     3 = GDI Natural Widths;

Using gfx.font_rendering.cleartype_params.rendering_mode;1 does seem to result in most issues being alleviated even when ClearType and font smoothing are disabled fully in windows.  2 and 3 still had the same frequency of rendering errors.

Could other people experiencing the issue test and see if they also see improvements?
I just changed it to 1, and restarted Firefox, and tried a few of the pages that it frequently happens on, and it seems to be happening just as often (5 in 5 tries).
Attached image Untitled2.png
I managed to reproduce the bug by changing the Font Smoothing to 0 and 1 and using Firefox 59.0. 
I tested everything on latest Nightly, beta 60.0b4 and 59.0.1 and the bug is still reproducing. But in some cases, the page did return to normal if I navigated to some site in the same tab and then I clicked go back. 

However, I did notice something strange after I changed the Font Smoothing and restarted my computer. Some icons on my desktop were missing (you can see the issue in the attached image) and they appeared again only when I hovered the cursor over them. Considering this, couldn't this issue be a Windows related one?
Flags: needinfo?(andrei.vaida)
i found a way to reproduce the problem (with a particular message in my gmail inbox) and got to the same regression range than already provided in comment #3:

>2018-03-16T21:40:16: INFO : Narrowed inbound regression window from [a84e3891, d4f80c4b] (4 builds) to [2ba4e83d, d4f80c4b] (2 builds) (~1 steps left)
>2018-03-16T21:40:16: DEBUG : Starting merge handling...
>2018-03-16T21:40:16: DEBUG : Using url: https://hg.mozilla.org/integration/mozilla-inbound/json-pushes?changeset=d4f80c4ba719d375e3b6d81a2fdd58007475f53c&full=1
>2018-03-16T21:40:17: DEBUG : Found commit message:
>Bug 1403302 - patch 3 - Remove direct cairo dependency from gfxTextRun and gfxGlyphExtents. r=bas

>2018-03-16T21:40:17: INFO : The bisection is done.
>2018-03-16T21:40:17: INFO : Stopped
Blocks: 1403302
So I have also reproduced this with different steps. Bisection was so tricky that I got it wrong. :( I'm just going to leave this here. https://github.com/gorhill/uBlock/issues/3610
> Using gfx.font_rendering.cleartype_params.rendering_mode;1 does seem to
> result in most issues being alleviated even when ClearType and font
> smoothing are disabled fully in windows.  2 and 3 still had the same
> frequency of rendering errors.
> 
> Could other people experiencing the issue test and see if they also see
> improvements?

Tried that, no change.

BTW in my registry font smoothing is set to 2, ONLY cleartype is OFF. In another user of the same PC, font smoothing is 0 and cleartype is again OFF. Same behaviour, bug still happens.
(In reply to nerazzurro-v from comment #31)
> If ClearType is enabled, I do not observe this bug anywhere.

Same. You also don't need to restart Firefox to see changes, toggling ClearType on and off has an immediate effect on websites that are susceptible. 

I tested the regression range in Comment 3 with the same results.

I also noticed BMO text attachments are sometimes completely blank, a page of plain text may serve as a simple test case.

> gfx.font_rendering.cleartype_params.rendering_mode

No improvement for any values 1-5, restarting after each change.

(In reply to Bas Schouten (:bas.schouten) from comment #9)
> Also, could you try to just disable direct2d? (set gfx.direct2d.disabled to true)

Disabling Direct2D fixes it for me with ClearType off and FontSmoothing=2 on Windows 10 (1709). This is a much better workaround than disabling hardware acceleration completely.

It does not happen with E10S disabled.

It still happens with OMTP disabled.
Hello. I could confirm gfx.direct2d.disabled;true fixes an issue
(In reply to acee from comment #52)
> Hello. I could confirm gfx.direct2d.disabled;true fixes an issue

same here (ClearType off and FontSmoothing=0 or 2)
Bumping severity based on the number of dupes we're seeing coming in. This is clearly an issue that needs urgent attention.
Severity: major → blocker
Priority: -- → P1
BTW, bug 1403302 appears to backout cleanly from m-r, but I don't know what what the consequences of that would be in practice.
I'm still having trouble reproducing this failure on my windows dev system, but I was able to reproduce on an old ultrabook. That's a really painful system to try and debug/develop on, but AFAICT from experimenting with a tryserver build, something like this should resolve the issue. I've pushed a try job based on mozilla-beta, so when the build there is ready we can ask people to try and confirm whether it fixes things: https://treeherder.mozilla.org/#/jobs?repo=try&revision=532160f3be241db588586ce90667dd30fe578f9c.
Attachment #8960258 - Flags: review?(bas)
Assignee: bas → jfkthame
the try build fixes the issue for me on the one page i could persistently reproduce the issue :-)
I registered specifcally because I have been persistantly suffering this bug since the last March update in firefox - many of the fixes suggested 
https://support.mozilla.org/en-US/questions/1209121?page=2

- all of the web pages listed on this thread are similar/identical to the issues that I was experiencing and often required multiple zooming in and out to view web pages properly or simply reloading and retrying.  I have been searching for a fix since the last firefox update - and the lack of identifiable web pages within this error is the reason I believe many have not reported it - as where would we when we cannot even find a page noting the problem ?

Anyway - this thread indicated that it may be a cleartype font issue that can be fixed by enabling/disabling this option in windows 10 

HOWEVER - this is where it gets messy, as to get to the advanced graphics settings to be able to do this has become somewhat of a pain in the rear for most normal users as the recent microsoft anniversiary update removed this advanced graphics option for most, if not all, users who keep windows up-to-date.

https://www.drivethelife.com/windows-10/fix-advanced-display-settings-missing-windows-10-creators-update.html

Note -  do not install this software as it is not required and causes more issues than it might solve :P

to confirm that this has been removed and prevents most of us from doing the required fix:

https://www.tenforums.com/graphic-cards/105385-windows-10-version-1709-advanced-display-settings-missing.html

However, I did manage to find that doing step one from the following web site

https://www.tenforums.com/tutorials/80598-turn-off-cleartype-windows-10-a.html

did manage to bring up the cleartype text tuner - and subsequent to completing this process in windows 10 firefox returned to behaving normally and web sites loaded perfectly again

not sure if this will help anyone narrow down where the issue is in the interaction between FF and windows, with regards this font issue - but I felt it should be noted here to corroborate that people are having this issue

regards
(In reply to [:philipp] from comment #59)
> the try build fixes the issue for me on the one page i could persistently
> reproduce the issue :-)

Great, thanks for testing! If others who see the bug could also download the build from https://queue.taskcluster.net/v1/task/OPM1h82cQVSAv7vBfGQTeg/runs/0/artifacts/public/build/target.zip and confirm whether this fixes the problem, that would be very much appreciated.
Flags: needinfo?(jfkthame)
It's fixed for me in target.zip!
Fixed for me too.
Can confirm. Fixed on all websites I had the most issues (reddit, github) using this testing build.
Fixed for me too.
Fixed for me including when viewing BMO attachments.
Attachment #8960258 - Flags: review?(bas) → review+
Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/3f688199eba1
Discard and re-create mAzureScaledFont if it was created with the wrong sUseClearType setting. r=bas
Fixed for me.  Thank you
Comment on attachment 8960258 [details] [diff] [review]
Discard and re-create mAzureScaledFont if it was created with the wrong sUseClearType setting

Approval Request Comment
[Feature/Bug causing the regression]: bug 1403302
[User impact if declined]: badly broken rendering (text and other content fails to display) with Windows h/w acceleration on some sites
[Is this code covered by automated tests?]: no
[Has the fix been verified in Nightly?]: verified with tryserver build by multiple users (see comments above)
[Needs manual test from QE? If yes, steps to reproduce]: no
[List of other uplifts needed for the feature/fix]: none
[Is the change risky?]: no
[Why is the change risky/not risky?]: simple patch just ensures we re-create the scaled font object if ClearType state is mismatched
[String changes made/needed]: none
Attachment #8960258 - Flags: approval-mozilla-release?
Attachment #8960258 - Flags: approval-mozilla-beta?
Comment on attachment 8960258 [details] [diff] [review]
Discard and re-create mAzureScaledFont if it was created with the wrong sUseClearType setting

This missed yesterday's 60.0b5 build, but let's make sure this gets into b6 later this week.
Attachment #8960258 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
The new test build fixed it for me too, looks promising.

Jonathan Kew - great work! (Just registered to post this, as this has been the most serious Firefox bug I've encountered "live".)
Sounds very promising from all the reports from people testing the try build. We can go ahead with uplift to m-r  - though I'm not sure of the timing for 59.0.2 yet, when it does, we won't forget to include this fix.
Comment on attachment 8960258 [details] [diff] [review]
Discard and re-create mAzureScaledFont if it was created with the wrong sUseClearType setting

Approving for 59.0.2 as noted by Liz earlier. We're still tracking another issue or two for that release, so we aren't entirely sure exactly when yet it'll be ready, but this fix will be included in it.
Attachment #8960258 - Flags: approval-mozilla-release? → approval-mozilla-release+
With regard to this line: https://hg.mozilla.org/releases/mozilla-release/file/371f01835b6f/gfx/thebes/gfxDWriteFonts.cpp#l671

Shouldn't mAzureScaledFont be deleted first before setting it to nullptr?
(In reply to Rob from comment #80)
> With regard to this line:
> https://hg.mozilla.org/releases/mozilla-release/file/371f01835b6f/gfx/thebes/
> gfxDWriteFonts.cpp#l671
> 
> Shouldn't mAzureScaledFont be deleted first before setting it to nullptr?

No; mAzureScaledFont is a RefPtr, which means it will take care of this automatically.
https://hg.mozilla.org/mozilla-central/rev/3f688199eba1
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
Flags: needinfo?(milan)
Thank you for solving this bug!

I would like to contribute that I made the experience "the other way round":
FF 59.0.1. did fine for me.
Then 2 days ago I offline updated the newest windows updates since about 6 weeks
(http://forums.wsusoffline.net/viewtopic.php?f=4&t=7767).
And WITH THAT I got the effect of this bug in FF.
Does this effect fit into the way you explain the bug?

Disabling HWA worked for me. Also FF 59.0.2.
(BTW in Windows Live Mail I'using it shows HTML mails always in truetype since
that windows update,
although it is not activated and without any chance to deactivate in the
settings, IE, ...)
System: Win7-64 Prof. SP1
Flags: qe-verify+
I retested everything using the latest Nightly 62.0a1, beta 61.0b6 and Firefox 60.0.1 and 59.0.3 on Windows 10 x64. The bug is not reproducing anymore.
Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.