Basic theory to Firefox 52+ / PaleMoon 28+ memory leak issues
Posted: 05 Mar 2021, 12:17
So I've done a small amount of research into why Firefox versions above v50 have severe stability issues... it seems like the interface responsible for plugins/add-ons is to blame, if anything. I'd probably like to see a more technical, codebase related reason preferably from somebody like roytam1 or Feodor2 as to why as they seem knowledgeable about the browser engine, but it does seem to ultimately be rooted down to the godawful XUL extension engine - to the point where I can see why they nuked 'legacy' extensions from a technical standpoint.
Whenever v52 ESR was released, no future work would have been done on the XUL-based extensions anymore (the same for maintaining testing on any Windows XP/Vista based operating system and maintaining that dependencies would compile on those two OSes), and all work would have been moved to WebExtensions, in preparation for the Firefox 57/60 "Quantum" generation - presumably some short time after v45. I remember an ex-friend of mine who had severe stability troubles starting from version 48 onwards and was stuck on v47 until that version broke for most websites.
This, inconveniently, applies to every New Moon and Mypal build starting from v28 onwards. Goanna/UXP fell so far behind that Moonchild Productions and its contributors forked not from the more mature 45 ESR codebase, but the instable, inconsistent and messy 52 ESR code for v28. The v27 builds have much less issues due to them being built from parts of the v24, v38 and v45 codebases then further refined, however they do not receive any rendering engine updates anymore, so the Modern Web is slowly becoming less usable on those engines.
Either way, it seems like having any number of add-ons installed seems to cause memory leaks to happen much quicker. Even having something like uBlock Origin, which you'd expect to help the issues caused by heavy websites by blocking obnoxious ad scripting, actually is one of the worst offenders due to its heavy JS usage in the background (and let's face it, thanks to Node.JS using the V8 engine from Chromium, no one else can keep up who is still bothering, even now). Another contributor seems to be any 'responsive web apps' using heavy AJAX in combination with JS - stuff like Discord and Twitter, which constantly poll using multiple connection processes through the roof.
Guess Firefox really is a tool to sell Google Chrome under the guise of 'it's free and open source, but Google pays us to keep Google the default and make their trackers whitelisted (as do CloudFront/Amazon/CloudFlare/Facebook/Twitter), and we're actually shittier anyway and ran out of ideas starting with version 4.0 so just go use Chromium or something anyway!'
Whenever v52 ESR was released, no future work would have been done on the XUL-based extensions anymore (the same for maintaining testing on any Windows XP/Vista based operating system and maintaining that dependencies would compile on those two OSes), and all work would have been moved to WebExtensions, in preparation for the Firefox 57/60 "Quantum" generation - presumably some short time after v45. I remember an ex-friend of mine who had severe stability troubles starting from version 48 onwards and was stuck on v47 until that version broke for most websites.
This, inconveniently, applies to every New Moon and Mypal build starting from v28 onwards. Goanna/UXP fell so far behind that Moonchild Productions and its contributors forked not from the more mature 45 ESR codebase, but the instable, inconsistent and messy 52 ESR code for v28. The v27 builds have much less issues due to them being built from parts of the v24, v38 and v45 codebases then further refined, however they do not receive any rendering engine updates anymore, so the Modern Web is slowly becoming less usable on those engines.
Either way, it seems like having any number of add-ons installed seems to cause memory leaks to happen much quicker. Even having something like uBlock Origin, which you'd expect to help the issues caused by heavy websites by blocking obnoxious ad scripting, actually is one of the worst offenders due to its heavy JS usage in the background (and let's face it, thanks to Node.JS using the V8 engine from Chromium, no one else can keep up who is still bothering, even now). Another contributor seems to be any 'responsive web apps' using heavy AJAX in combination with JS - stuff like Discord and Twitter, which constantly poll using multiple connection processes through the roof.
Guess Firefox really is a tool to sell Google Chrome under the guise of 'it's free and open source, but Google pays us to keep Google the default and make their trackers whitelisted (as do CloudFront/Amazon/CloudFlare/Facebook/Twitter), and we're actually shittier anyway and ran out of ideas starting with version 4.0 so just go use Chromium or something anyway!'