Bug Tracker

Opened 9 years ago

Closed 9 years ago

Last modified 8 years ago

#6450 closed bug (invalid)

Not enough storage is available to complete this operation

Reported by: daveroberts Owned by:
Priority: Milestone: 1.4.3
Component: support Version: 1.4.2
Keywords: Cc:
Blocked by: Blocking:

Description

Using Internet Explorer 6, jquery will throw an exception when trying to run the line userAgent = navigator.userAgent if the userAgent string is too long.

The exception thrown is "Not enough storage is available to complete this operation". In my Windows registry, there is a key located at HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ User Agent\Post Platform. The key was named "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ". If I delete this key, jquery loads fine. On my other Windows machines containing IE 6, the User Agent folder is located at a different place in the registry: HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ 5.0 This folder contains different keys, and jquery does not have a problem loading on these machines.

For my applications, I just hard coded the user agent into jquery as all our users use Internet Explorer. This should be addressed for all users though.

Change History (2)

comment:1 Changed 9 years ago by dmethvin

Component: unfiledsupport

Not sure how jQuery would work around this, it seems like the problem would happen all over the web.

comment:2 Changed 9 years ago by dmethvin

Resolution: invalid
Status: newclosed

I've just finished a project where I encountered what I think is the underlying cause for this bug. IE6 is likely calling ObtainUserAgentString ( http://msdn.microsoft.com/en-us/library/ms775114%28VS.85%29.aspx ). That function returns E_OUTOFMEMORY if the buffer provided isn't big enough. That translates into the error description you mentioned above.

This can happen when software installed on the system adds long strings into the User-Agent string. It explains why the problem disappears when you delete parts of the UA from the registry, since the string gets shorter. Since it happens inside IE Javascript and there isn't anything jQuery can do to fix it, I'll close this ticket as a non-jQuery bug.

Note: See TracTickets for help on using tickets.