IE9 loses requests to a local Catalyst server
Asked Answered
R

1

8

Okay, this is a hard one. I have a Catalyst server I can access just fine from Firefox 4, Chromium 12, and IE 8 and 9 on other computers. When I try to access it from IE9 on my own machine (the same machine the server is on), I get strange timeouts and delays. The Catalyst server's output doesn't show these delays and the IE9 traffic view doesn't even show that the request was ever sent!

IE9 Request timeline

While the server is hanging up it's using 100% of a processor core but then it drops back to idle without outputting anything. This same request takes 5ms when requested from Chrome or FF.

If I ^C the server while it's locked up I get this frighteningly low-level error:

Can't coerce UNKNOWN to string in sysread 
   at C:/strawberry/perl/site/lib/Catalyst/Engine/HTTP.pm line 440.
Can't call method "_socket_data" without a package or object reference 
   at C:/strawberry/perl/site/lib/Catalyst/Engine/HTTP.pm line 358.
panic: pad_free curpad 
   at C:/strawberry/perl/site/lib/Catalyst/Engine/HTTP.pm line 358.

What's different about how IE9 routes requests to local sockets?

Environment info:

  • Windows 7 Pro x64
  • Strawberry Perl 5.10.1 x86
  • Catalyst 5.80032
  • Internet Explorer 9.0.8112.16421
Reach answered 11/5, 2011 at 21:55 Comment(0)
A
6

Does the problem go away if you run Fiddler?

If so, the problem you're likely hitting is that your webserver isn't properly multithreaded and IE9's background connection feature is causing your server to hang as it deadlocks due to a background connection which doesn't have a request on it.

Altdorfer answered 12/5, 2011 at 1:15 Comment(1)
Using Fiddler works nicely! Can you elaborate or link to more info on the background connection feature? How does Fiddler change IE's background connection so it isn't a problem anymore? My catalyst server is definitely not multi-threaded but it wasn't a problem before IE9. I'm curious as to why it only happens with local connections. Remote IE9 connections don't seem to have the same problem.Reach

© 2022 - 2024 — McMap. All rights reserved.