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 comment:1
owner: | → plockc@corp.earthlink.net |
---|---|
status: | new → pending |
Changed September 16, 2011 04:11PM UTC by 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 comment:3
status: | pending → new |
---|
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 comment:4
component: | unfiled → misc |
---|---|
priority: | undecided → high |
status: | new → open |
Changed March 10, 2012 01:25PM UTC by comment:5
resolution: | → invalid |
---|---|
status: | open → closed |
This problem could not be confirmed and has not been reported in recent versions.
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