Skip to main content

Bug Tracker

Side navigation

#6450 closed bug (invalid)

Opened April 16, 2010 03:28PM UTC

Closed August 09, 2010 02:13AM UTC

Last modified March 13, 2012 08:44PM UTC

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.

Attachments (0)
Change History (2)

Changed June 15, 2010 01:20AM UTC by dmethvin comment:1

component: unfiledsupport

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

Changed August 09, 2010 02:13AM UTC by dmethvin comment:2

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.