Skip to main content

Bug Tracker

Side navigation

#8353 closed bug (wontfix)

Opened February 22, 2011 06:26PM UTC

Closed February 23, 2011 11:40PM UTC

Last modified March 17, 2012 02:06PM UTC

Bug in resolveWith in 1.5 on IE7

Reported by: todd@cfsilence.com Owned by: jaubourg
Priority: low Milestone: 1.next
Component: core Version: 1.5
Keywords: Cc: jaubourg
Blocked by: Blocking:
Description

I've tracked down an issue in the resolveWith method in 1.5 core.

Because IE sucks I can't determine a stack trace, but the error I get is as follows:

[[Image(http://s3.amazonaws.com/twitpic/photos/full/246302722.jpg?AWSAccessKeyId=0ZRYP5X5F6FSMBCCSE82&Expires=1298399992&Signature=QGMOBC7dTyW0gYZVp9H%2F24T3c2U%3D)]]

If I add an empty catch within the resolveWith method the issue goes away (it just has try/finally).

Please contact me if you need any further info.

Attachments (0)
Change History (13)

Changed February 22, 2011 06:28PM UTC by anonymous comment:1

It seems this is a known issue in IE that was fixed in IE 8 --> http://webbugtrack.blogspot.com/2007/11/bug-184-catch-to-try-catch-finally-in.html

Changed February 22, 2011 11:00PM UTC by jitter comment:2

component: unfiledevent
milestone: 1.next1.5.1
owner: → todd@cfsilence.com
priority: undecidedblocker
status: newpending

Thanks for taking the time to contribute to the jQuery project by writing a bug report.

The link to your image seems broken.

Also please submit a reduced test case, which reproduces the issue you are experiencing, on http://jsfiddle.net. So that we can investigate this issue further. Also make sure to read the link given below, in order to provide a most useful bug report.


How to report bugs

Changed February 23, 2011 12:08AM UTC by todd@cfsilence.com comment:3

status: pendingnew

Yep, I'll dig into this tomorrow morning and provide a good example when I have access to IE7 again. Thanks!

Changed February 23, 2011 12:11AM UTC by todd@cfsilence.com comment:4

Here's the image link: http://twitpic.com/42n4ea

It's a really odd error message because my code had nothing to do with setting focus to an element.

Changed February 23, 2011 12:33AM UTC by jitter comment:5

cc: → jaubourg
component: eventcore
status: newpending

Changed February 23, 2011 01:42AM UTC by jaubourg comment:6

owner: todd@cfsilence.comjaubourg
status: pendingassigned

Damn, totally forgot I had to fix this.

Changed February 23, 2011 01:51AM UTC by jaubourg comment:7

resolution: → fixed
status: assignedclosed

Fixes #8353. Adds a catch block in resolveWith so that the finally block gets executed in IE7 and IE6.

Changeset: cacea6f7e778d42cda56066a6b1da8fb163410cc

Changed February 23, 2011 11:33PM UTC by jaubourg comment:8

Revert "Fixes #8353. Adds a catch block in resolveWith so that the finally block gets executed in IE7 and IE6."

This reverts commit cacea6f7e778d42cda56066a6b1da8fb163410cc.

Changeset: 5d9db486c774c10293d0813c89dfdbd973120030

Changed February 23, 2011 11:40PM UTC by jaubourg comment:9

milestone: 1.5.11.next
resolution: fixed
status: closedreopened

Changed February 23, 2011 11:40PM UTC by jaubourg comment:10

resolution: → wontfix
status: reopenedclosed

After discussion, it seems unreasonable to make debugging in every browser a nightmare (using a rethrow will screw traceability). Since this only occurs in IE7, then IE7 will be the only browser that will have deferreds dead-locked in case of an exception.

Getting back to your specific case, an exception is thrown from the callback and, thus, has to be notified: there clearly is an issue in your code, not in resolveWith. Adding an empty catch block will not solve your problem, it will only hide it.

Changed February 23, 2011 11:40PM UTC by jaubourg comment:11

priority: blockerlow

Changed February 23, 2011 11:47PM UTC by todd@cfsilence.com comment:12

I'll work on a proper use case tomorrow. I'm pretty convinced that it was jQueryUI code that was throwing the exception (so maybe the bug belongs elsewhere).

Changed April 21, 2011 09:36PM UTC by Ted comment:13

just an odd fyi, I ran into the same problem--but the error was in my code, and not so obvious.

In a jQuery plugin I was writing, I had an object with a missing last element, for example:

#!js  
   (function( $ ){
      var options = {
          optA:1,
          optB:2,
          optC:3,
      }
   ...
  

that last comma after the last entry didn't kick up any warnings in the IDE, and kicked out the odd error (and epic fail) that the 'finally' method wasn't supported only in IE7.

So if you run into this problem, double check any objects you've instantiated for an extra comma.

HTH, -Ted