I’ve been to several sites now that freeze after first loading and then after about 3-5 minutes are usable again.
https://qbo.intuit.com
https://www.discover.com
https://www.microsoft.com/en-us/software-download/windows10ISO
If I pause the javascript execution, it looks the same on all pages, except for some minification differences. It’s always in a file called check.js. It happens in an ‘oncomplete’ function where it loops through from 0 to .renderedBuffer.length, which is always 44100. This seems to take minutes.
I know it’s probably a shared library and this particular bit of code seems to relate to audio detection of some kind.
I would say it’s the library’s issue, but brave is the only browser that’s giving me this issue. Not even any other chromium browsers are having this issue.
@achastain ,
I don’t seem to be able to reproduce the issue you’re describing – can you tell me what OS you’re using?
I have been able to reproduce this on both Windows 10 and Ubuntu. I’ve disabled my extensions and the effect lasts.
Here’s the javascript where it freezes:
this.setup = function() {
try {
var td_zW;
if (td_zW = new (window.OfflineAudioContext || window.webkitOfflineAudioContext)(1,44100,44100),
!td_zW) {
return null;
}
var td_Hu = td_zW.createOscillator();
td_Hu.type = td_1h.tdz_85b3a567884244a399432b2b94b71e6d.td_f(16, 8);
td_Hu.frequency.value = 10000;
var td_Fl = td_zW.createDynamicsCompressor();
td_Fl.threshold && (td_Fl.threshold.value = -50);
td_Fl.knee && (td_Fl.knee.value = 40);
td_Fl.ratio && (td_Fl.ratio.value = 12);
td_Fl.reduction && (td_Fl.reduction.value = -20);
td_Fl.attack && (td_Fl.attack.value = 0);
td_Fl.release && (td_Fl.release.value = 0.25);
td_Hu.connect(td_Fl);
td_Fl.connect(td_zW.destination);
td_Hu.start(0);
td_zW.startRendering();
td_zW.oncomplete = function(td_jt) {
if (typeof td_jt.renderedBuffer === [][[]] + "") {
return;
}
var td_HH = new td_3Q();
for (var td_wg = 0; td_wg < td_jt.renderedBuffer.length; td_wg++) { <---- this loop takes forever
td_HH.update(td_jt.renderedBuffer.getChannelData(0)[td_wg].toString());
}
td_Fl.disconnect();
td_Bu = td_HH.toString();
}
;
} catch (td_q3) {
td_Oc = false;
}
}
The code is almost identical on all three of the above sites with the exception of variable names.
It also is in a file called check.js.
I checked and these files are all being served from the web sites in question, not a third party.
Can you upload an example into jsfiddle? Also does disabling shields make any difference?
system
closed
August 1, 2020, 10:25am
#5
This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.