cdnetworks.com crashes browser

For support with specific websites

Moderator: trava90

Forum rules
Please always mention the name/domain of the website in question in your topic title.
Please one website per topic thread (to help keep things organized). While behavior on different sites might at first glance seem similar, they are not necessarily caused by the same.

Please try to include any relevant output from the Toolkit Error Console or the Developer Tools Web Console using the following procedure:
  1. Clear any current output
  2. Navigate or refresh the page in question
  3. Copy and paste Errors or seemingly relevant Warnings into a single [ code ] block.
User avatar
franstam
Moon lover
Moon lover
Posts: 88
Joined: 2017-03-27, 10:16

cdnetworks.com crashes browser

Unread post by franstam » 2022-11-22, 03:51

https://www.cdnetworks.com/knowledge-ce ... e_control/

above page locks up Pale Moon when loaded. 1 cpu core gets loaded to 100%, memory utilization (commit) will keep creeping up and up until all commit charge is used up then browser will crash.

tried using a new profile and same thing happens.
page works fine in firefox (doesn't tell us a whole lot).

Code: Select all

im not able to capture any output from the console, upon loading said page, browser will become unresponsive until browser crashes or gets force killed.

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

Re: cdnetworks.com crashes browser

Unread post by moonbat » 2022-11-22, 08:32

Use an adblocker.

Crashes on an empty profile, works fine on my regular profile having blocked crap from naver.net, daumcdn.net and tidio.co, any of which may originate the offending script.
"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
gepus
Keeps coming back
Keeps coming back
Posts: 938
Joined: 2017-12-14, 12:59

Re: cdnetworks.com crashes browser

Unread post by gepus » 2022-11-22, 09:53

unreachable code

I assume that this time naver.net/wcslog.js is the culprit.

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

Re: cdnetworks.com crashes browser

Unread post by Moonchild » 2022-11-22, 11:46

"unreachable code" is just a debug message and won't affect script operation.
It just means that a function has a return statement that is always triggered, but there's still more code in the script after that statement in a function that will never execute.
"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
jobbautista9
Keeps coming back
Keeps coming back
Posts: 782
Joined: 2020-11-03, 06:47
Location: Philippines
Contact:

Re: cdnetworks.com crashes browser

Unread post by jobbautista9 » 2022-11-23, 02:24

Tobin has reported in the SeaMonkey IRC that it looks to be a regression in 31. He said that 29 doesn't have this problem, and I can confirm that with a fresh profile of 29.4.6 it doesn't exhaust memory, and the problem starts with 31.0.0 (also with a fresh profile). Here's the chat log verbatim:
NewTobinParadigm wrote: pandakekok9: viewtopic.php?f=70&t=29095&p=233952#p233952 tell Wolfbeast that in my surface analysis it seems to be endlessly spinning with processing and most frequently walking the style tree.. It is not a problem in Pale Moon 29 or older and was not a problem in GRE so whatever is triggering this was most decidedly post-GRE AND it is something I also took in and since I haven't taken in all or even all i desire yet..

a comparison should give you a somewhat more targeted place to start build regression testing.. I would guess the best place to focus would be layout post-gre but before september-ish feels about the right range

possibly july aug timespan.. perhaps pandakekok9
Image

merry mimas

XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.

Mima avatar by 絵虎. Pixiv post: https://www.pixiv.net/en/artworks/15431817

Image

User avatar
Kris_88
Keeps coming back
Keeps coming back
Posts: 933
Joined: 2021-01-26, 11:18

Re: cdnetworks.com crashes browser

Unread post by Kris_88 » 2022-11-23, 03:01

Code: Select all

MutationObserver storm detected, callback interrupted.

Observer created at:
Error@https://www.cdnetworks.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.8.0:2:31632
elementorColumn@https://www.cdnetworks.com/wp-content/cache/min/1/wp-content/plugins/jet-tricks/assets/js/jet-tricks-frontend.js?ver=1668993534:6:1492
_runHook@https://www.cdnetworks.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.8.0:2:35517
doAction@https://www.cdnetworks.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.8.0:2:36133
[9804]/e.exports/this.runReadyTrigger@https://www.cdnetworks.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.8.0:2:3377
runElementsHandlers/</<@https://www.cdnetworks.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.8.0:2:1073

Current options:
{"attributes":true,"childList":true,"subtree":true}

Current target:
[object HTMLDivElement] DIV class="jet-sticky-column elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-4a23f96 elementor-hidden-mobile elementor-hidden-tablet"

Callback function:
function(mutationsList,observer){for(var mutation of mutationsList){if('attributes'===mutation.type){$target[0].style.height='auto'}}}

User avatar
jobbautista9
Keeps coming back
Keeps coming back
Posts: 782
Joined: 2020-11-03, 06:47
Location: Philippines
Contact:

Re: cdnetworks.com crashes browser

Unread post by jobbautista9 » 2022-11-23, 04:16

More information:
NewTobinParadigm wrote: pandakekok9: right.. yeah I guess a mutationobserver storm would cause repeated walking of the style tree AND i forgot to mention without js it is fine with js but style set to no style (might be basic style in Pale Moon) it is fine.. But we have seen this before as well same behavior and result but this issue doesn't happen in older versions so maybe something exposed another flaw and fixing this flaw will fix this problem regardless?

across the board regardless*
Image

merry mimas

XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.

Mima avatar by 絵虎. Pixiv post: https://www.pixiv.net/en/artworks/15431817

Image

User avatar
Kris_88
Keeps coming back
Keeps coming back
Posts: 933
Joined: 2021-01-26, 11:18

Re: cdnetworks.com crashes browser

Unread post by Kris_88 » 2022-11-23, 04:56

jobbautista9 wrote:
2022-11-23, 04:16
NewTobinParadigm wrote: but this issue doesn't happen in older versions so maybe something exposed another flaw and fixing this flaw will fix this problem regardless?
Maybe the opposite?
The problem with the observer did not show up, because in the early version of PM something did not work (or did not work correctly) ?

PM 29.4.5
-------------------------------------------------
Use of attributes’ nodeValue attribute is deprecated. Use value instead.
what_is_cache_control:3:4658
ReferenceError: kakaoPixel is not defined[Learn More]
what_is_cache_control:2:6
JQMIGRATE: Migrate is installed, version 3.3.2
jquery-migrate.min.js:2:699
opt-in
complianz.min.js:1:19198
SyntaxError: expected expression, got '.'[Learn More]
frontend.min.js:2:20692
SyntaxError: expected expression, got '.'[Learn More]
frontend.min.js:2:2165
unreachable code after return statement[Learn More]
jet-tricks-frontend.js:6:2136
GBL Chat Active
what_is_cache_control:28:2
Use of getAttributeNode() is deprecated. Use getAttribute() instead.
chunk-WidgetIframe-00c1f8e925367261419d.js:2:86659
EN GA Script Running
-------------------------------------------------


PM 31.2.0.1
-------------------------------------------------
Use of attributes’ nodeValue attribute is deprecated. Use value instead.
what_is_cache_control:3:4658
ReferenceError: kakaoPixel is not defined[Learn More]
what_is_cache_control:2:6
JQMIGRATE: Migrate is installed, version 3.3.2
jquery-migrate.min.js:2:699
opt-in
complianz.min.js:1:19198
unreachable code after return statement[Learn More]
jet-tricks-frontend.js:6:2136
EN GA Script Running
what_is_cache_control:64:4
GBL Chat Active
-------------------------------------------------

User avatar
FranklinDM
Add-ons Team
Add-ons Team
Posts: 575
Joined: 2017-01-14, 02:40
Location: Philippines
Contact:

Re: cdnetworks.com crashes browser

Unread post by FranklinDM » 2022-11-23, 05:11

Kris_88 wrote:
2022-11-23, 04:56
The problem with the observer did not show up, because in the early version of PM something did not work (or did not work correctly) ?
Makes sense, since earlier versions of Pale Moon don't have support for optional chaining, which prevents the offending JS from being run.

User avatar
franstam
Moon lover
Moon lover
Posts: 88
Joined: 2017-03-27, 10:16

Re: cdnetworks.com crashes browser

Unread post by franstam » 2022-11-25, 07:09

moonbat wrote:
2022-11-22, 08:32
Use an adblocker.

Crashes on an empty profile, works fine on my regular profile having blocked crap from naver.net, daumcdn.net and tidio.co, any of which may originate the offending script.
hi, thanks for this hint. however i have blocked the 3 scripts you mentioned in my ublock origin with the below rules but the crashes still occur.

* daumcdn.net * block
* naver.net * block
* tidio.co * block

User avatar
FranklinDM
Add-ons Team
Add-ons Team
Posts: 575
Joined: 2017-01-14, 02:40
Location: Philippines
Contact:

Re: cdnetworks.com crashes browser

Unread post by FranklinDM » 2022-11-25, 12:19

An update on this - I've recently built a debug build and tried to check what causes this issue. The problem with the cdnetworks.com page is just Issue #1808 (UXP), which still remains unfixed (supported as well by @Kris_88's findings).

Also, the hang doesn't get triggered if you make the window's width small enough or set the page style to no style. This is because the code containing the mutation observer is not executed if Elementor (particularly the JetTricks plugin for Elementor) detects that the "current device mode" is either mobile (small width) or none (no style). You can try blocking this script, which contains the poorly-designed mutation observer.

A partially unminified copy of the section of that script which contains the hang-causing mutation observer can also be seen below:

Code: Select all

            if (!editMode) {
                settings = $target.data('jet-settings');
                if ($target.hasClass('jet-sticky-column')) {
                    if (-1 !== settings.stickyOn.indexOf(elementorFrontend.getCurrentDeviceMode())) {
                        stickyInstanceOptions.topSpacing = settings.topSpacing;
                        stickyInstanceOptions.bottomSpacing = settings.bottomSpacing;
                        imagesLoaded($parentSection, function () {
                            $target.data('stickyColumnInit', !0);
                            stickyInstance = new StickySidebar($target[0], stickyInstanceOptions)
                        });
                        var targetMutation = $target[0],
                        config = {
                            attributes: !0,
                            childList: !0,
                            subtree: !0
                        };
                        var callbackMutation = function (mutationsList, observer) {
                            for (var mutation of mutationsList) {
                                if ('attributes' === mutation.type) {
                                    $target[0].style.height = 'auto'
                                }
                            }
                        };
                        var observer = new MutationObserver(callbackMutation);
                        observer.observe(targetMutation, config);
                        $window.on('resize.JetTricksStickyColumn orientationchange.JetTricksStickyColumn', JetTricksTools.debounce(50, resizeDebounce));
                        MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
                        var observer = new MutationObserver(function (mutations) {
                            if (stickyInstance) {
                                mutations.forEach(function (mutation) {
                                    if (mutation.attributeName === 'class') {
                                        setTimeout(function () {
                                            stickyInstance.destroy();
                                            stickyInstance = new StickySidebar($target[0], stickyInstanceOptions)
                                        }, 100)
                                    }
                                })
                            }
                        });
                        $observerTarget.each(function () {
                            observer.observe($(this)[0], {
                                attributes: !0
                            })
                        })
                    }
                }
            } else {
                return !1;
                settings = JetTricks.columnEditorSettings(columnId);
                if ('true' === settings.sticky) {
                    $target.addClass('jet-sticky-column');
                    if (-1 !== settings.stickyOn.indexOf(elementorFrontend.getCurrentDeviceMode())) {
                        stickyInstanceOptions.topSpacing = settings.topSpacing;
                        stickyInstanceOptions.bottomSpacing = settings.bottomSpacing;
                        $target.data('stickyColumnInit', !0);
                        stickyInstance = new StickySidebar($target[0], stickyInstanceOptions);
                        $window.on('resize.JetTricksStickyColumn orientationchange.JetTricksStickyColumn', JetTricksTools.debounce(50, resizeDebounce))
                    }
                }
            }
Some context: elementorFrontend.getCurrentDeviceMode() returns mobile, desktop, or none. The value of settings.stickyOn does not contain both mobile (small window width) and none (no page style), which is why the hang doesn't occur for those scenarios.

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

Re: cdnetworks.com crashes browser

Unread post by Moonchild » 2022-11-25, 13:05

Reported to CrocoBlock as a bug:
Issue #6203
"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
franstam
Moon lover
Moon lover
Posts: 88
Joined: 2017-03-27, 10:16

Re: cdnetworks.com crashes browser

Unread post by franstam » 2022-11-26, 13:18

thanks Moonchild

Locked