IE9丢失了对本地Catalyst服务器的请求

时间:2011-05-11 21:55:13

标签: perl internet-explorer networking internet-explorer-9 catalyst

好的,这很难。我有一个Catalyst服务器,我可以从Firefox 4,Chromium 12和其他计算机上的IE 8和9访问得很好。当我尝试在我自己的机器上从IE9访问它时(服务器所在的同一台机器),我得到奇怪的超时和延迟。 Catalyst服务器的输出不显示这些延迟,IE9流量视图甚至不显示请求是否曾被发送过!

IE9 Request timeline

当服务器挂起时,它使用100%的处理器核心,但随后它又回退到空闲而不输出任何东西。从Chrome或FF请求时,此请求需要5毫秒。

如果我锁定了服务器,我会得到这个令人恐惧的低级别错误:

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.

IE9如何将请求路由到本地套接字有什么不同?

环境信息:

  • Windows 7 Pro x64
  • Strawberry Perl 5.10.1 x86
  • Catalyst 5.80032
  • Internet Explorer 9.0.8112.16421

1 个答案:

答案 0 :(得分:6)

如果您运行Fiddler,问题是否会消失?

如果是这样,您可能遇到的问题是您的网络服务器没有正确的多线程,并且IE9的后台连接功能导致您的服务器挂起,因为后台由于没有请求的后台连接而导致死锁