itbox.ua causes palemoon to hang with 100% CPU usage

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
Harkonnen
Moonbather
Moonbather
Posts: 65
Joined: 2014-11-04, 12:27
Location: Kiev, Ukraine

itbox.ua causes palemoon to hang with 100% CPU usage

Unread post by Harkonnen » 2017-03-30, 10:56

If you press "buy" button on itbox.ua (Ukrainian internet shop), palemoon hangs with 100% CPU usage
Tested is safe mode on clean profile

Steps to reproduce
Open page for any item, f.e https://www.itbox.ua/product/Plenka_zaschitnaya_Grand-X_Anti_Glare_dlya_Nexus_7_II_PZGAGN7II-p187995/?utm_source=Hotline&utm_medium=PriceList_cpc&utm_campaign=zaschitnye_plenki&utm_content=U0125301&utm_term=Grand-X_Anti_Glare_dlya_Nexus_7_II
click Buy button (big orange one with "Купить")

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

Re: itbox.ua causes palemoon to hang with 100% CPU usage

Unread post by Moonchild » 2017-03-30, 13:05

If you give it time to have the hang monitor trigger, you'll get:
A script on this page may be busy, or it may have stopped responding. You can stop the script now, open the script in the debugger, or let the script continue.
Script: https://static.itbox.ua/build/main.js?20170329_3:36
Unfortunately it's a minified blurb, but the cause is a runaway script.
Since they use promises, it'll have JS waiting for something that's not handled.

Perhaps the webmasters can do something with the info below:

Code: Select all

15:05:12.719 "Unhandled promise rejection" Error: Syntax error, unrecognized expression: .product-nav__link[href="#p-similar"
Stack trace:
main</</xe</t.error@https://static.itbox.ua/build/main.js?20170329_3:3:13816
main</</xe</t.tokenize@https://static.itbox.ua/build/main.js?20170329_3:3:19777
main</</xe</t.select@https://static.itbox.ua/build/main.js?20170329_3:3:20044
t@https://static.itbox.ua/build/main.js?20170329_3:3:2805
main</</<.find@https://static.itbox.ua/build/main.js?20170329_3:3:22348
main</</ge.fn.init@https://static.itbox.ua/build/main.js?20170329_3:3:22844
main</</ge@https://static.itbox.ua/build/main.js?20170329_3:2:30465
t/<@https://static.itbox.ua/build/main.js?20170329_3:28:9447
i@https://static.itbox.ua/build/main.js?20170329_3:22:26053
c/<@https://static.itbox.ua/build/main.js?20170329_3:22:27464
u/</e[t]@https://static.itbox.ua/build/main.js?20170329_3:22:26229
r@https://static.itbox.ua/build/main.js?20170329_3:5:15450
r/<@https://static.itbox.ua/build/main.js?20170329_3:5:15556
main</Y/</s@https://static.itbox.ua/build/main.js?20170329_3:36:24410
main</Y/<@https://static.itbox.ua/build/main.js?20170329_3:36:24532
main</e.exports/l@https://static.itbox.ua/build/main.js?20170329_3:36:19316
1 main.js:36:24762
main</P/</t<() main.js:36
main</D() main.js:36
main</P/<() main.js:36
main</e.exports() main.js:10
<anonymous> main.js:13
main</g() main.js:13
main</y() main.js:13
"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