PM never releases memory?

Users and developers helping users with generic and technical Pale Moon issues on all operating systems.

Moderator: trava90

Forum rules
This board is for technical/general usage questions and troubleshooting for the Pale Moon browser only.
Technical issues and questions not related to the Pale Moon browser should be posted in other boards!
Please keep off-topic and general discussion out of this board, thank you!
PalleP
Fanatic
Fanatic
Posts: 167
Joined: 2018-02-14, 17:36

Re: PM never releases memory?

Unread post by PalleP » 2019-07-21, 10:44

adesh wrote:
2019-07-21, 09:34
What are the browser settings you have tweaked? It'd be good if you publish your "troubleshooting info" here so somebody can point out the faulty configuration. See the stickies for that.
I have provided tons of info several times, see these two treads:

viewtopic.php?f=3&t=20573&hilit=freeze

viewtopic.php?t=20882

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35475
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: PM never releases memory?

Unread post by Moonchild » 2019-07-21, 14:21

PalleP wrote:
2019-07-21, 10:44
I have provided tons of info several times, see these two treads:
I understand that you feel it superfluous, but:
  1. You can't really expect people to go and dig through your previous posts in case you already posted the relevant information before
  2. The information provided in other threads may be outdated
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

PalleP
Fanatic
Fanatic
Posts: 167
Joined: 2018-02-14, 17:36

Re: PM never releases memory?

Unread post by PalleP » 2019-07-21, 19:47

Ok, I have now made a new tread in general instead of here under Linux, and hope it will not be flooded by users telling that they can open 200 tabs.

viewtopic.php?f=3&t=22613

mabloom

Re: PM never releases memory?

Unread post by mabloom » 2019-08-25, 12:53

PM does , I think, need to have it's memory usage examined closely by an engineer who is not absolutely certain that it has no issues in that area.

I've been using an old 1,2Ghz Pentium M machine with 512Mb Ram as an emergency measure following the death of my regular computer(due to its power supply getting shorted out due to absentminded insertion of the wrong kind of connector (one of those wide and flat, hard-metal-shielded, skinny connectors provided for new external USB-3 drives) into a regular USB receptacle into it (It was an ASUS Gaming laptop, for those who might want to be wary, prior to purchase, of hardware that fails to protect it's power supplies from such accidental circumstances).

With a 32 bit version of Pale Moon, this machine very quickly demonstrates the problem being discussed in this thread without very many tabs in use.

This old Pentium M machine turns out to be a very useful testbed for demonstrating the issue because on the same system, I have also been using a 32 bit version of the "Flashpeak Slimjet" browser (not at the same time, of course). Although Slimjet does slow down as tabs are accumulated, unlike the Pale Moon browser, it speeds up again as I close some of them. "apples vs oranges" concerns should only be minimal as I am using the same mix of web pages in Pale Moon as in Slimjet. "Minimal" rather than zero simply because the 32 bit version of slimjet has some bugs which cause failures in the rendering of some media types. For the purpose of maintaining the integrity of these comparisons, however, I'm making a conscious effort to avoid pages using those types.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35475
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: PM never releases memory?

Unread post by Moonchild » 2019-08-25, 13:25

Minimum system requirements for Pale Moon include 1GB of RAM (with most of that free for use, I should clarify). Its settings and (internal) configuration aim for that as a minimum. If you are constantly creating memory pressure by running it on a machine with half the expected minimum amount of RAM, with a good chunk of that taken up by the OS and other software, then you can expect the browser to not perform well.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

mabloom

Re: PM never releases memory?

Unread post by mabloom » 2019-08-25, 18:46

As I'd hoped my post would have made clear, my immediate situation is a very temporary one. One that you could have treated as a stroke of luck, for it caricatures the very real situation that others are seeing, but because the amount of memory on their systems is in excess of the amount you have specified as a minimum, they have have had more difficulty than I've had with the main task that is an end-user's responsibility in such a situation: that of delivering to maintainers a means for reproducing the problem that they are seeing.

In the relevant (to this discussion) portions of the 40+ years I have spent in the field of computer science, I have diagnosed and resolved countless difficult bugs and escalations at both user-level and deep within the guts of the UNIX kernel. In doing so, I have experienced many times just how difficult it can sometimes be to obtain data that is of sufficient quality and/or quantity to help reproduce a reported problem.

To be handed an a new insight into an existing problem that has been reported by others is a gift.

To turn that gift on its head, and suggest that the person giving you that gift was wrong to do so is a kind of hubris that is ultimately going to do harm to your product.

If I were one of the earlier individuals who had described having this issue (on systems that exceed the memory requirements stated in your reply to me) I would be outraged at such dismissal of additional data that a third party had taken the time and trouble to provide you with to help in the investigation of the problem I'd previously reported.

When I first read about Pale Moon, not very long ago, I had high hopes for it.

I'm researching the purchase of a new computer, "as we speak".
I'm also learning about Pale Moon's support, both from posts on other sites and in these forums. And I've discovered that your response to the assistance I tried to provide is not unusual. It conforms to a trend in how "uncomfortable issues" appear to be dealt with here. (In fact, after reading about the trumpish manner in which NoScript had been labeled malware, I half-seriously actually had expected the information I was providing to be treated with dismissal.)

Some of the following, which range from probable to quite certain, may be under your control, and some may not be:
  1. I'm going to replace my damaged and hopelessly inoperative computer soon, after which
  2. this low-memory computer shall go back to the closet, and
  3. you may continue to dismiss a very real macro-level memory leakage issue, and
  4. if there are further posts about it, you may find ways to dismiss those too.
  5. Since Pale Moon is too good to have real problems, there will be other issues reported that are also dismissed
  6. The number of un-problems may continue to accumulate, and maintainer frustration with end-users may mount.
  7. The number of un-problems has the potential to become so great that most copies of Pale Moon could end up being "relegated to the closet".

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35475
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: PM never releases memory?

Unread post by Moonchild » 2019-08-25, 19:10

Excuse me, but reporting issues in a non-supported environment that may or may not be caused by the same is not a "gift", it's complicating matters and opening the door to a lot of wasted time and effort if it is not caused by the same. If you are so experienced in your troubleshooting as you say you are, then you should already know this.

Accepting such an environment as valid will not help anyone except your temporary use case, so please don't try to make it into something it's not. Being all high and mighty and by-the-by insulting the people providing this browser is not scoring any points either. If you want to set yourself up for being dismissed and ignored, then that is exactly the way to do it, and that will be all on you, not Pale Moon, not the community, not the "trumpish" devs, no, just you.

You should not attach anything to our refusal to cooperate in troubleshooting a system that is way below spec except this: Minimum system requirements are minimum system requirements. Not "kinda" minimum, not "acceptable", but "totally unsupported".

You can pat yourself on the back all you want and you can try to lay blame where none is due all you want, but that doesn't change the fact that these minimum requirements are stated for a reason.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
wicknix
Fanatic
Fanatic
Posts: 173
Joined: 2018-03-26, 04:47
Location: Wisconsin, USA
Contact:

Re: PM never releases memory?

Unread post by wicknix » 2019-08-25, 22:19

It's not the browsers fault. I run PM28 and Iceweasel-UXP without issue on an ancient 32-bit 1.5ghz powerpc mac mini g4 w/1gb ram. With 5 tabs open and 3 other apps running my system stays well below 500mb ram used.

Image

Cheers
Silence is golden, but duct tape is silver...

mabloom

Re: PM never releases memory?

Unread post by mabloom » 2019-08-26, 17:38

The first step in solving a problem is recognizing that it exists.

A specific set of symptoms have been reported occurring in fully-spec'd systems, ones not subject to the limitations of minimal memory.

If a problem is reported in a system that meets stated specifications, it should be investigated.

A report has been received describing the same set of symptoms occurring at an exaggerated rate under circumstances where specific resources are limited.

It can be worth investigating whether the reason for a set of symptoms being encountered more quickly is that an edge condition has been encountered more quickly. (and in this case, the obvious candidate for the nature of the edge condition is pretty obvious)

Anything that helps one spend less time reproducing a problem would be welcomed. (except by those who would point out that the least time of all is spent by never trying to reproduce the problem :shock: )

Introducing edge conditions into a controlled testbed is a time honoured and well-respected investigative methodology.

Can you honestly refute any of the above statements, either standing on their own or in series?
How about the following:
  • It might be worth while to obtain the browsing history and browsing timeline from a fully spec'd system on which the problem has been reported.
  • It might be worth while to use those for attempting reproduction of the problem.
  • Once reproduced, it might be worth while to attempt to locate it's proximate cause with an eye toward resolving the problem.
  • It is possible, after reproducing the problem, to overshoot it's cause during a session in your debugger, possibly making it necessary to begin all over again to reproduce the problem.
  • It is possible for that to occur repeatedly.
  • Reducing the percentage of time spent in repetitive reproduction of a problem is a way to allow a greater percentage of time to be spent in analysis following it's reproduction.
  • If one could reproduce the problem more quickly, one might be able to locate it's proximate cause more quickly.
  • If one knows that the problem occurs more quickly in systems with less RAM than the amount currently being used, It might be worth proving whether (or not!) the problem will reproduce more quickly after rebooting with progressively larger blocks of RAM disabled (easy to do on Linux; I'm not sure about Windows) at a time.
  • Am I missing something?

How do you think an assertion that "a problem occurring in fully spec'd systems does not deserve attention because it is has been seen in a below-spec system" sounds to observers? It sounds to me like conflation.

I would like to refer you to the following presentation:
http://mathscinotes.com/wp-content/uploads/2016/03/Kepner-Tregoe_Methodology_version_2_20130307.pdf

( Especially starting with slide number 19. :thumbup: )

Although the presentation is not specifically targeted toward engineers, the methodology it describes is one taught in workshops given on-site at NASA and at Fortune 500 companies, including two of my former employers.

Here's a teaser: It begins "Apollo 13: Houston, Houston, do you read me ? We have a big problem…."

New Tobin Paradigm

Re: PM never releases memory?

Unread post by New Tobin Paradigm » 2019-08-26, 18:48

tl;dr check again to be sure? You could have just said that. You don't get points for being ridiculously verbose while saying MAYBE two things.

User avatar
moonbat
Knows the dark side
Knows the dark side
Posts: 4942
Joined: 2015-12-09, 15:45
Contact:

Re: PM never releases memory?

Unread post by moonbat » 2019-08-27, 00:52

mabloom wrote:
2019-08-26, 17:38
The first step in solving a problem is recognizing that it exists.

A specific set of symptoms have been reported occurring in fully-spec'd systems, ones not subject to the limitations of minimal memory.

Maybe wait till you can reproduce it on a fully spec'd system and share relevant logs/troubleshooting info/screenshots from there instead of bloviating here. People here aren't telepathic to be able to figure out what's wrong without providing complete and relevant info.
"One hosts to look them up, one DNS to find them and in the darkness BIND them."

Image
Linux Mint 21 Xfce x64 on HP i5-5200 laptop, 12 GB RAM.
AutoPageColor|PermissionsPlus|PMPlayer|Pure URL|RecordRewind|TextFX

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35475
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: PM never releases memory?

Unread post by Moonchild » 2019-08-27, 07:14

Off-topic:
moonbat wrote:
2019-08-27, 00:52
instead of bloviating here
looks up "bloviate" -- hah that term describes it exactly! Thanks for adding that one to my vocabulary.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
moonbat
Knows the dark side
Knows the dark side
Posts: 4942
Joined: 2015-12-09, 15:45
Contact:

Re: PM never releases memory?

Unread post by moonbat » 2019-08-27, 08:02

Speaking of which, I've faced the same problem on Linux(Mint 19.2 Xfce and x64 PM), with a 4 GB RAM i5 HP laptop (Doesn't have an SSD, if that's relevant). I've seen Gmail still retaining memory (around 50-60 MB according to about:memory) after being closed, and overall PM memory usage stays at 1-1.2 GB even after closing Gmail. I don't usually run too many other applications concurrently given my hardware constraints. I always close tabs when I'm done reading a page, and only keep Gmail and Whatsapp web open always. Usually I try to keep less than a dozen tabs open concurrently. Anything I should look at? I know I have a few legacy FF extensions but about:addons-memory doesn't show anything out of the ordinary.

Troubleshooting info below-

Code: Select all

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

Name: Pale Moon
Version: 28.6.1 (64-bit)
Build ID: 20190802222026
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.9) Gecko/20100101 Goanna/4.3 Firefox/60.9 PaleMoon/28.6.1
OS: Linux 4.15.0-58-generic
Multiprocess Windows: 0/1 (Disabled)
Safe Mode: false

Extensions
----------

Name: Addons Memory Usage - Intika MoD - Button
Version: 1.2
Enabled: true
ID: about-addons-memory-pm-btn@securefox.org

Name: All-in-One Gestures
Version: 0.26.1-signed.1-signed
Enabled: true
ID: {8b86149f-01fb-4842-9dd8-4d7eb02fd055}

Name: Bamboo Feed Reader
Version: 2.3.2
Enabled: true
ID: {b2e69492-2358-071a-7056-24ad0c3defb1}

Name: Bookmarks Checker - check for bad links
Version: 3.1.1.1-signed
Enabled: true
ID: firefoxbookmarkchecker@everhelper.me

Name: butWhyMod
Version: 1.7
Enabled: true
ID: {c1b77ba2-55b6-40bd-9bd7-9789e466c3fe}

Name: Classic Add-ons Archive
Version: 2.0.1
Enabled: true
ID: ca-archive@Off.JustOff

Name: Color My Tabs
Version: 2.2.0
Enabled: true
ID: color-my-tabs@wsdfhjxc

Name: Config Comments
Version: 1.0
Enabled: true
ID: ConfigCommentsk@gracious1.cat

Name: Cookie Masters
Version: 3.2.0
Enabled: true
ID: {a04a71f3-ce74-4134-8f86-fae693b19e44}

Name: Decentraleyes
Version: 1.4.2
Enabled: true
ID: jid1-BoFifL9Vbdl2zQ@jetpack

Name: Downloads Statusbar
Version: 15.2.0
Enabled: true
ID: {d2b7fa3e-d4ed-4355-bda8-ac95888c5bbb}

Name: Expose Noisy Tabs
Version: 1.1.1
Enabled: true
ID: expose-noisy-tabs@wsdfhjxc

Name: Extended Statusbar
Version: 2.1.1
Enabled: true
ID: {daf44bf7-a45e-4450-979c-91cf07434c3d}

Name: Extension Preferences Menu
Version: 2.13.19
Enabled: true
ID: {302dd086-df72-4fbf-835f-dc1f296049eb}

Name: FavIconReloader
Version: 0.8.1-signed
Enabled: true
ID: FavIconReloader@mozilla.org

Name: Fierr
Version: 2.4
Enabled: true
ID: {AF1AD85E-20B4-517C-9A93-B3E51B6EB86F}

Name: FoxyProxy Standard
Version: 4.6.5
Enabled: true
ID: foxyproxy@eric.h.jung

Name: Google Keep Notes
Version: 55.0
Enabled: true
ID: {a94d60a0-8408-4c53-8eec-cb349eb958b8}

Name: Google Translator for Pale Moon
Version: 2.0.0
Enabled: true
ID: {ed31eaf0-5e61-49eb-89b3-808f4697c54e}

Name: Greasefire2
Version: 2.1.1
Enabled: true
ID: greasefire2@b0nk3rz.net

Name: Greasemonkey for Pale Moon
Version: 3.31.4
Enabled: true
ID: greasemonkeyforpm@janekptacijarabaci

Name: Greedy Cache
Version: 1.2.1
Enabled: true
ID: greedycache@Off.JustOff

Name: I don't care about cookies
Version: 3.0.3.1
Enabled: true
ID: jid1-KKzOGWgsW3Ao4Q@jetpack

Name: Link Alert
Version: 1.0.6
Enabled: true
ID: linkalert.conlan@addons.mozilla.com

Name: Location-4-Evar
Version: 1.0.5
Enabled: true
ID: location4evar@Off.JustOff

Name: Lull The Tabs
Version: 1.4.3
Enabled: true
ID: lull-the-tabs@Off.JustOff

Name: Moonscape Icon Pack
Version: 1.0.0
Enabled: true
ID: moonscape-iconpack@franklindm

Name: Open about:config
Version: 1.2
Enabled: true
ID: {98a2ae55-3a75-4354-a460-9176594d05c3}

Name: Open With
Version: 6.8.6
Enabled: true
ID: openwith@darktrojan.net

Name: OverbiteFF
Version: 3.1.1695
Enabled: true
ID: overbiteff@floodgap.com

Name: Pale Moon Commander
Version: 3.0.1
Enabled: true
ID: commander@palemoon.org

Name: PDF Viewer
Version: 2.1.288
Enabled: true
ID: pdf.js-seamonkey@lakora.us

Name: Platypus
Version: 0.81
Enabled: true
ID: {a089fffd-e0cb-431b-8d3a-ebb8afb26dcf}

Name: Private Tab
Version: 0.2.3pre
Enabled: true
ID: privateTab@infocatcher

Name: Pure URL
Version: 1.2.4.1-signed.1-signed
Enabled: true
ID: pure-url@jetpack

Name: Reader View
Version: 2.2.0
Enabled: true
ID: {1111dd1e-dd02-4c30-956f-f23c44dfea8e}

Name: RefControl
Version: 0.8.17.1-signed.1-signed
Enabled: true
ID: {455D905A-D37C-4643-A9E2-F6FEFAA0424A}

Name: SearchLoad Options Revived
Version: 0.7.4.2
Enabled: true
ID: {f60dcfb5-358d-498e-9f2e-1b53eba4dde7}

Name: Self-Destructing Cookies for Pale Moon
Version: 1.0.4.13
Enabled: true
ID: {1607f7ec-8262-4016-b51f-f9f5b43d43f1}

Name: Send Link to Device
Version: 1.0.3
Enabled: true
ID: tab2device@Off.JustOff

Name: SiteDelta
Version: 0.13.2.1-signed.1-signed
Enabled: true
ID: sitedelta@schierla.de

Name: Smart Preview for Pale Moon forum
Version: 1.3.2
Enabled: true
ID: pmforum-smart-preview@Off.JustOff

Name: Stylem
Version: 2.2.5
Enabled: true
ID: {503a85e3-84c9-40e5-b98e-98e62085837f}

Name: Tab Mix Plus
Version: 0.5.8.1
Enabled: true
ID: {dc572301-7619-498c-a57d-39143191b318}

Name: The Good 'ol Sidebar
Version: 1.0.8.2
Enabled: true
ID: tgsidebar@franklindm

Name: uBlock Origin
Version: 1.16.4.11
Enabled: true
ID: uBlock0@raymondhill.net

Name: uBlock Origin Updater
Version: 1.6.6
Enabled: true
ID: ublock0-updater@Off.JustOff

Name: YouTube Lazy Load
Version: 1.0.4
Enabled: true
ID: youtubelazy@Off.JustOff

Graphics
--------

Features
Compositing: Basic
Asynchronous Pan/Zoom: none
WebGL 1 Driver WSI Info: GLX 1.4 GLX_VENDOR(client): Mesa Project and SGI GLX_VENDOR(server): SGI Extensions: GLX_ARB_create_context GLX_ARB_create_context_profile GLX_ARB_create_context_robustness GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_buffer_age GLX_EXT_create_context_es2_profile GLX_EXT_create_context_es_profile GLX_EXT_fbconfig_packed_float GLX_EXT_framebuffer_sRGB GLX_EXT_import_context GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_INTEL_swap_event GLX_MESA_copy_sub_buffer GLX_MESA_query_renderer GLX_MESA_swap_control GLX_OML_swap_method GLX_OML_sync_control GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync
WebGL 1 Driver Renderer: Intel Open Source Technology Center -- Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2)
WebGL 1 Driver Version: 3.0 Mesa 19.0.8
WebGL 1 Driver Extensions: GL_ARB_multisample GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_copy_texture GL_EXT_subtexture GL_EXT_texture_object GL_EXT_vertex_array GL_EXT_compiled_vertex_array GL_EXT_texture GL_EXT_texture3D GL_IBM_rasterpos_clip GL_ARB_point_parameters GL_EXT_draw_range_elements GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_separate_specular_color GL_EXT_texture_edge_clamp GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_ARB_framebuffer_sRGB GL_ARB_multitexture GL_EXT_framebuffer_sRGB GL_IBM_multimode_draw_arrays GL_IBM_texture_mirrored_repeat GL_3DFX_texture_compression_FXT1 GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_transpose_matrix GL_EXT_blend_func_separate GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_secondary_color GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_INGR_blend_func_separate GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texgen_reflection GL_NV_texture_env_combine4 GL_S3_s3tc GL_SUN_multi_draw_arrays GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_EXT_framebuffer_object GL_EXT_texture_compression_s3tc GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_MESA_window_pos GL_NV_packed_depth_stencil GL_NV_texture_rectangle GL_ARB_depth_texture GL_ARB_occlusion_query GL_ARB_shadow GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_window_pos GL_EXT_stencil_two_side GL_EXT_texture_cube_map GL_NV_depth_clamp GL_NV_fog_distance GL_APPLE_packed_pixels GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_fragment_shader GL_ARB_shader_objects GL_ARB_vertex_program GL_ARB_vertex_shader GL_ATI_draw_buffers GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_MESA_pack_invert GL_NV_primitive_restart GL_ARB_depth_clamp GL_ARB_fragment_program_shadow GL_ARB_half_float_pixel GL_ARB_occlusion_query2 GL_ARB_point_sprite GL_ARB_shading_language_100 GL_ARB_sync GL_ARB_texture_non_power_of_two GL_ARB_vertex_buffer_object GL_ATI_blend_equation_separate GL_EXT_blend_equation_separate GL_OES_read_format GL_ARB_color_buffer_float GL_ARB_pixel_buffer_object GL_ARB_texture_compression_rgtc GL_ARB_texture_float GL_ARB_texture_rectangle GL_EXT_packed_float GL_EXT_pixel_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_texture_shared_exponent GL_ARB_framebuffer_object GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_packed_depth_stencil GL_APPLE_object_purgeable GL_ARB_vertex_array_object GL_ATI_separate_stencil GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_gpu_program_parameters GL_EXT_texture_array GL_EXT_texture_integer GL_EXT_texture_sRGB_decode GL_EXT_timer_query GL_OES_EGL_image GL_AMD_texture_texture4 GL_ARB_copy_buffer GL_ARB_depth_buffer_float GL_ARB_draw_instanced GL_ARB_half_float_vertex GL_ARB_instanced_arrays GL_ARB_map_buffer_range GL_ARB_texture_rg GL_ARB_texture_swizzle GL_ARB_vertex_array_bgra GL_EXT_texture_swizzle GL_EXT_vertex_array_bgra GL_NV_conditional_render GL_AMD_conservative_depth GL_AMD_draw_buffers_blend GL_AMD_seamless_cubemap_per_texture GL_ARB_ES2_compatibility GL_ARB_blend_func_extended GL_ARB_debug_output GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_explicit_attrib_location GL_ARB_fragment_coord_conventions GL_ARB_provoking_vertex GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_shader_texture_lod GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_multisample GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_uniform_buffer_object GL_ARB_vertex_type_2_10_10_10_rev GL_EXT_provoking_vertex GL_EXT_texture_snorm GL_MESA_texture_signed_rgba GL_NV_texture_barrier GL_ARB_draw_indirect GL_ARB_get_program_binary GL_ARB_robustness GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_precision GL_ARB_texture_compression_bptc GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_AMD_multi_draw_indirect GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_internalformat_query GL_ARB_map_buffer_alignment GL_ARB_shader_atomic_counters GL_ARB_shader_image_load_store GL_ARB_shading_language_420pack GL_ARB_shading_language_packing GL_ARB_texture_storage GL_ARB_transform_feedback_instanced GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_transform_feedback GL_AMD_query_buffer_object GL_AMD_shader_trinary_minmax GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_clear_buffer_object GL_ARB_compute_shader GL_ARB_copy_image GL_ARB_explicit_uniform_location GL_ARB_fragment_layer_viewport GL_ARB_framebuffer_no_attachments GL_ARB_invalidate_subdata GL_ARB_multi_draw_indirect GL_ARB_program_interface_query GL_ARB_robust_buffer_access_behavior GL_ARB_shader_image_size GL_ARB_shader_storage_buffer_object GL_ARB_stencil_texturing GL_ARB_texture_query_levels GL_ARB_texture_storage_multisample GL_ARB_texture_view GL_ARB_vertex_attrib_binding GL_KHR_debug GL_KHR_robustness GL_ARB_buffer_storage GL_ARB_clear_texture GL_ARB_indirect_parameters GL_ARB_internalformat_query2 GL_ARB_multi_bind GL_ARB_query_buffer_object GL_ARB_seamless_cubemap_per_texture GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_stencil8 GL_ARB_vertex_type_10f_11f_11f_rev GL_EXT_shader_integer_mix GL_INTEL_performance_query GL_ARB_ES3_1_compatibility GL_ARB_clip_control GL_ARB_conditional_render_inverted GL_ARB_cull_distance GL_ARB_derivative_control GL_ARB_get_texture_sub_image GL_ARB_pipeline_statistics_query GL_ARB_shader_texture_image_samples GL_ARB_texture_barrier GL_ARB_transform_feedback_overflow_query GL_EXT_polygon_offset_clamp GL_KHR_blend_equation_advanced GL_KHR_context_flush_control GL_KHR_robust_buffer_access_behavior GL_ARB_shader_atomic_counter_ops GL_ARB_shader_ballot GL_ARB_shader_clock GL_EXT_shader_samples_identical GL_KHR_no_error GL_MESA_shader_integer_functions GL_ARB_polygon_offset_clamp GL_ARB_texture_filter_anisotropic GL_EXT_shader_framebuffer_fetch_non_coherent
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 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_etc 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: GLX 1.4 GLX_VENDOR(client): Mesa Project and SGI GLX_VENDOR(server): SGI Extensions: GLX_ARB_create_context GLX_ARB_create_context_profile GLX_ARB_create_context_robustness GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_buffer_age GLX_EXT_create_context_es2_profile GLX_EXT_create_context_es_profile GLX_EXT_fbconfig_packed_float GLX_EXT_framebuffer_sRGB GLX_EXT_import_context GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_INTEL_swap_event GLX_MESA_copy_sub_buffer GLX_MESA_query_renderer GLX_MESA_swap_control GLX_OML_swap_method GLX_OML_sync_control GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync
WebGL 2 Driver Renderer: Intel Open Source Technology Center -- Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2)
WebGL 2 Driver Version: 4.5 (Core Profile) Mesa 19.0.8
WebGL 2 Driver Extensions: GL_3DFX_texture_compression_FXT1 GL_AMD_conservative_depth GL_AMD_draw_buffers_blend GL_AMD_gpu_shader_int64 GL_AMD_multi_draw_indirect GL_AMD_query_buffer_object GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_trinary_minmax GL_AMD_texture_texture4 GL_AMD_vertex_shader_layer GL_AMD_vertex_shader_viewport_index GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_APPLE_object_purgeable GL_ARB_ES2_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_compressed_texture_pixel_storage GL_ARB_compute_shader GL_ARB_conditional_render_inverted GL_ARB_conservative_depth GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_indirect GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader_int64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_occlusion_query2 GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_420pack GL_ARB_shading_language_packing GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map_array GL_ARB_texture_filter_anisotropic GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ATI_blend_equation_separate GL_ATI_texture_float GL_EXT_abgr GL_EXT_blend_equation_separate GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_pixel_buffer_object GL_EXT_polygon_offset_clamp GL_EXT_provoking_vertex GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_shader_integer_mix GL_EXT_shader_samples_identical GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_IBM_multimode_draw_arrays GL_INTEL_performance_query GL_KHR_blend_equation_advanced GL_KHR_context_flush_control GL_KHR_debug GL_KHR_no_error GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_MESA_pack_invert GL_MESA_shader_integer_functions GL_MESA_texture_signed_rgba GL_NV_conditional_render GL_NV_depth_clamp GL_NV_packed_depth_stencil GL_NV_texture_barrier GL_OES_EGL_image GL_S3_s3tc
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_etc WEBGL_compressed_texture_s3tc WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context MOZ_WEBGL_lose_context MOZ_WEBGL_compressed_texture_s3tc
Hardware H264 Decoding: No
Audio Backend: pulse
GPU #1
Active: Yes
Description: Intel Open Source Technology Center -- Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2)
Vendor ID: Intel Open Source Technology Center
Device ID: Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2)
Driver Version: 3.0 Mesa 19.0.8

Diagnostics
AzureCanvasAccelerated: 0
AzureCanvasBackend: skia
AzureContentBackend: cairo
AzureFallbackCanvasBackend: cairo
CairoUseXRender: 1
Decision Log
HW_COMPOSITING:
blocked by default: Acceleration blocked by platform
OPENGL_COMPOSITING:
unavailable by default: Hardware compositing is disabled




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

accessibility.browsewithcaret_shortcut.enabled: false
accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 358400
browser.cache.disk.smart_size.first_run: false
browser.cache.disk.smart_size.use_old_max: false
browser.display.use_system_colors: true
browser.download.importedFromSqlite: true
browser.download.manager.showWhenStarting: false
browser.link.open_newwindow.restriction: 0
browser.places.smartBookmarksVersion: 4
browser.search.useDBForOrder: true
browser.startup.homepage_override.buildID: 20190802222026
browser.startup.homepage_override.mstone: 4.3.0
browser.tabs.animate: false
browser.tabs.closeWindowWithLastTab: false
dom.disable_window_status_change: true
dom.event.contextmenu.enabled: false
dom.webnotifications.enabled: false
extensions.lastAppVersion: 28.6.1
font.default.x-unicode: sans-serif
font.internaluseonly.changed: false
font.language.group: x-unicode
general.useragent.override.primevideo.com: Mozilla/5.0 (X11; Linux x86_64; rv:99.9) Gecko/20100101 Firefox/99.9 (Pale Moon)
gfx.crash-guard.d3d11layers.appVersion: 28.6.0.1
gfx.crash-guard.d3d11layers.deviceID: 0x1616
gfx.crash-guard.d3d11layers.driverVersion: 20.19.15.5063
gfx.crash-guard.d3d11layers.feature-d2d: true
gfx.crash-guard.d3d11layers.feature-d3d11: true
gfx.crash-guard.status.d3d11layers: 2
gfx.crash-guard.status.d3d11video: 2
gfx.font_rendering.cleartype.always_use_for_content: false
gfx.font_rendering.cleartype.use_for_downloadable_fonts: true
javascript.options.wasm: true
javascript.options.wasm_baselinejit: true
layers.acceleration.disabled: true
media.autoplay.enabled: false
media.hardware-video-decoding.failed: false
media.peerconnection.enabled: false
network.captive-portal-service.enabled: true
network.cookie.alwaysAcceptSessionCookies: true
network.cookie.cookieBehavior: 2
network.cookie.prefsMigrated: true
network.cookie.thirdparty.sessionOnly: true
network.http.pipelining.aggressive: true
network.http.referer.spoofSource: true
network.http.referer.trimmingPolicy: 2
network.http.referer.XOriginPolicy: 2
network.predictor.cleaned-up: true
network.predictor.enable-prefetch: true
network.predictor.enabled: true
places.database.lastMaintenance: 1566532138
places.history.expiration.transient_current_max_pages: 99190
privacy.sanitize.migrateFx3Prefs: true
security.disable_button.openDeviceManager: false
security.mixed_content.block_active_content: false
services.sync.declinedEngines:
services.sync.engine.greasemonkey: true
services.sync.engine.prefs.modified: false
services.sync.lastPing: 1566875718
services.sync.lastSync: Tue Aug 27 2019 17:42:40 GMT+1000 (AEST)
services.sync.numClients: 2
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1565222412
ui.osk.debug.keyboardDisplayReason: IKPOS: Touch screen not found.

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.2
Version in use: 3.41.2

NSSSMIME
Expected minimum version: 3.41.2
Version in use: 3.41.2

NSSSSL
Expected minimum version: 3.41.2
Version in use: 3.41.2

NSSUTIL
Expected minimum version: 3.41.2
Version in use: 3.41.2
Moonchild wrote:
2019-08-27, 07:14
Off-topic:
[
looks up "bloviate" -- hah that term describes it exactly! Thanks for adding that one to my vocabulary.
:thumbup:
"One hosts to look them up, one DNS to find them and in the darkness BIND them."

Image
Linux Mint 21 Xfce x64 on HP i5-5200 laptop, 12 GB RAM.
AutoPageColor|PermissionsPlus|PMPlayer|Pure URL|RecordRewind|TextFX

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35475
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: PM never releases memory?

Unread post by Moonchild » 2019-08-27, 10:05

GMail is a known issue -- it does some nasty scripting that will cause the tab to become a ghost window by not releasing properly. Unfortunately finding out exactly what causes it is going to be difficult because we are peerless in that respect -- Firefox and Chrome don't care because they have opted for multiple processes; those will always dump everything when closed, including allocated memory that might otherwise be "sticky". I've been thinking about how to work around this but it'll take time to research.

As for memory not being immediately freed otherwise, that is very much by design. A lot of the browser and platform uses buffering and caching memory pools for performance reasons. For example, there's a surface cache that will hold up to 1 GB of decoded and rendered image data so they won't have to be redrawn -- that will not be immediately released when closing a tab. There are similar mechanisms for page content as a whole and composited data. All of that is on purpose, and depends on whether there is memory pressure or not when and how it's released. In addition, application memory is not as straightforward when looking at numbers, so you have to keep in mind that a "working set" or "committed" memory number is not necessarily actually allocated or exclusive to the application.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
moonbat
Knows the dark side
Knows the dark side
Posts: 4942
Joined: 2015-12-09, 15:45
Contact:

Re: PM never releases memory?

Unread post by moonbat » 2019-08-27, 12:56

Moonchild wrote:
2019-08-27, 10:05
As for memory not being immediately freed otherwise, that is very much by design. A lot of the browser and platform uses buffering and caching memory pools for performance reasons. For example, there's a surface cache that will hold up to 1 GB of decoded and rendered image data so they won't have to be redrawn -- that will not be immediately released when closing a tab. There are similar mechanisms for page content as a whole and composited data. All of that is on purpose, and depends on whether there is memory pressure or not when and how it's released. In addition, application memory is not as straightforward when looking at numbers, so you have to keep in mind that a "working set" or "committed" memory number is not necessarily actually allocated or exclusive to the application.
Thanks for the detailed explanation. Is it possible to separate out memory usage or leaks from misbehaving extensions? As I understand, XUL extensions are sort of 'in process' (for want of a better word) with the browser's own core, and were blamed for Mozilla deciding to dump XUL altogether because they couldn't be bothered with having to troubleshoot multiple combinations of extensions with users complaining about high memory usage/low responsiveness.
Can one reliably troubleshoot extensions as a developer, other than disabling them one by one?
"One hosts to look them up, one DNS to find them and in the darkness BIND them."

Image
Linux Mint 21 Xfce x64 on HP i5-5200 laptop, 12 GB RAM.
AutoPageColor|PermissionsPlus|PMPlayer|Pure URL|RecordRewind|TextFX

New Tobin Paradigm

Re: PM never releases memory?

Unread post by New Tobin Paradigm » 2019-08-27, 13:25

moonbat wrote:
2019-08-27, 12:56
As I understand, XUL extensions are sort of 'in process' (for want of a better word) with the browser's own core, and were blamed for Mozilla deciding to dump XUL altogether because they couldn't be bothered with having to troubleshoot multiple combinations of extensions with users complaining about high memory usage/low responsiveness.
Some extensions misbehave sometimes like any javascript that is executed. Only as good as the code is. But Mozilla is fake news and obviously we have a generally performant XUL based platform with full extensability using the power of XUL. So while that could be a contributing factor.. It wasn't for them. They have shown us that a rich extension system using the technology the applications them selves use is completely antithetical to being able to redefine the browser every 30 seconds so it won't be racist or something.

You can't change the everything all the time AND maintain compatibility with code up to 15 years old. Mozilla also proved you can't even do it with abstraction which among other things was the whole point of the Add-on SDK with Jetpack Extensions. Also, FUEL before it.

mabloom

Re: PM never releases memory?

Unread post by mabloom » 2019-08-28, 04:47

@adesh "think the issue is with private browsing mode." Other concerns notwithstanding, It is easy to see why one could perceive the problem to be a consequence of the use of private browsing mode. While the use of private browsing mode could easily be exacerbating the problem in your case, I don't think I'd look there for the underlying cause. If heap object segregation is being used as part of the enforcement of private browsing mode, it could certainly be contributing, by affecting how quickly one could run out of configured virtual memory.

Come to think of it, the effective deadlocks people have described experiencing could be a consequence of the program running out of allocatable virtual memory, not physical memory (that I didn't make this distinction earlier tells me that I've been retired for waay too long). If you'd like to try it, a possibly useful experiment might be to increase the amount of virtual memory you have configured, to see if you might merely run more slowly rather than blocking. For this experiment, you might try setting it to four times the amount of RAM in your system (unless you already have at least that, in which case, there's no experiment)
An experiment like this is best tried on a system from the current decade. Something much older (NatSemi 32016, anyone? - just kidding) may already be slow enough to make the incremental slow down be so severe that without aid, it might be hard to distinguish from effective deadlock, making the experiment worthless)
@New Tobin Paradigm: Re: "check again to be sure? " ... "You don't get points for being ridiculously verbose"
Verbosity... You have put your finger squarely on what at one time had been called one of my biggest communicative faults (you should have seen a specification I had once written for a means of fully encoding GNU debugging "stabs" within unmodified standard AT&T COFF symbol table entries via a method that would allow them to be successfully and correctly handled in a backward compatible manner by an unchanged native System V linker binary - it was very wordy, with many definitions being minimally altered edits of neighboring definitions.)
Thanks for the reminder. I shall try to be more concise in the future.

But "check again..."? I'd been concerned over an appearance of no examination having taken place in the first place. Had I misinterpreted the situation?

Locked