CSS3 PIE Forums

Hang in IE8 when using 150% zoom
Page 1 of 1

Author:  jdebinder [ Wed Jan 09, 2013 9:03 pm ]
Post subject:  Hang in IE8 when using 150% zoom

We have an application that uses PIE.JS. When the user zooms to 150% and scrolls around the browser hangs. It seems to be hung in an infinite loop. This has grown into an urgent problem because a few high profile people happen to use the browser zoom function and have made this a high priority. Your prompt help is much appreciated.

The hang occurs because of an infinite loop in the PIE.js file at the following location:

function s(){J&&J.Ad()&&o()}

I have a zip file containing a static html file with it's associated files that can be used to easily recreate the problem. It is too large to attach here but I can send it to you if you send me an email.

Process to recreate:

1. expand the zip file into the home directory of a local web server
2. assign an alias to the localhost that looks like a real server address with a domain name. (e.g. host1.ibm.com)
(this is necessary because of an access protection in the browser, we need to make the browser believe that there is a real Internet domain scope in play)
3. open an IE8 browser
4. navigate to the static file: Home.htm
5. ensure the zoom setting on IE8 is 100%
6, open Developer Tools
7. select the "Script" page
8. ensure the "Break on Error" mode is set (button in menu)
9. select "Start debugging" and select OK
10. in IE8 select zoom -> 150%
(don't just click on the 100%, that will only increase the zoom and may not recreate the problem, you really need to open the menu at the bottom of the page and select 150% on that menu)
11. Scroll up and down a few times, using the scroll bar on the right, it doesn't take too long to hang.
12. When the browser hangs switch to the Developer Tools window and select "Pause"
13. Switch to the Call Stack page

You will see that this is an infinite loop. If you put a break point on the "s" function you can continually hit the "Continue" button and will never leave this loop.

I realize that this is a function that is repeatedly call inside a SetTimeout call (function c(){a.xa();setTimeout(c,b)}), but if you hit the "Break All" button while the browser is functioning properly that stack looks quite a bit different.

Author:  jason [ Thu Jan 10, 2013 1:07 pm ]
Post subject:  Re: Hang in IE8 when using 150% zoom

You can send me your file at jason@css3pie.com.

You'll get much more useful debugging information if you use PIE_uncompressed.js, which has the full variable names etc.

Author:  jason [ Thu Jan 10, 2013 3:35 pm ]
Post subject:  Re: Hang in IE8 when using 150% zoom

Looks like there's a bug in calculating padding values with em units. If I change the 0.2em padding values in IWPOpportunities.css to equivalent px values the hang seems to go away.

I'll create a ticket to get this fixed; in the meantime I hope that workaround gets you going.

Author:  jdebinder [ Thu Jan 10, 2013 3:50 pm ]
Post subject:  Re: Hang in IE8 when using 150% zoom

We came up with exactly the same conclusion. We will use 3px for a work around. Keep me up to date and let me know when the fix gets in. Thanks!

Author:  jdebinder [ Mon Jan 14, 2013 8:17 pm ]
Post subject:  Re: Hang in IE8 when using 150% zoom

Jason, one more question. I would like to release the workaround for now, changing the padding settings to px instead of em. Can you tell me more precisely what conditions cause the error? I ask because I see another case where the padding is set using em but it is not causing the same hang. The setting that caused the hang used 0.2em combined with the rounded corners. The setting that does not seem to cause the same hang uses 0.5em and rounded corners.

Author:  jason [ Mon Jan 14, 2013 9:35 pm ]
Post subject:  Re: Hang in IE8 when using 150% zoom

Unfortunately I haven't had time to investigate the root cause yet. My hunch is that it has to do with the element being a <button> -- there is some special handling for padding on buttons that could be the culprit.

Author:  jdebinder [ Tue Jan 15, 2013 9:08 am ]
Post subject:  Re: Hang in IE8 when using 150% zoom

k, thanks

Page 1 of 1 All times are UTC - 7 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group