Weird Flash problem

#1
Let me start by saying I don't know if this is a LiteSpeed problem or not, but something happened this morning that made me wonder. This is a weird problem, so I'm going to give as much information as I can. Sorry if this is a bore :)

I'm developing a Rails (1.2.3) app on Mac OS X 10.4.11 but deploying on 64 bit Linux (Ubuntu Feisty on SliceHost). On the slice I have installed the 32 bit compatibility libraries and the 32 bit LiteSpeed WS Standard 3.3.2 (love it!).

This web site uses 3 flash movies, currently saved in Flash 8 format (but edited in CS3). As I develop the application, I run Mongrel locally for day to day testing, which I do in Safari 3.0.4 and Firefox 2.0.0.11, and when I need to test Windows browsers, I run XP SP2 in Parallels 3.0, build 5582. I use two different virtual machines for my IE testing, one for IE 6 (6.0.2900.2180.xpsp_sp2_gdr.070227-2254) and one for IE 7 (7.0.5730.11). I also have the Windows versions of FireFox 2.0.0.11 and Safari 3.0.4 installed in both VMs, just to make it easier to test them as well. In all of the browsers, I have Flash Player 9.0.115.0 installed.

These flash movies periodically query back to the website to get updated data, then display the current values. It's basically a running tally of some statistics. Regardless of where the flash files are served from, all browsers *except* IE 6 work correctly and the flash movies work just as I expect them to. IE 6 is weird (nothing new about that!) in that when I serve the flash off of my Mac (Mongrel, no fronting server), it works fine. But when I put it up on the web yesterday (LiteSpeed), IE 6 would load the flash but not display the data. I thought it was a problem with IE somehow, until this morning when I moved the code to the server that will be hosting the site when it goes live. This is also a slice, but we are currently using Mongrel behind Apache. Surprisingly, when I used the same IE 6 to hit that server, the flash worked as I expected it to.

To summarize:

IE 6 is the only browser I'm having any difficulty with. The problem is exhibited when the flash is served from LiteSpeed and not Mongrel or Mongrel/Apache. The flash is served up, but data are not being refreshed. Oh, I should also point out that if I tail -f my development log, I can see the requests for the data coming in at the interval that I specified (1 minute for these tests) and I don't see any errors.

I just had the idea of installing LiteSpeed locally and see if it happens there. I have a Parallels VM of an Ubuntu server (though not 64 bit) that I can try it with. I might even try the Mac version. Not sure yet.

I posted a similar message to the Flash Player forum at Adobe last night, but have not had any responses yet. That was before I moved the code to a Mongrel/Apache setup this morning though, when all I knew was that it worked locally but not on the web.

Any insight will be very much appreciated.
 

mistwang

LiteSpeed Staff
#2
I think you need to use TCP sniffing tool like "tcpdump" to capture the request & response for the refresh HTTP request.
If the request appear in Rails log, the request has been delivered to Rails.

Please download 3.3.3 release by changing the version number in the download link. A bug related to "Content-disposition" response header has been fixed.
 
#3
Hi mistwang,

Just so I understand your suggestion:

I should download 3.3.3 and go through the installation again? Will it keep my current configuration? I went though the compiling PHP process and I'd rather not have to do that again.

Thanks for the information.
 
#5
Hi again,

Never mind about my previous post. I downloaded 3.3.3 and ran the installer and saw the option to upgrade. I did that and verified in the admin panel that 3.3.3 was running. I tried IE 6 again, and it is still doing the same thing.

I have to admit that I don't really understand your other suggestion. Are you saying that I need to verify that the data is getting sent back to the flash movie? Wouldn't the fact that it works in all the other browsers indicate that it works? Even IE 7 works right.

As I mentioned before, I didn't think of this being a web server related problem until it worked correctly on Apache/Mongrel. Could it possibly be a problem with LiteSpeed? If it isn't, I'll pursue other possibilities.

Thanks for the help!
 

mistwang

LiteSpeed Staff
#6
I think the flash player under IE6, or IE6 itself does not like the response produced by LSWS, while response from Apache is fine.
If we can compare the difference between the responses sent by LSWS and Apache, we might be able to find the answer.

One quick thought, maybe you can try disabling "gzip" compression in LSWS. Maybe IE6 does not like that.
 
#9
I'm sorry for my ignorance about this, but how would I go about disabling gzip for dynamic content? Would this be in LSWS? Can you point me to some documentation that will help me understand this?

Thanks!
 
#10
mistwang,

Thanks again for all of your help. I pursued the network capture route and realized that the other server did not have gzip enabled, which is why it is working. I then did a little searching for "gzip flash player" and bingo, there it is. There is a known problem with IE 6 receiving gzipped data bound for flash. Flash never gets it. IE handles gzipped data correctly in other cases, but there is some sort of communication break down or something. This has been known for going on two years (one blog post was from Feb 2006, another July of this year), so it's not a new problem. There's some debate about it being an IE problem or a Flash problem, but it looks to me like it's an IE problem. Maybe MS decided not to worry about it since IE 7 was on its slow way.

Anyway, I'm glad it's got nothing to do with LSWS!

Now, about disabling gzip in LSWS for a specific url: here is what I believe to be an apache directive for doing it:

SetEnvIf Request_URI "/network\.xml" no-gzip

How would I accomplish the same thing in LSWS?

Thanks again!
 

mistwang

LiteSpeed Staff
#11
LSWS cannot turn off gzip with environment variables, if the MIME type is XML, you can turn off gzip for that MIME type by removing it from the compressible MIME type configuration.
 
Top