Closed
Bug 1389761
Opened 9 years ago
Closed 8 years ago
Memory limitation/internal handling makes FF slow over time
Categories
(Firefox :: Untriaged, defect, P3)
Tracking
()
RESOLVED
INCOMPLETE
People
(Reporter: bikerunner74, Unassigned, NeedInfo)
Details
(Keywords: perf)
Attachments
(1 file)
|
144.14 KB,
application/gzip
|
Details |
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0
Build ID: 20170628075643
Steps to reproduce:
Keep firefox open for some hours and maybe days. I do not restart FF because of open tabs and site logins. And I expect FF works for 1 hour and maybe 3 days (over weekend).
I use the same sites as before. But the handling seems to get worse from release to release.
Actual results:
The firefox is getting slow over time. This happens if the FF process reaches around 1GB process size. (Note: This happened already in single process mode and still happens in multi process mode)
Actions trigger the slowdown:
- try to select text
- open new tabs
- click links
The FF process (or internal causing mechanism) seems to use one thread only. The FF process cause a load off 100% at one core. The action is processed after different time.
This looks like some internal memory handling (GC; like JVM full gc run) issue. The memory is limited and nothing can be removed from heap. Some sites with frequent javascript seems to create data on the heap which is not removed later.
(Bad) workaround): Restart FF or the worker processes helps for a short time. But is happens again.
Expected results:
The memory handling should NOT limit the process performance.
The full UI response stop is a bad behavior. FF should be responsive all time.
It's annoying to have a computer with 32 GB of memory. 16 GM are free but FF does not use any of this memory. Each process seems to be limited to 1 GB. May it be possible to add a max memory setting which can be changed by the user (workaround)?
Are these memory "timeouts" logged somewhere and reported automatically to the FF team? Or can the user submit this information? It's not a crash which cause a crash report. But sometimes I need to kill the FF process and the trace information may be lost.
| Reporter | ||
Comment 1•9 years ago
|
||
May relate to 1370748
Comment 2•9 years ago
|
||
Please, you can make a performance profile with Gecko Profiler (https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Profiling_with_the_Built-in_Profiler , https://perf-html.io/) to see what affects the performance of the browser and paste here the link to the profile.
Flags: needinfo?(bikerunner74)
| Reporter | ||
Comment 3•9 years ago
|
||
I hope the correct information is part of the trace.
Performance trace: https://perfht.ml/2xbQ4Jw
The browser was very slow while selecting text on the page (delayed) and scrolling was slow this time. CPU load was 100% on one CPU core (4 core plus HT enabled).
The used heap (two FF processes are running with multi process enabled) is (working set: 1.623.xxx kB; private set: 1.583.xxx kB) for the firefox.exe and (ws: 2.254.xxxkB; ps: 2.159.xxx kB) on "firefox.exe -contentproc ..." process. xxx part is changing frequently.
about_support content:
----
Application Basics
------------------
Name: Firefox
Version: 54.0.1
Build ID: 20170628075643
Update Channel: release
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0
OS: Windows_NT 10.0
Multiprocess Windows: 1/1 (Enabled by user)
Google Key: Found
Mozilla Location Service Key: Found
Safe Mode: false
Crash Reports for the Last 3 Days
---------------------------------
All Crash Reports
Extensions
----------
Name: Adblock Plus
Version: 2.9.1
Enabled: true
ID: {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}
Name: Application Update Service Helper
Version: 2.0
Enabled: true
ID: aushelper@mozilla.org
Name: Firefox Screenshots
Version: 6.6.0
Enabled: true
ID: screenshots@mozilla.org
Name: Gecko Profiler
Version: 2.1.0
Enabled: true
ID: jid0-edalmuivkozlouyij0lpdx548bc@jetpack
Name: Ghostery
Version: 7.3.2.5
Enabled: true
ID: firefox@ghostery.com
Name: Multi-process staged rollout
Version: 1.50
Enabled: true
ID: e10srollout@mozilla.org
Name: Pocket
Version: 1.0.5
Enabled: true
ID: firefox@getpocket.com
Name: PrefBar
Version: 7.1.0
Enabled: true
ID: {8A6C82A1-F6C9-481a-AAE7-C96444C9A754}
Name: TinyURL Generator
Version: 2.6.1.1-signed.1-signed
Enabled: true
ID: tinyurl.addon@fast-chat.co.uk
Name: uBlock Origin
Version: 1.13.8
Enabled: true
ID: uBlock0@raymondhill.net
Name: Web Compat
Version: 1.1
Enabled: true
ID: webcompat@mozilla.org
Name: Web Developer
Version: 1.2.13
Enabled: true
ID: {c45c406e-ab73-11d8-be73-000a95be3b12}
Name: BetterPrivacy
Version: 1.77
Enabled: false
ID: {d40f5e7b-d2cf-4856-b441-cc613eeffbe3}
Name: RESTClient
Version: 2.0.5
Enabled: false
ID: {ad0d925d-88f8-47f1-85ea-8463569e756e}
Name: SOA Client
Version: 0.2.1-signed.1-signed
Enabled: false
ID: soaclient@santoso
Name: Stylish
Version: 2.0.7
Enabled: false
ID: {46551EC9-40F0-4e47-8E18-8E5CF550CFB8}
Graphics
--------
Features
Compositing: Basic
Asynchronous Pan/Zoom: wheel input enabled
WebGL 1 Driver WSI Info: EGL_VENDOR: Google Inc. (adapter LUID: 000000000000939e) EGL_VERSION: 1.4 (ANGLE 2.1.0.2a250c8a0e15) 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_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
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.2a250c8a0e15)
WebGL 1 Driver Extensions: 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_robust_client_memory 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_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_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_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_shader_texture_lod EXT_texture_filter_anisotropic EXT_disjoint_timer_query MOZ_debug_get 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_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context MOZ_WEBGL_lose_context MOZ_WEBGL_compressed_texture_s3tc MOZ_WEBGL_depth_texture
WebGL 2 Driver WSI Info: EGL_VENDOR: Google Inc. (adapter LUID: 000000000000939e) EGL_VERSION: 1.4 (ANGLE 2.1.0.2a250c8a0e15) 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_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
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.2a250c8a0e15)
WebGL 2 Driver Extensions: 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_robust_client_memory 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_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_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_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 MOZ_debug_get OES_texture_float_linear WEBGL_compressed_texture_s3tc WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context MOZ_WEBGL_lose_context MOZ_WEBGL_compressed_texture_s3tc
Audio Backend: wasapi
Direct2D: true
DirectWrite: true (10.0.10586.962)
GPU #1
Active: Yes
Description: Intel(R) HD Graphics 530
Vendor ID: 0x8086
Device ID: 0x1912
Driver Version: 20.19.15.4454
Driver Date: 5-4-2016
Drivers: igdumdim64 igd10iumd64 igd10iumd64 igd12umd64 igdumdim32 igd10iumd32 igd10iumd32 igd12umd32
Subsys ID: 121c1734
RAM: Unknown
Diagnostics
AzureCanvasAccelerated: 0
AzureCanvasBackend: skia
AzureContentBackend: skia
AzureFallbackCanvasBackend: cairo
failures: [GFX1-]: GPU process disabled after 1 attempts
Decision Log
D3D9_COMPOSITING:
disabled by default: Disabled by default
GPU_PROCESS:
failed by runtime: GPU process disabled after 1 attempts
WEBRENDER:
unavailable by runtime: Build doesn't include WebRender
Failure Log
(#0) Error: GPU process disabled after 1 attempts
(#1) Error: Receive IPC close with reason=AbnormalShutdown
(#2) Error: Receive IPC close with reason=AbnormalShutdown
(#3) Error: Receive IPC close with reason=AbnormalShutdown
(#4) Error: Receive IPC close with reason=AbnormalShutdown
(#5) Error: Receive IPC close with reason=AbnormalShutdown
(#6) Error: [D3D11] failed to get compositor device.
(#7) Error: [D3D11] Failed to init compositor with reason: FEATURE_FAILURE_D3D11_NO_DEVICE
(#8) Error: Compositors might be mixed (4,1)
(#9) Error: [D3D11] failed to get compositor device.
(#10) Error: [D3D11] Failed to init compositor with reason: FEATURE_FAILURE_D3D11_NO_DEVICE
(#11) Error: [D3D11] failed to get compositor device.
(#12) Error: [D3D11] Failed to init compositor with reason: FEATURE_FAILURE_D3D11_NO_DEVICE
(#13) Error: [D3D11] failed to get compositor device.
(#14) Error: [D3D11] Failed to init compositor with reason: FEATURE_FAILURE_D3D11_NO_DEVICE
Important Modified Preferences
------------------------------
accessibility.typeaheadfind: true
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: 2
browser.download.importedFromSqlite: true
browser.places.smartBookmarksVersion: 8
browser.sessionstore.upgradeBackup.latestBuildID: 20170628075643
browser.startup.homepage: about:blank
browser.startup.homepage_override.buildID: 20170628075643
browser.startup.homepage_override.mstone: 54.0.1
browser.tabs.closeWindowWithLastTab: false
browser.tabs.remote.autostart.2: true
browser.tabs.remote.force-enable: true
browser.urlbar.daysBeforeHidingSuggestionsPrompt: 0
browser.urlbar.lastSuggestionsPromptDate: 20160905
browser.urlbar.maxRichResults: 12
browser.urlbar.trimURLs: false
dom.apps.lastUpdate.buildID: 20160922113459
dom.apps.lastUpdate.mstone: 49.0.1
dom.apps.reset-permissions: true
dom.mozApps.used: true
dom.push.userAgentID: 8f1adef35bc4486f956137daf6d53055
extensions.lastAppVersion: 54.0.1
font.internaluseonly.changed: true
gfx.crash-guard.d3d11layers.appVersion: 52.0.2
gfx.crash-guard.d3d11layers.deviceID: 0x1912
gfx.crash-guard.d3d11layers.driverVersion: 20.19.15.4454
gfx.crash-guard.d3d11layers.feature-d2d: true
gfx.crash-guard.d3d11layers.feature-d3d11: true
gfx.crash-guard.glcontext.gfx.driver-init.direct3d11-angle: true
gfx.crash-guard.glcontext.gfx.driver-init.webgl-angle: true
gfx.crash-guard.glcontext.gfx.driver-init.webgl-angle-force-d3d11: false
gfx.crash-guard.glcontext.gfx.driver-init.webgl-angle-force-warp: false
gfx.crash-guard.glcontext.gfx.driver-init.webgl-angle-try-d3d11: true
gfx.crash-guard.status.: 2
gfx.crash-guard.status.d3d11layers: 2
gfx.crash-guard.status.d3d11video: 2
gfx.crash-guard.status.d3d9video: 2
gfx.crash-guard.status.glcontext: 2
gfx.direct3d.last_used_feature_level_idx: 0
media.benchmark.vp9.fps: 233
media.benchmark.vp9.versioncheck: 2
media.gmp-eme-adobe.abi: x86_64-msvc-x64
media.gmp-eme-adobe.lastUpdate: 1466535955
media.gmp-eme-adobe.version: 17
media.gmp-gmpopenh264.abi: x86_64-msvc-x64
media.gmp-gmpopenh264.lastUpdate: 1471472751
media.gmp-gmpopenh264.version: 1.6
media.gmp-manager.buildID: 20170628075643
media.gmp-manager.lastCheck: 1502914349
media.gmp-widevinecdm.abi: x86_64-msvc-x64
media.gmp-widevinecdm.lastUpdate: 1475902084
media.gmp-widevinecdm.version: 1.4.8.903
media.gmp.storage.version.observed: 1
media.hardware-video-decoding.failed: false
media.webrtc.debug.log_file: C:\Users\user\AppData\Local\Temp\WebRTC.log
network.cookie.prefsMigrated: true
network.dns.disablePrefetch: true
network.http.speculative-parallel-limit: 0
network.predictor.cleaned-up: true
network.prefetch-next: false
places.database.lastMaintenance: 1503479941
places.history.expiration.transient_current_max_pages: 145060
plugin.disable_full_page_plugin_for_types: application/pdf
plugin.importedState: true
plugin.state.flash: 0
print.printer_\\jprintserver\P23SCOL.print_bgcolor: false
print.printer_\\jprintserver\P23SCOL.print_bgimages: false
print.printer_\\jprintserver\P23SCOL.print_duplex: -437918235
print.printer_\\jprintserver\P23SCOL.print_edge_bottom: 0
print.printer_\\jprintserver\P23SCOL.print_edge_left: 0
print.printer_\\jprintserver\P23SCOL.print_edge_right: 0
print.printer_\\jprintserver\P23SCOL.print_edge_top: 0
print.printer_\\jprintserver\P23SCOL.print_evenpages: true
print.printer_\\jprintserver\P23SCOL.print_footercenter:
print.printer_\\jprintserver\P23SCOL.print_footerleft: &PT
print.printer_\\jprintserver\P23SCOL.print_footerright: &D
print.printer_\\jprintserver\P23SCOL.print_headercenter:
print.printer_\\jprintserver\P23SCOL.print_headerleft: &T
print.printer_\\jprintserver\P23SCOL.print_headerright: &U
print.printer_\\jprintserver\P23SCOL.print_in_color: true
print.printer_\\jprintserver\P23SCOL.print_margin_bottom: 0.5
print.printer_\\jprintserver\P23SCOL.print_margin_left: 0.5
print.printer_\\jprintserver\P23SCOL.print_margin_right: 0.5
print.printer_\\jprintserver\P23SCOL.print_margin_top: 0.5
print.printer_\\jprintserver\P23SCOL.print_oddpages: true
print.printer_\\jprintserver\P23SCOL.print_orientation: 0
print.printer_\\jprintserver\P23SCOL.print_page_delay: 50
print.printer_\\jprintserver\P23SCOL.print_paper_data: 9
print.printer_\\jprintserver\P23SCOL.print_paper_height: -1,00
print.printer_\\jprintserver\P23SCOL.print_paper_name:
print.printer_\\jprintserver\P23SCOL.print_paper_size_unit: 1
print.printer_\\jprintserver\P23SCOL.print_paper_width: -1,00
print.printer_\\jprintserver\P23SCOL.print_resolution: 600
print.printer_\\jprintserver\P23SCOL.print_reversed: false
print.printer_\\jprintserver\P23SCOL.print_scaling: 1,00
print.printer_\\jprintserver\P23SCOL.print_shrink_to_fit: true
print.printer_\\jprintserver\P23SCOL.print_to_file: false
print.printer_\\jprintserver\P23SCOL.print_unwriteable_margin_bottom: 0
print.printer_\\jprintserver\P23SCOL.print_unwriteable_margin_left: 0
print.printer_\\jprintserver\P23SCOL.print_unwriteable_margin_right: 0
print.printer_\\jprintserver\P23SCOL.print_unwriteable_margin_top: 0
privacy.donottrackheader.enabled: true
privacy.sanitize.migrateFx3Prefs: true
security.sandbox.content.tempDirSuffix: {76834612-5e2c-4847-9b44-c209ccc974dc}
services.sync.declinedEngines: passwords
services.sync.engine.passwords: false
services.sync.engine.prefs.modified: false
services.sync.lastPing: 1503407346
services.sync.lastSync: Wed Aug 23 2017 13:39:11 GMT+0200 (W. Europe Standard Time)
services.sync.numClients: 5
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1502871792
ui.osk.debug.keyboardDisplayReason: IKPOS: Touch screen not found.
Important Locked Preferences
----------------------------
Places Database
---------------
JavaScript
----------
Incremental GC: true
Accessibility
-------------
Activated: false
Prevent Accessibility: 0
Library Versions
----------------
NSPR
Expected minimum version: 4.14
Version in use: 4.14
NSS
Expected minimum version: 3.30.2
Version in use: 3.30.2
NSSSMIME
Expected minimum version: 3.30.2
Version in use: 3.30.2
NSSSSL
Expected minimum version: 3.30.2
Version in use: 3.30.2
NSSUTIL
Expected minimum version: 3.30.2
Version in use: 3.30.2
Experimental Features
---------------------
Sandbox
-------
Content Process Sandbox Level: 1
----
Flags: needinfo?(bikerunner74)
| Reporter | ||
Comment 4•9 years ago
|
||
Comment 5•9 years ago
|
||
> Keep firefox open for some hours and maybe days. I do not restart FF because of open tabs and site logins.
With session restore enabled, you don't need to worry about losing tabs on restart - they all come back. Even after crashes.
> This looks like some internal memory handling (GC; like JVM full gc run) issue. The memory is limited and nothing can be removed from heap. Some sites with frequent javascript seems to create data on the heap which is not removed later.
If Firefox is only using 1GB, GC issue seems unlikely.
Does the same problem happen with Firefox started in safe mode?
Flags: needinfo?(bikerunner74)
| Reporter | ||
Comment 6•9 years ago
|
||
(In reply to Wayne Mery (:wsmwk, NI for questions) from comment #5)
> > Keep firefox open for some hours and maybe days. I do not restart FF because of open tabs and site logins.
>
> With session restore enabled, you don't need to worry about losing tabs on
> restart - they all come back. Even after crashes.
Is this your solution? This may be an ugly workaround. Chrome wins otherwise by usability. And I do not hope I have to switch because of necessary restarts. :/
> > This looks like some internal memory handling (GC; like JVM full gc run) issue. The memory is limited and nothing can be removed from heap. Some sites with frequent javascript seems to create data on the heap which is not removed later.
>
> If Firefox is only using 1GB, GC issue seems unlikely.
FF limits itself. There is plenty of RAM available >10GB but FF does not use it. But the CPU is at 100 percent and FF does react after some seconds. Even page scrolling or select some text with mouse cause timeouts.
> Does the same problem happen with Firefox started in safe mode?
I can test this later. I have limited access to inet for the next two weeks.
Flags: needinfo?(bikerunner74)
Comment 7•9 years ago
|
||
@Mike, can you please take a look at the performance profile? It may help us in selecting the right component.
Flags: needinfo?(mconley)
Comment 8•9 years ago
|
||
The profile shows large pauses waiting for AdBlock Plus, which is sending synchronous IPC messages.
I note that you already have uBlock enabled as well, so there's probably a load of content block redundancy here.
If you disable AdBlock Plus and just use uBlock, do you notice the same behaviour?
Flags: needinfo?(mconley) → needinfo?(bikerunner74)
Comment 9•9 years ago
|
||
I'm keeping this in Untriaged until we know more, but based on the info we have this doesn't look like a blocker for 57. Making it a P3 for investigation.
To the reporter: what version of Firefox are you using? The initial report says Firefox 54.
Priority: -- → P3
Comment 10•9 years ago
|
||
Marking this as Resolved - Incomplete due to the lack of response from the reporter.
If anyone can still reproduce it on the latest versions, feel free to reopen the issue and provide more information.
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
Resolution: --- → INCOMPLETE
| Reporter | ||
Comment 11•9 years ago
|
||
Performance issue still happens in version 55.0.3. Memory usage of firefox processes goes up to 2.2 GB. One window with youtube plays without an issue and controls are usable.
Another window is not usable. I can not click any tab, FF button/menu or any content in the current tab. The CPU usage is at 100 percent for this process (25 percent overall for a 4 core CPU).
Profile is here: https://perfht.ml/2wDVTPt
I'm still not sure if the profiler gathers the right data. Behavior is still:
- CPU goes to 100 percent for a core
- memory usage is increased and does not drop
- browser window is unusable
Flags: needinfo?(bikerunner74)
| Reporter | ||
Updated•9 years ago
|
Status: RESOLVED → UNCONFIRMED
Resolution: INCOMPLETE → ---
Comment 12•8 years ago
|
||
Mike, could you please take a look at the latest performance profile the reporter attached?
Flags: needinfo?(mconley)
Comment 13•8 years ago
|
||
There are two things in this profile that stand out to me:
1. The content process is hanging because it's using sync messages to get cookies from the parent (which is also blocked - see #2). This was fixed in bug 1331680 in Firefox 57, which rolls out to release in just under a month.
2. The parent process is blocked because a WebExtension is behaving very poorly. I can't, unfortunately, tell which add-on is causing the problem here - but if I had to guess, I'd say ABP.
bikerunner74 - would you be able to try disabling ABP and replacing with uBlock Origin (https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/) and seeing if that helps?
Flags: needinfo?(mconley)
Updated•8 years ago
|
Flags: needinfo?(bikerunner74)
| Reporter | ||
Comment 14•8 years ago
|
||
I disabled ABP already on last request and replaced it with uBlock Origin. ABP did not run with this trace.
I have 5 active addons:
Ghostery
PrefBar
TinyURL Generator
uBlock Origin
Web Developer
Disabled:
ABP
BetterPrivacy
Flags: needinfo?(bikerunner74)
| Reporter | ||
Comment 15•8 years ago
|
||
And I missed the Gecko Profiler as active addon.
Comment 16•8 years ago
|
||
I see a whole lot of time spent in the main process in MessageManagerProxy::addListeners from resource://gre/modules/ExtensionUtils.jsm:
22887 Timer::Fire
18034 PBrowser::Msg_AsyncMessage
17991 TabParent::RecvAsyncMessage MessageChannel:Message
17814 js::RunScript
17810 receiveMessage
17720 bound
17719 _handleMessage
17622 js::RunScript
15782 MessageManagerProxy
15715 addListeners
This is the code for addListeners in FF56:
/**
* @private
* Iterates over all of the currently registered message listeners.
*/
* iterListeners() {
for (let [message, listeners] of this.listeners) {
for (let [listener, listenWhenClosed] of listeners) {
yield {message, listener, listenWhenClosed};
}
}
}
/**
* @private
* Adds docShell swap listeners to the message manager owner.
*
* @param {Element} target
* The target element.
*/
addListeners(target) {
target.addEventListener("SwapDocShells", this);
for (let {message, listener, listenWhenClosed} of this.iterListeners()) {
target.addMessageListener(message, listener, listenWhenClosed);
}
this.eventTarget = target;
}
The fact that both CPU and memory are reportedly suffering, doesn't this suggest that the this.listeners collection is maybe growing unduly large?
Comment 17•8 years ago
|
||
(In reply to rhill@raymondhill.net from comment #16)
> The fact that both CPU and memory are reportedly suffering, doesn't this
> suggest that the this.listeners collection is maybe growing unduly large?
That's very plausible. Needinfo'ing kmag who might be able to illuminate this further.
Flags: needinfo?(kmaglione+bmo)
Comment 18•8 years ago
|
||
Nope. This is from the MessageManagerProxy constructor, which means that both of those maps are empty in that call.
Flags: needinfo?(kmaglione+bmo)
Comment 19•8 years ago
|
||
(In reply to bikerunner74 from comment #3)
> I hope the correct information is part of the trace.
> Performance trace: https://perfht.ml/2xbQ4Jw
It looks like most of the slowness in this profile is sync messaging from AdBlock Plus and add-on shim CPOWs from the WebDeveloper and tinyurl extensions.
In some parts there's also a bunch of WebRequest and extension messaging overhead that was fixed a long time ago, though.
(In reply to bikerunner74 from comment #11)
> Profile is here: https://perfht.ml/2wDVTPt
It looks like most of the overhead here is in adding the SwapDocShells listener to <browser>s that we're waiting for responses on. That should be relatively cheap, so I'm surprised that it adds up to be the most expensive part of message processing, but either way, it suggests that some add-on is doing a *huge* amount of messaging during that period. We could at least alleviate that overhead by caching MessageManagerProxy instances for a particular browser, but I've never seen this show up in profiles before, so there never seemed to be a need.
Anyway, it would be interesting to see if this is still an issue in newer Firefox versions.
Comment 20•8 years ago
|
||
(In reply to Kris Maglione [:kmag] (long backlog; ping on IRC if you're blocked) from comment #19)
> it suggests that some add-on is doing a *huge* amount of messaging during that
> period.
The add-on in question appears to be Ghostery.
And if you're seeing lots of memory growth, Ghostery is probably the culprit
there, as well. It unfortunately tends to return `true` from its onMessage
handlers (which means that it intends to send a response) and then never call
its response callback. Or, at least, earlier versions did. Prior to bug 1389968,
that would cause a leak until the context that promised the response was
destroyed.
Comment 21•8 years ago
|
||
(In reply to Kris Maglione [:kmag] (long backlog; ping on IRC if you're blocked) from comment #19)
> Anyway, it would be interesting to see if this is still an issue in newer Firefox versions.
@bikerunner74, could you please download and install the latest Nightly build (https://nightly.mozilla.org) and see if the issue is still reproducible?
Flags: needinfo?(bikerunner74)
Comment 22•8 years ago
|
||
Marking this as Resolved - Incomplete due to the lack of response from the reporter.
If anyone can still reproduce it on the latest versions, feel free to reopen the issue and provide more information.
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago → 8 years ago
Resolution: --- → INCOMPLETE
You need to log in
before you can comment on or make changes to this bug.
Description
•