Bug Tracker

Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#10288 closed bug (invalid)

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

Reported by: plockc@… Owned by: plockc@…
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

Change History (5)

comment:1 Changed 7 years ago by dmethvin

Owner: set to plockc@…
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

comment:2 Changed 7 years ago by anonymous

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

comment:3 Changed 7 years ago by plockc@…

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

comment:4 Changed 7 years ago by Rick Waldron

Component: unfiledmisc
Priority: undecidedhigh
Status: newopen

comment:5 Changed 7 years ago by dmethvin

Resolution: invalid
Status: openclosed

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

Note: See TracTickets for help on using tickets.