onErrror javascript makes firefox/ADP go into unending loop

Everything about using Adblock Plus on Mozilla Firefox, Thunderbird and SeaMonkey
Post Reply
Jensen

onErrror javascript makes firefox/ADP go into unending loop

Post by Jensen »

Hi all

I have a filter saying "clustrmaps.com"

But some webpages have code like this:

Code: Select all

<a href="http://www3.clustrmaps.com/counter/maps.php?url=http://example.com" id="clustrMapsLink"><img src="http://www3.clustrmaps.com/counter/index2.php?url=http://example.com" style="border:0px;" alt="Locations of visitors to this page" title="Locations of visitors to this page" id="clustrMapsImg" onError="this.onError=null; this.src='http://www2.clustrmaps.com/images/clustrmaps-back-soon.jpg'; document.getElementById('clustrMapsLink').href='http://www2.clustrmaps.com'" />
</a>
When viewing such pages Firefox goes into an eternal loop where the hitcounter for clustrmaps.com keeps increasing to millions in a few minutes using all the CPU time it can get. I suppose it is because of the onError="this.onError=null" javascript code. Any advice how to avoid this? I am using Firefox 3.0b5 with ADP 0.7.5.4.

Thanks
Jensen
Jensen

Post by Jensen »

Hi

I forgot to tell that am I using Linux. The distribution and version is Ubuntu 8.04 LTS.

Jensen
Wladimir Palant

Post by Wladimir Palant »

Yes, this code has a bug, it should be this.onerror=null (note the lowercase "e"). It will always go into an endless loop if clustrmaps.com happens to be down/unreachable/blocked. clustrmaps.com is suggesting to use this code, I'll send them a mail.
Wladimir Palant

Post by Wladimir Palant »

Here is the response I got:
clustrmaps.com wrote:Many thanks for spotting the error. We've fixed it and it will be distributed
to the new users and those who come to re-get the code. On the other hand, the
situation when both servers would be down is very unlikely, so there is no
need to worry too much...
In other words, they won't bother fixing the sites that are already broken (including their own homepage, it still has the same buggy code). I sent a follow-up mail explaining that it isn't necessary for both servers to be down for clustrmaps.com to be unreachable - but I wouldn't count on them too much...
clustrmaps
Posts: 2
Joined: Wed May 21, 2008 10:59 pm

Post by clustrmaps »

Here's are some key excerpts from an email I've just sent to Wladimir (and I hope it's clear that saying "I wouldn't count on them too much" is grossly unfair!) :

a) this anomaly is significant and we're trying to work out how to deal with the code that is 'already out there': it's a tradeoff between mass-mailing users, putting it on our blog, awaiting 'in-the-wild-reports', and (most likely) some mixture of all three - massive loops and CPU hogging won't do anyone any favours, so we don't want to go down the route of 'merely waiting', but at the same time we have no reports of this problem over quite a long period: this doesn't excuse the code, but is an interesting historical footnote and relevant to how we choose to deal with it.

b) we're grateful for the discovery - thanks again

c) re "I wouldn't count on them too much..." . Our record of responsiveness not only to our registered users, but also to random blog and forum postings around the world, is very highly respected ... I don't understand why, on the basis of the dialogue we've had thus far, and the appearance of an apparent bug, we warrant such a hostile and demonstrably refutable public remark on your forum!

[I'm separately trying to clarify with Wladimir the implications of adblockplus for ClustrMaps, which has no advertising 'per se' in the main widget itself, and for which even the 'deeper pages' do not automatically contain advertising either!]

OK, I hope that clarifies where we stand at the moment, and is indicative of how seriously and immediately we are dealing with all these issues.

-Marc on behalf of the ClustrMaps Team
Wladimir Palant

Post by Wladimir Palant »

Thanks, Marc. My remark about "not counting on them too much" wasn't based on our dialog at all - it was just based on experience about how vendors usually deal with issues reported to them. The typical reaction is "let's just fix it silently and hope nobody notices", and it takes very strong arguments to show that users need to be warned. It is always nice to see an exception to that rule. So please excuse me if my remark offended you - it was clearly wrong.
clustrmaps
Posts: 2
Joined: Wed May 21, 2008 10:59 pm

Post by clustrmaps »

OK, no problem, and your clarifications are very much appreciated... indeed in your private email to me you've clarified a number of other issues too, so all seems to be 'in hand'.

The code is fixed, and for 'legacy' users we're looking at ways to notify them as part of a generic (non-spam) informative message about the next round of improvements to ClustrMaps.

Heh, it just occurred to me that you guys ought to embed our ClustrMapswidget in THIS forum's header or footer to show off your global traffic! ;-) I'm sure you've got your own internal 'classic' stats, but it's nice to show off your global readership at a glance: don't worry, there are no ads (and any 'onward' or deeper ads can be disabled, since we would upgrade you for free to ClustrMaps+ ... a standard benefit for anyone pointing out bugs).

Anyway, regardless of whether you deploy it, thanks for the comments.

-Marc
Wladimir Palant

Post by Wladimir Palant »

I sure will - as soon as your service accepts a set of coordinates as input rather than IP addresses ;)

I can easily use the GeoIP database myself (there is even a script doing that on this server already) - not a problem, I only need a visualization tool then. Giving the IP addresses of site visitors away to a third-party is a different thing, I'm not willing to do that.
Jensen

Post by Jensen »

clustrmaps wrote:[I'm separately trying to clarify with Wladimir the implications of adblockplus for ClustrMaps, which has no advertising 'per se' in the main widget itself, and for which even the 'deeper pages' do not automatically contain advertising either!]
It is me who has blocked ClustrMaps and got the problems with the endless loop. The reason for the block is not adds. I did it because some web sites using ClustrMaps provide public access to statistics for their site which may include IP addresses. And I don't like to make public known which sites I visit.
Post Reply