Page 1 of 1

Memory leak when switching between Windows users

Posted: 2019-06-26, 12:56
by Grenadier
Steps to reproduce:
  • Lock the workstation
  • Go to the user selection screen
  • Select the user and unlock the workstation
Pale Moon will be allocating memory indefinitely while the user selection screen is open, until I either unlock the workstation or run out of memory. About:support is being flooded with messages like these below:
Failure Log
(#0) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 0, 944, 117
(#406) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 0, 944, 117
(#407) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 0, 64, 201
(#408) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 710, 944, 20
(#409) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 0, 944, 117
(#410) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 0, 64, 201
(#411) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 710, 944, 20
(#412) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 0, 944, 117
(#413) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 0, 64, 201
(#414) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 710, 944, 20
(#415) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 0, 944, 117
(#416) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 0, 64, 201
(#417) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 710, 944, 20
(#418) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 0, 944, 117
(#419) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 0, 64, 201
(#420) Error Failed 2 buffer db=0000000000000000 dw=0000000000000000 for 0, 710, 944, 20
Information
  • AMD Athlon 64 x2 3800+
  • 4 GB DDR
  • NVIDIA GeForce 6600 256 MB
  • Windows 7 x64 with latest updates
  • Pale Moon 28.5.2 x64
On my main profile with several tabs open I had it leak memory at ~150 MB per second, on a clean profile with only one tab open it leaks much slower, and not every time I follow the steps to reproduce above (maybe 1/10 of the time). Turning off hardware acceleration seems to stop this from happening, I also haven't been able to reproduce it on a less ancient PC with D3D11 capable video card.
about:support
Application Basics
------------------

Name: Pale Moon
Version: 28.5.2 (64-bit)
Build ID: 20190604231532
Update Channel: release
User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.9) Gecko/20100101 Goanna/4.2 Firefox/60.9 PaleMoon/28.5.2
OS: Windows_NT 6.1
Multiprocess Windows: 0/1 (Disabled)
Safe Mode: false

Extensions
----------

Graphics
--------

Features
Compositing: Direct3D 9
Asynchronous Pan/Zoom: none
WebGL 1 Driver WSI Info: EGL_VENDOR: Google Inc. (adapter LUID: 0000000000006945) EGL_VERSION: 1.4 (ANGLE 2.1.0.) EGL_EXTENSIONS: EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size 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_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_ANGLE_flexible_surface_compatibility 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 (NVIDIA GeForce 6600 Direct3D9Ex vs_3_0 ps_3_0)
WebGL 1 Driver Version: OpenGL ES 2.0 (ANGLE 2.1.0.)
WebGL 1 Driver Extensions: GL_OES_element_index_uint GL_OES_packed_depth_stencil GL_OES_get_program_binary GL_OES_rgb8_rgba8 GL_EXT_texture_format_BGRA8888 GL_EXT_read_format_bgra GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_float GL_EXT_texture_compression_dxt1 GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_OES_depth32 GL_EXT_texture_storage GL_OES_texture_npot GL_EXT_texture_filter_anisotropic GL_EXT_occlusion_query_boolean GL_NV_fence GL_EXT_robustness GL_EXT_blend_minmax GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_pack_reverse_row_order GL_OES_standard_derivatives GL_EXT_shader_texture_lod GL_EXT_frag_depth GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_EXT_debug_marker GL_OES_EGL_image GL_OES_EGL_image_external GL_EXT_unpack_subimage GL_NV_pack_subimage GL_OES_vertex_array_object GL_KHR_debug GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_sync_query
WebGL 1 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_frag_depth EXT_shader_texture_lod EXT_texture_filter_anisotropic MOZ_debug_get OES_element_index_uint OES_standard_derivatives OES_texture_float 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_lose_context MOZ_WEBGL_lose_context MOZ_WEBGL_compressed_texture_s3tc
WebGL 2 Driver WSI Info: -
WebGL 2 Driver Renderer: WebGL creation failed: * Error during ANGLE OpenGL init. * Error during ANGLE OpenGL init. * Error during ANGLE OpenGL init. * Error during ANGLE OpenGL init. * Error during ANGLE OpenGL init. * Exhausted GL driver caps.
WebGL 2 Driver Version: -
WebGL 2 Driver Extensions: -
WebGL 2 Extensions: -
Hardware H264 Decoding: No; Hardware video decoding disabled or blacklisted
Audio Backend: wasapi
DirectWrite: false (6.2.9200.22774)
GPU #1
Active: Yes
Description: NVIDIA GeForce 6600
Vendor ID: 0x10de
Device ID: 0x0141
Driver Version: 9.18.13.908
Driver Date: 1-30-2015
Drivers: nvd3dumx,nvd3dum
Subsys ID: 00000000
RAM: 256

Diagnostics
ClearType Parameters: Gamma: 2,2 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 200
AzureCanvasAccelerated: 0
AzureCanvasBackend: skia
AzureContentBackend: cairo
AzureFallbackCanvasBackend: cairo
ClearType Parameters: Gamma: 2,2 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 200
Decision Log
D3D11_COMPOSITING:
failed by runtime: Failed to acquire a D3D11 device
DIRECT2D:
failed by runtime: Failed to acquire a Direct3D 11 content device
D3D11_HW_ANGLE:
disabled by env: D3D11 compositing is disabled




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

browser.cache.disk.capacity: 358400
browser.cache.disk.smart_size.first_run: false
browser.cache.disk.smart_size.use_old_max: false
browser.download.importedFromSqlite: true
browser.places.smartBookmarksVersion: 4
browser.startup.homepage_override.buildID: 20190604231532
browser.startup.homepage_override.mstone: 4.2.0
extensions.lastAppVersion: 28.5.2
gfx.crash-guard.d3d11layers.appVersion: 28.5.2
gfx.crash-guard.d3d11layers.deviceID: 0x0141
gfx.crash-guard.d3d11layers.driverVersion: 9.18.13.908
gfx.crash-guard.d3d11layers.feature-d2d: true
gfx.crash-guard.d3d11layers.feature-d3d11: true
gfx.crash-guard.status.d3d11layers: 2
media.hardware-video-decoding.failed: false
network.cookie.prefsMigrated: true
places.database.lastMaintenance: 1561545895
places.history.expiration.transient_current_max_pages: 122334
privacy.sanitize.migrateFx3Prefs: true
storage.vacuum.last.index: 0
storage.vacuum.last.places.sqlite: 1561545895

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

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

JavaScript
----------

Incremental GC: true

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

Activated: false
Prevent Accessibility: 1

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

NSPR
Expected minimum version: 4.20
Version in use: 4.20

NSS
Expected minimum version: 3.41
Version in use: 3.41

NSSSMIME
Expected minimum version: 3.41
Version in use: 3.41

NSSSSL
Expected minimum version: 3.41
Version in use: 3.41

NSSUTIL
Expected minimum version: 3.41
Version in use: 3.41
about:memory report before the leak
memory-report-before-leak.json.gz
(33.81 KiB) Downloaded 7 times
about:memory report after the leak
memory-report-after-leak.json.gz
(31.15 KiB) Downloaded 8 times
Full memory dump before the leak
Full memory dump after the leak

Re: Memory leak when switching between Windows users

Posted: 2019-06-26, 13:09
by Moonchild
Thanks for the report.
I'm afraid our HWA support for Direct3D 9 is limited at this point, so you may run into strange errors like this if the browser is denied access to the compositor (due to the lock screen) on ancient hardware. Disabling HWA is your best option here; it's unlikely we'll be further developing the D3D9 side of Goanna at this point.