Garbage man no longer breaks Facebook albums!

Just some minor good news: a bug that caused me hours of work was closed this week. Browsing Facebook albums should no longer randomly hang!

The problem was caused by an over-eager virtual garbage man. Facebook was pre-loading images in the background, relying on a load event firing on the image to know that it was loaded and insert it into the document. Sometimes, particularly on slow connections or computers, garbage collection would come across the loading image, notice that it was not actually used in a document or referenced by the script, and destroy it before the onload event fired. From Facebook's script's point of view the effect was that random images apparently never finished loading and could not be inserted into the page. (As most timing-related problems this was really time-consuming to track down and understand. I was really fed up browsing photos on Facebook by the time I had boiled it down to a small demo that sometimes reproduced the problem..)

The dustman should now stop trashing images with an onload event that hasn't fired yet:

Date: 	Tue, 11 May 2010 11:43:17 +0000 [11-05-2010 11:43:17 UTC]
Subject: 	[BTS] [CORE-28434] Resolved:  Facebook Album images 
not loading - skipping load events

Resolved CORE-28434.
-----------------------------------

    Resolution: Fixed

Going to assume that it's fixed by the fix for CORE-15299 
because that seems very likely considering what the testcase 
looks like.

😀
Don't know when you'll get the fix in a public desktop build, but it's only a matter of time.

Advertisements

10 thoughts on “Garbage man no longer breaks Facebook albums!

  1. Originally posted by Aux:

    So now you are lynx user?

    LOL. Lynx is probably going to replace Opera as my default browser if I have to work on one more FB album bug :p

  2. Last check wasErrors found while checking this document as XHTML 1.0 Strict!Result: 14552 Errors, 1456 warning(s)March 1 at 3:30pm (2010)

  3. Originally posted by hallvors:

    The problem was caused by an over-eager virtual garbage man.

    Opera's garbage man, right? When you said virtual, I was thrown off, since Opera doesn't virtualise anything.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s