Skip to main content

Bug Tracker

Side navigation

#10288 closed bug (invalid)

Opened September 15, 2011 08:13PM UTC

Closed March 10, 2012 01:25PM UTC

Last modified March 14, 2012 08:55AM UTC

1.6.4 minified has high order bytes causing IE 8 crash when not sent UTF-8

Reported by: plockc@corp.earthlink.net Owned by: plockc@corp.earthlink.net
Priority: high Milestone: None
Component: misc Version: 1.6.4rc1
Keywords: Cc:
Blocked by: Blocking:
Description

If you serve 1.6.4 under lighttpd for instance, which does not set a charset (default will be ISO-8859-1), it will crash IE8.

Pulling same library from google, which sets UTF-8, it does not crash

There is a space character that is not 7 bit ascii starting at character # 15119

(I know there is a better way to do this, but it works)

hexdump -v -e '1/1 "%02X" "\\n"' jquery-1.6.4.min.js | awk '/^[8-9A-F]/ {print NR " " $0} /[0-7]?/ {}'

search for j.test("

Fix:

Use the non-minified version, or you can yui minify the unminified version and it will not have the 8 bit characters

Attachments (0)
Change History (5)

Changed September 16, 2011 02:45PM UTC by dmethvin comment:1

owner: → plockc@corp.earthlink.net
status: newpending

Are you using lighty's ModCompress? If so disable it and see if the problem is still there.

http://redmine.lighttpd.net/wiki/1/Docs:ModCompress

Changed September 16, 2011 04:11PM UTC by anonymous comment:2

It's commented out:

# "mod_compress",

I'm curious from the response if you disagree about the existence of the 2 8-bit bytes, or if the high bytes are intended, or if you are asserting that it shouldn't matter?

To be a little more explicit, Here are two versions of jquery and the test I ran (Mac OSX):


curl -o jquery-1.6.4.min.js http://code.jquery.com/jquery-1.6.4.min.js

hexdump -v -e '1/1 "%02X" "\\n"' jquery-1.6.4.min.js | awk '/^[8-9A-F]/ {print NR " " $0} /[0-7]?/ {}'

The output shows any bytes in the range 80-FF (hex):

15119 C2

15120 A0


curl -o jquery-1.6.4.js http://code.jquery.com/jquery-1.6.4.js

hexdump -v -e '1/1 "%02X" "\\n"' jquery-1.6.4.js | awk '/^[8-9A-F]/ {print NR " " $0} /[0-7]?/ {}'

(no output, it's clean)


I also checked http://code.jquery.com/jquery.min.js

and it has 8 bit bytes

For more detail on the lighttpd, environment has already been modified (outside my control), so I can't show the crash state anymore, but this should be the matching set of response headers I just pulled from a different environment for jquery-1.6.4.min.js:

Accept-Ranges:bytes

Content-Length:72174

Content-Type:text/javascript

Date:Fri, 16 Sep 2011 15:55:39 GMT

ETag:"-1556017200"

Last-Modified:Mon, 07 Jun 2010 22:52:02 GMT

Server:NENlighttpd

thanks

-c

Changed September 16, 2011 04:27PM UTC by plockc@corp.earthlink.net comment:3

status: pendingnew

oops, I didn't use wiki formatting and posted anonymously instead of with my addy, the code should instead be:

hexdump -v -e '1/1 "%02X" "\\n"' jquery-1.6.4.min.js \\
  | awk '/^[8-9A-F]/ {print NR " " $0} /[0-7]?/ {}'

I don't think I can edit my earlier comment to fix

Changed September 19, 2011 04:23PM UTC by rwaldron comment:4

component: unfiledmisc
priority: undecidedhigh
status: newopen

Changed March 10, 2012 01:25PM UTC by dmethvin comment:5

resolution: → invalid
status: openclosed

This problem could not be confirmed and has not been reported in recent versions.