Closed Bug 1446280 Opened 6 years ago Closed 6 years ago

Firefox 59 fills up memory and create hundreds of threads per seconds

Categories

(Core :: Disability Access APIs, defect)

59 Branch
x86_64
Windows 7
defect
Not set
major

Tracking

()

RESOLVED FIXED
mozilla61
Tracking Status
relnote-firefox --- 59+
firefox-esr52 --- unaffected
firefox59 blocking fixed
firefox60 --- fixed
firefox61 --- fixed

People

(Reporter: baptiste.millemathias, Assigned: bugzilla)

References

Details

Attachments

(3 files, 1 obsolete file)

User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3372.0 Safari/537.36

Steps to reproduce:

Since the latest stable 59 version firefox is not usable anymore because as soon it starts it starts filling memory and 


Actual results:

at look at performance tools showed Firefox starts hundreds of threads per seconds rapidly reaching hundreds of thousand of threads.
it is 100% reproducible on my laptop (Windows 7 Pro SP1) and a colleague laptop, we have the same hardware.
On Linux, the same behavior doesn't exist.


Expected results:

Guess ? :)
OS: Unspecified → Windows 7
Hardware: Unspecified → x86_64
Running in safe mode doesn't help
Confirmed, same issue on my windows 7 machine, Firefox 59 start, and immediatly forks thousands threads, until memory is filled up and machine dies :/

Tried in safe mode too, doesn't change anything, same problem.
Can you get to about:support on an affected machine and paste the info here?
Application Basics
------------------

Name: Firefox
Version: 59.0
Build ID: 20180310025718
Update Channel: release
User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0
OS: Windows_NT 6.1
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-c65913a4-f430-47f4-a3cb-3f8db1180315
Submitted: 1 day ago

All Crash Reports (including 1 pending crash 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: Web Compat
Version: 1.1
ID: webcompat@mozilla.org

Extensions
----------

Name: Cisco WebEx Extension
Version: 1.0.13
Enabled: true
ID: ciscowebexstart1@cisco.com

Name: Push to Kindle
Version: 1.7.1
Enabled: true
ID: jid0-GokC6R49cBZciOKniufAR4QKFWc@jetpack

Name: Test Pilot
Version: 2.0.7-dev-b9268d2
Enabled: true
ID: @testpilot-addon

Name: dotEPUB
Version: 1.2.5
Enabled: false
ID: jid1-xvjf0Huq7OaIkg@jetpack

Name: RESTED
Version: 2.1.1
Enabled: false
ID: rested@restedclient

Name: WebEx Productivity Tools
Version: 2.0
Enabled: false
ID: ocplugin@webex.com

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: 00000000000093ae) 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_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_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource 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 (Intel(R) HD Graphics 530 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: 00000000000093ae) 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_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_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource 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 (Intel(R) HD Graphics 530 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 (6.2.9200.22164)
GPU #1
Active: Yes
Description: Intel(R) HD Graphics 530
Vendor ID: 0x8086
Device ID: 0x191b
Driver Version: 20.19.15.4483
Driver Date: 7-1-2016
Drivers: igdumdim64 igd10iumd64 igd10iumd64 igdumdim32 igd10iumd32 igd10iumd32
Subsys ID: 06df1028
RAM: Unknown

Diagnostics
ClearType Parameters: DISPLAY1 [ Gamma: 2.2 Pixel Structure: RGB ClearType Level: 50 Enhanced Contrast: 50 ] DISPLAY2 [ Gamma: 2.2 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 50 ] DISPLAY3 [ 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: 14896
ClearType Parameters: DISPLAY1 [ Gamma: 2.2 Pixel Structure: RGB ClearType Level: 50 Enhanced Contrast: 50 ] DISPLAY2 [ Gamma: 2.2 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 50 ] DISPLAY3 [ 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
unavailable by runtime: Build doesn't include WebRender
ADVANCED_LAYERS:
available by user: Enabled for Windows 7 via user-preference

Workarounds
NO_CONSTANT_BUFFER_OFFSETTING: Unsupported by driver


Media
-----

Audio Backend: wasapi
Max Channels: 2
Preferred Channel Layout: stereo
Preferred Sample Rate: 44100
Output Devices
Name: Group
EPSON PJ (Intel(R) Display Audio):
Speakers (ClickShare): USB\VID_0600&PID_0070&MI_01\6&2f1a1ae7&0&0001
Speakers / Headphones (Realtek Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0293&SUBSYS_102806DF&REV_1000\4&692ada5&0&0001
Headset Earphone (2- Plantronics C520-M): USB\VID_047F&PID_C036&MI_00\7&29cb5d40&0&0000
Headphone (Realtek Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0293&SUBSYS_102806DF&REV_1000\4&692ada5&0&0001
Headset Earphone (3- Plantronics C520-M): USB\VID_047F&PID_C036&MI_00\8&5887e68&0&0000
EPSON PJ (Intel(R) Display Audio): HDAUDIO\FUNC_01&VEN_8086&DEV_2809&SUBSYS_80860101&REV_1000\4&692ada5&0&0201
Headset Earphone (Plantronics C520-M): USB\VID_047F&PID_C018&MI_00\7&1a8354c2&0&0000
Input Devices
Name: Group
Sidetone (2- Plantronics C520-M): USB\VID_047F&PID_C036&MI_00\7&29cb5d40&0&0000
Stereo Mix (Realtek Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0293&SUBSYS_102806DF&REV_1000\4&692ada5&0&0001
Sidetone (3- Plantronics C520-M): USB\VID_047F&PID_C036&MI_00\8&5887e68&0&0000
Headset Microphone (Plantronics C520-M): USB\VID_047F&PID_C018&MI_00\7&1a8354c2&0&0000
Microphone Array (Realtek Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0293&SUBSYS_102806DF&REV_1000\4&692ada5&0&0001
Dock Mic (Realtek Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0293&SUBSYS_102806DF&REV_1000\4&692ada5&0&0001
Headset Microphone (2- Plantronics C520-M): USB\VID_047F&PID_C036&MI_00\7&29cb5d40&0&0000
Headset Microphone (3- Plantronics C520-M): USB\VID_047F&PID_C036&MI_00\8&5887e68&0&0000
Sidetone (Plantronics C520-M): USB\VID_047F&PID_C018&MI_00\7&1a8354c2&0&0000
Jack Mic (Realtek Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0293&SUBSYS_102806DF&REV_1000\4&692ada5&0&0001

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

accessibility.force_disabled: 1
accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 358400
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.hashstats_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.cache.disk.smart_size.use_old_max: false
browser.cache.frecency_experiment: 1
browser.download.manager.alertOnEXEOpen: true
browser.places.smartBookmarksVersion: 8
browser.search.useDBForOrder: true
browser.sessionstore.upgradeBackup.latestBuildID: 20180310025718
browser.startup.homepage: https://intranet.mycorp.com/sites/nce/Pages/local-home.aspx
browser.startup.homepage_override.buildID: 20180310025718
browser.startup.homepage_override.mstone: 59.0
browser.tabs.crashReporting.includeURL: true
browser.tabs.remote.autostart.2: true
browser.urlbar.daysBeforeHidingSuggestionsPrompt: 0
browser.urlbar.lastSuggestionsPromptDate: 20170725
browser.urlbar.searchSuggestionsChoice: true
browser.urlbar.timesBeforeHidingSuggestionsHint: 0
dom.ipc.processCount.web: 4
dom.push.userAgentID: b89aba5ca69e4e69ab7a0ff075711cf5
extensions.lastAppVersion: 59.0
font.internaluseonly.changed: false
gfx.crash-guard.d3d11layers.appVersion: 56.0
gfx.crash-guard.d3d11layers.deviceID: 0x191b
gfx.crash-guard.d3d11layers.driverVersion: 20.19.15.4483
gfx.crash-guard.d3d11layers.feature-d2d: true
gfx.crash-guard.d3d11layers.feature-d3d11: true
gfx.crash-guard.status.d3d11layers: 2
layers.mlgpu.sanity-test-failed: false
media.benchmark.vp9.fps: 73
media.benchmark.vp9.versioncheck: 3
media.gmp-gmpopenh264.abi: x86_64-msvc-x64
media.gmp-gmpopenh264.lastUpdate: 1511422319
media.gmp-gmpopenh264.version: 1.7.1
media.gmp-manager.buildID: 20180310025718
media.gmp-manager.lastCheck: 1521100257
media.gmp-widevinecdm.abi: x86_64-msvc-x64
media.gmp-widevinecdm.lastUpdate: 1508741835
media.gmp-widevinecdm.version: 1.4.8.1008
media.gmp.storage.version.observed: 1
media.hardware-video-decoding.failed: false
media.webrtc.debug.log_file: C:\Users\BMILLE~1\AppData\Local\Temp\WebRTC.log
network.automatic-ntlm-auth.allow-non-fqdn: true
network.automatic-ntlm-auth.trusted-uris: http://rndwww.nce.mycorp.net,https://myservicedesk.mycorp.com/,https://phoneselfservice.mycorp.net,https://rndwww.nce
network.cookie.prefsMigrated: true
network.http.max-persistent-connections-per-proxy: 255
network.negotiate-auth.allow-non-fqdn: true
network.negotiate-auth.delegation-uris: http://rndwww.nce.mycorp.net,https://myservicedesk.mycorp.com/,https://phoneselfservice.mycorp.net,https://rndwww.nce
network.negotiate-auth.trusted-uris: http://rndwww.nce.mycorp.net,https://myservicedesk.mycorp.com/,https://phoneselfservice.mycorp.net,https://rndwww.nce
network.predictor.cleaned-up: true
places.database.lastMaintenance: 1520889793
places.history.expiration.transient_current_max_pages: 147687
plugin.disable_full_page_plugin_for_types: application/pdf
plugins.ctprollout.cohort: test
plugins.ctprollout.cohortSample: 0.661502
print.printer_\\nceuniflow\nceprtuniflow.print_bgcolor: false
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_bgcolor: false
print.printer_\\nceuniflow\nceprtuniflow.print_bgimages: false
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_bgimages: false
print.printer_\\nceuniflow\nceprtuniflow.print_duplex: -437918235
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_duplex: -437918235
print.printer_\\nceuniflow\nceprtuniflow.print_edge_bottom: 0
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_edge_bottom: 0
print.printer_\\nceuniflow\nceprtuniflow.print_edge_left: 0
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_edge_left: 0
print.printer_\\nceuniflow\nceprtuniflow.print_edge_right: 0
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_edge_right: 0
print.printer_\\nceuniflow\nceprtuniflow.print_edge_top: 0
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_edge_top: 0
print.printer_\\nceuniflow\nceprtuniflow.print_evenpages: true
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_evenpages: true
print.printer_\\nceuniflow\nceprtuniflow.print_footercenter:
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_footercenter:
print.printer_\\nceuniflow\nceprtuniflow.print_footerleft: &PT
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_footerleft: &PT
print.printer_\\nceuniflow\nceprtuniflow.print_footerright: &D
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_footerright: &D
print.printer_\\nceuniflow\nceprtuniflow.print_headercenter:
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_headercenter:
print.printer_\\nceuniflow\nceprtuniflow.print_headerleft: &T
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_headerleft: &T
print.printer_\\nceuniflow\nceprtuniflow.print_headerright: &U
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_headerright: &U
print.printer_\\nceuniflow\nceprtuniflow.print_in_color: true
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_in_color: true
print.printer_\\nceuniflow\nceprtuniflow.print_margin_bottom: 0.5
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_margin_bottom: 0.5
print.printer_\\nceuniflow\nceprtuniflow.print_margin_left: 0.5
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_margin_left: 0.5
print.printer_\\nceuniflow\nceprtuniflow.print_margin_right: 0.5
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_margin_right: 0.5
print.printer_\\nceuniflow\nceprtuniflow.print_margin_top: 0.5
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_margin_top: 0.5
print.printer_\\nceuniflow\nceprtuniflow.print_oddpages: true
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_oddpages: true
print.printer_\\nceuniflow\nceprtuniflow.print_orientation: 0
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_orientation: 0
print.printer_\\nceuniflow\nceprtuniflow.print_page_delay: 50
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_page_delay: 50
print.printer_\\nceuniflow\nceprtuniflow.print_paper_data: 9
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_paper_data: 9
print.printer_\\nceuniflow\nceprtuniflow.print_paper_height: -1.00
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_paper_height: -1.00
print.printer_\\nceuniflow\nceprtuniflow.print_paper_name:
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_paper_name:
print.printer_\\nceuniflow\nceprtuniflow.print_paper_size_unit: 1
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_paper_size_unit: 1
print.printer_\\nceuniflow\nceprtuniflow.print_paper_width: -1.00
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_paper_width: -1.00
print.printer_\\nceuniflow\nceprtuniflow.print_resolution: 600
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_resolution: 600
print.printer_\\nceuniflow\nceprtuniflow.print_reversed: false
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_reversed: false
print.printer_\\nceuniflow\nceprtuniflow.print_scaling: 1.00
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_scaling: 1.00
print.printer_\\nceuniflow\nceprtuniflow.print_shrink_to_fit: true
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_shrink_to_fit: true
print.printer_\\nceuniflow\nceprtuniflow.print_to_file: false
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_to_file: false
print.printer_\\nceuniflow\nceprtuniflow.print_unwriteable_margin_bottom: 0
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_unwriteable_margin_bottom: 0
print.printer_\\nceuniflow\nceprtuniflow.print_unwriteable_margin_left: 0
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_unwriteable_margin_left: 0
print.printer_\\nceuniflow\nceprtuniflow.print_unwriteable_margin_right: 0
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_unwriteable_margin_right: 0
print.printer_\\nceuniflow\nceprtuniflow.print_unwriteable_margin_top: 0
print.printer_\\nceuniflow\NCEPRTUNIFLOW.print_unwriteable_margin_top: 0
print.printer_\\nceuniflow\nceuniflowpcl.print_bgcolor: false
print.printer_\\nceuniflow\nceuniflowpcl.print_bgimages: false
print.printer_\\nceuniflow\nceuniflowpcl.print_duplex: -437918235
print.printer_\\nceuniflow\nceuniflowpcl.print_edge_bottom: 0
print.printer_\\nceuniflow\nceuniflowpcl.print_edge_left: 0
print.printer_\\nceuniflow\nceuniflowpcl.print_edge_right: 0
print.printer_\\nceuniflow\nceuniflowpcl.print_edge_top: 0
print.printer_\\nceuniflow\nceuniflowpcl.print_evenpages: true
print.printer_\\nceuniflow\nceuniflowpcl.print_footercenter:
print.printer_\\nceuniflow\nceuniflowpcl.print_footerleft: &PT
print.printer_\\nceuniflow\nceuniflowpcl.print_footerright: &D
print.printer_\\nceuniflow\nceuniflowpcl.print_headercenter:
print.printer_\\nceuniflow\nceuniflowpcl.print_headerleft: &T
print.printer_\\nceuniflow\nceuniflowpcl.print_headerright: &U
print.printer_\\nceuniflow\nceuniflowpcl.print_in_color: true
print.printer_\\nceuniflow\nceuniflowpcl.print_margin_bottom: 0.5
print.printer_\\nceuniflow\nceuniflowpcl.print_margin_left: 0.5
print.printer_\\nceuniflow\nceuniflowpcl.print_margin_right: 0.5
print.printer_\\nceuniflow\nceuniflowpcl.print_margin_top: 0.5
print.printer_\\nceuniflow\nceuniflowpcl.print_oddpages: true
print.printer_\\nceuniflow\nceuniflowpcl.print_orientation: 0
print.printer_\\nceuniflow\nceuniflowpcl.print_page_delay: 50
print.printer_\\nceuniflow\nceuniflowpcl.print_paper_data: 9
print.printer_\\nceuniflow\nceuniflowpcl.print_paper_height: 297.00
print.printer_\\nceuniflow\nceuniflowpcl.print_paper_name:
print.printer_\\nceuniflow\nceuniflowpcl.print_paper_size_unit: 1
print.printer_\\nceuniflow\nceuniflowpcl.print_paper_width: 210.00
print.printer_\\nceuniflow\nceuniflowpcl.print_resolution: 600
print.printer_\\nceuniflow\nceuniflowpcl.print_reversed: false
print.printer_\\nceuniflow\nceuniflowpcl.print_scaling: 1.00
print.printer_\\nceuniflow\nceuniflowpcl.print_shrink_to_fit: true
print.printer_\\nceuniflow\nceuniflowpcl.print_to_file: false
print.printer_\\nceuniflow\nceuniflowpcl.print_unwriteable_margin_bottom: 0
print.printer_\\nceuniflow\nceuniflowpcl.print_unwriteable_margin_left: 0
print.printer_\\nceuniflow\nceuniflowpcl.print_unwriteable_margin_right: 0
print.printer_\\nceuniflow\nceuniflowpcl.print_unwriteable_margin_top: 0
privacy.cpd.cache: false
privacy.cpd.cookies: false
privacy.cpd.downloads: false
privacy.cpd.formdata: false
privacy.cpd.history: false
privacy.cpd.sessions: false
privacy.cpd.siteSettings: true
privacy.sanitize.timeSpan: 0
security.disable_button.openCertManager: false
security.disable_button.openDeviceManager: false
security.sandbox.content.tempDirSuffix: {b99d1041-f870-43cf-b953-dc675719d21e}
services.sync.declinedEngines:
services.sync.engine.addresses: true
services.sync.engine.bookmarks.validation.lastTime: 1521099122
services.sync.engine.prefs.modified: false
services.sync.lastPing: 1521190961
services.sync.lastSync: Fri Mar 16 2018 10:02:44 GMT+0100 (Romance Standard Time)
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1520889788

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

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

JavaScript
----------

Incremental GC: true

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

Activated: false
Prevent Accessibility: 1
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-IE"]
Default Locale: "en-US"
Operating System
System Locales: ["en-US"]
Regional Preferences: ["en-IE"]
Attached file msinfo-hardware.txt
export from msinfor for hardware part
Attached file msinfo-components.txt
Laptop is Latitude E5570 with 16 GB RAM two video cards

OS Name	Microsoft Windows 7 Enterprise
Version	6.1.7601 Service Pack 1 Build 7601
Other OS Description 	Not Available
OS Manufacturer	Microsoft Corporation
System Name	XXXX50896
System Manufacturer	Dell Inc.
System Model	Latitude E5570
System Type	x64-based PC
Processor	Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz, 2700 Mhz, 4 Core(s), 8 Logical Processor(s)
BIOS Version/Date	Dell Inc. 1.12.6, 07/02/2017
SMBIOS Version	3.0
Windows Directory	C:\windows
System Directory	C:\windows\system32
Boot Device	\Device\HarddiskVolume1
Locale	United States
Hardware Abstraction Layer	Version = "6.1.7601.24024"
User Name	AMAIISDOM\bmillemathias
Time Zone	Romance Standard Time
Installed Physical Memory (RAM)	16.0 GB
Total Physical Memory	15.7 GB
Available Physical Memory	9.76 GB
Total Virtual Memory	31.3 GB
Available Virtual Memory	25.1 GB
Page File Space	15.7 GB
Page File	C:\pagefile.sys
It would be very helpful to see an ETW recording of about 60 seconds of this thread-mania. Are you willing to collect a trace and share it? https://randomascii.wordpress.com/2015/09/01/xperf-basics-recording-a-trace-the-ultimate-easy-way/ (Please take note of the warnings about personal information.)
@david I sent you a mail with a link to the ETW trace
Aaron: the ETW trace shows lots of time in GatherInstantiatorTelemetry/AppendVersionInfo, lots of thread creation activity in a11y::SetInstantiator, and memory usage increasing at a pretty much constant rate over time. Can you please take a look?
Blocks: 1419886
Flags: needinfo?(aklotz)
To be more concrete: there's a new SetInstantiator thread being created regularly every 0.05 seconds.
> To be more concrete: there's a new SetInstantiator thread being created regularly every 0.05 seconds.

Sorry, I miscalulcated. More like every 0.35 seconds.
Baptiste reports in IRC that the "Prevent accessibility services from accessing your browser" setting works around this issue.
aklotz I sent you the link to the ETW trace as well as requested by David
> xul.dll!NS_NewNamedThread
>   |- xul.dll!mozilla::a11y::SetInstantiator
>   |    |- xul.dll!mozilla::a11y::LazyInstantiator::ShouldInstantiate
>   |    |    |- xul.dll!mozilla::a11y::LazyInstantiator::MaybeResolveRoot
>   |    |    |    |- xul.dll!mozilla::a11y::LazyInstantiator::QueryInterface
>   |    |    |    |    |- ole32.dll!GetChannelCallMgr
>   |    |    |    |    |    ole32.dll!AsyncStubInvoke
>   |    |    |    |    |    ole32.dll!StubInvoke
>   |    |    |    |    |    |- ole32.dll!CCtxComChnl::ContextInvoke
>   |    |    |    |    |    |    ole32.dll!MTAInvoke
>   |    |    |    |    |    |    |- ole32.dll!STAInvoke
>   |    |    |    |    |    |    |    |- ole32.dll!AppInvoke
>   |    |    |    |    |    |    |    |    |- ole32.dll!ComInvokeWithLockAndIPID
>   |    |    |    |    |    |    |    |    |    |- ole32.dll!ComInvoke
>   |    |    |    |    |    |    |    |    |    |    |- ole32.dll!ThreadDispatch
>   |    |    |    |    |    |    |    |    |    |    |    |- ole32.dll!ThreadWndProc
>   |    |    |    |    |    |    |    |    |    |    |    |    |- user32.dll!UserCallWinProcCheckWow
>   |    |    |    |    |    |    |    |    |    |    |    |    |    user32.dll!DispatchMessageWorker
>   |    |    |    |    |    |    |    |    |    |    |    |    |    |- xul.dll!nsAppShell::ProcessNextNativeEvent
>   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |- xul.dll!nsBaseAppShell::DoProcessNextNativeEvent
>   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |- xul.dll!nsBaseAppShell::OnProcessNextEvent
>   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |- xul.dll!nsThread::ProcessNextEvent
>   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |- xul.dll!NS_ProcessNextEvent
>   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |- xul.dll!mozilla::ipc::MessagePump::Run
>   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |- xul.dll!MessageLoop::RunHandler
>   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |- xul.dll!MessageLoop::Run
>   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |- xul.dll!nsBaseAppShell::Run
>   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    xul.dll!nsAppShell::Run
>   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    xul.dll!nsAppStartup::Run
>   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |- xul.dll!XREMain::XRE_mainRun
>   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    xul.dll!XREMain::XRE_main
Oh, that's fun. Looking...
Flags: needinfo?(aklotz)
Assignee: nobody → aklotz
Status: UNCONFIRMED → ASSIGNED
Component: Untriaged → Disability Access APIs
Ever confirmed: true
Product: Firefox → Core
Looks like some software doesn't like being blocked by a11y and is repeatedly pounding Firefox with instantiation requests.

Each request is calling SetInstantiator and spawning a telemetry thread.

I'm sure we can evaluate better solutions in the future, but for the purposes of getting this fixed in the short term (and possibly uplifted to release) I think we need to keep it simple.

I also did a bit of cleanup to that area of the code. We now name the a11y telemetry thread as well.
Attachment #8959653 - Flags: review?(eitan)
Marking this "blocking" since this would be nice to fix in a future 59.0 dot release.
Comment on attachment 8959653 [details] [diff] [review]
a11y::SetInstantiator should only run once

Review of attachment 8959653 [details] [diff] [review]:
-----------------------------------------------------------------

Looks good. I trust what you're doing with the macros.

Small suggestion for preserving our telemetry for multiple instantiators, but I'm fine if you want to land this.

::: accessible/windows/msaa/Platform.cpp
@@ +361,5 @@
>    nsresult rv = aClientExe->GetLeafName(value);
>    if (NS_SUCCEEDED(rv)) {
>      AppendVersionInfo(aClientExe, value);
>    }
>  

Getting this out of the runnable seems like a good idea. Good job

@@ +382,5 @@
> +  // Only record the instantiator once. This is unfortunate in the sense that we
> +  // don't see any additional programs that attempt a11y instantiation, but some
> +  // blocked clients are repeatedly requesting a11y over and over, and we don't
> +  // want to be spawning countless telemetry threads.
> +  if (gInstantiator) {

What if we compared it to the last instantiator? Or better, what if it was a hash set? I would limit its size because who knows how big it could grow out there in the wild..

@@ +404,5 @@
>                               GatherInstantiatorTelemetry(clientExe);
>                             }));
>  
>    nsCOMPtr<nsIThread> telemetryThread;
> +  NS_NewNamedThread("a11y telemetry", getter_AddRefs(telemetryThread), runnable);

Awesome, a named thread!
(In reply to Eitan Isaacson [:eeejay] from comment #19)
> Comment on attachment 8959653 [details] [diff] [review]
> a11y::SetInstantiator should only run once
> 
> Review of attachment 8959653 [details] [diff] [review]:
> -----------------------------------------------------------------
> @@ +382,5 @@
> > +  // Only record the instantiator once. This is unfortunate in the sense that we
> > +  // don't see any additional programs that attempt a11y instantiation, but some
> > +  // blocked clients are repeatedly requesting a11y over and over, and we don't
> > +  // want to be spawning countless telemetry threads.
> > +  if (gInstantiator) {
> 
> What if we compared it to the last instantiator? Or better, what if it was a
> hash set? I would limit its size because who knows how big it could grow out
> there in the wild..

A fair point. I'll figure something out for this.
I'm implementing the "check if it's a different instantiator" check for now.

I think we need to keep is simple for the moment as this will probably uplift to release.
Attachment #8959653 - Attachment is obsolete: true
Attachment #8959653 - Flags: review?(eitan)
Attachment #8959717 - Flags: review?(eitan)
Attachment #8959717 - Flags: review?(eitan) → review+
https://hg.mozilla.org/mozilla-central/rev/2e74592c8f95
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
Hi,

thanks for solving the bug that quick, I have questions related to this.
* Why the fix is not pushed to 59 due the impact it has ?
* Is the bug triggered by a specific environment or does it affect any windows computer ?

thanks
(In reply to Baptiste Mille-Mathias from comment #24)
> * Why the fix is not pushed to 59 due the impact it has ?

We follow a process for pushing changes to the beta and release channels. It starts by landing the change on Nightly. The required approvals for landing on 59 and 60 cannot be obtained until Monday at the earliest. Please be patient.

> * Is the bug triggered by a specific environment or does it affect any
> windows computer ?

This is triggered by a specific environment. Are you running the ask.com toolbar, by any chance?
(In reply to Aaron Klotz [:aklotz] from comment #25)

> > * Is the bug triggered by a specific environment or does it affect any
> > windows computer ?
> 
> This is triggered by a specific environment. Are you running the ask.com
> toolbar, by any chance?

No I don't run this, as we use a corporate laptop with my colleague the only common extension I would think about is the Cisco Webex extension (however we both tried safe mode and the problem was present). Could it come from an external application ?
Comment on attachment 8959717 [details] [diff] [review]
a11y::SetInstantiator should only run once (r2)

Approval Request Comment
[Feature/Bug causing the regression]: bug 1419886
[User impact if declined]: High CPU / memory churn caused by third-party software on some users' computers.
[Is this code covered by automated tests?]: NO
[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]: None
[Is the change risky?]: No
[Why is the change risky/not risky?]: Pretty simple patch that just ensures that the expensive bits only run once.
[String changes made/needed]: None
Attachment #8959717 - Flags: approval-mozilla-release?
Attachment #8959717 - Flags: approval-mozilla-beta?
Comment on attachment 8959717 [details] [diff] [review]
a11y::SetInstantiator should only run once (r2)

Let's get this landed for today's 60.0b5 build so we can get more feedback from a larger audience.
Attachment #8959717 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
(In reply to Baptiste Mille-Mathias from comment #26)
> No I don't run this, as we use a corporate laptop with my colleague the only
> common extension I would think about is the Cisco Webex extension (however
> we both tried safe mode and the problem was present). Could it come from an
> external application ?

Interestingly enough, the purpose of the code in this bug is to get Firefox to display the program that is causing this in the "Accessibility Instantiator" field in about:support.
(In reply to Aaron Klotz [:aklotz] from comment #30)

> Interestingly enough, the purpose of the code in this bug is to get Firefox
> to display the program that is causing this in the "Accessibility
> Instantiator" field in about:support.
Indeed .... 
using FF Nightly, update to latest version and unchecking "Prevent Accessibility services..." ...

The Accessibility Instantiator shows that :
"UNKNOWN|C:\Program Files\Evidian\User Access\ssoengine.exe"

This is our Company SSO system :/

At least even with this active, on nightly, memory and threads are no longer going off the charts, killing the system.

Thx !
(In reply to Aaron Klotz [:aklotz] from comment #30)
> Interestingly enough, the purpose of the code in this bug is to get Firefox
> to display the program that is causing this in the "Accessibility
> Instantiator" field in about:support.

Hi there,
I confirm all the information submitted by Arthur.
Thanks for fixing this that fast.
Is this a widespread issue? Or do we have reports only from some particular enterprise environments?
Both could be true. Aaron do you have any thoughts on the impact of this issue on release 59 users?
Flags: needinfo?(aklotz)
(In reply to Liz Henry (:lizzard) (needinfo? me) from comment #33)
> Is this a widespread issue? Or do we have reports only from some particular
> enterprise environments?
> Both could be true. Aaron do you have any thoughts on the impact of this
> issue on release 59 users?

I think pushing asap to 59 only the fix related to report the "Accessibility Instantiator" could help answer this question, but I'm not developer :)
(In reply to Liz Henry (:lizzard) (needinfo? me) from comment #33)
> Is this a widespread issue? Or do we have reports only from some particular
> enterprise environments?
> Both could be true. Aaron do you have any thoughts on the impact of this
> issue on release 59 users?

It's really hard to say. The code in question runs any time an external process causes us to start accessibility. The behavior seen in this bug is clearly only triggered by specific external programs, only one of which we know about. I doubt that this particular enterprise SSO application is the only one that is engaging in this behavior.
Flags: needinfo?(aklotz)
Comment on attachment 8959717 [details] [diff] [review]
a11y::SetInstantiator should only run once (r2)

Jim also suggested we take it, A+
Attachment #8959717 - Flags: approval-mozilla-release? → approval-mozilla-release+
Did this fix your issue on 59.0.2?
Flags: needinfo?(baptiste.millemathias)
(In reply to Liz Henry (:lizzard) (needinfo? me) from comment #39)
> Did this fix your issue on 59.0.2?

Hi Liz,

yes it fixed the issue.
Flags: needinfo?(baptiste.millemathias)
Severity: normal → major

For some reasons, this bug is used by spammers, restricting it

Restrict Comments: true
You need to log in before you can comment on or make changes to this bug.