IE9 теряет запросы к локальному серверу Catalyst - PullRequest
8 голосов
/ 12 мая 2011

Хорошо, это сложный вопрос.У меня есть сервер Catalyst, к которому у меня есть доступ из Firefox 4, Chromium 12, IE 8 и 9 на других компьютерах.Когда я пытаюсь получить доступ к нему из IE9 на своей машине (на той же машине, на которой работает сервер), я получаю странные таймауты и задержки.Выходные данные сервера Catalyst не показывают этих задержек, а представление трафика IE9 даже не показывает, что запрос был когда-либо отправлен!

IE9 Request timeline

Когда сервер зависает, он использует 100% процессорного ядра, но затем возвращается в режим ожидания, ничего не выводя.Этот же запрос занимает 5 мсек при запросе от Chrome или FF.

Если я ^ C сервер, пока он заблокирован, я получаю эту пугающе низкоуровневую ошибку:

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 Ответ

6 голосов
/ 12 мая 2011

Проблема исчезнет, ​​если вы запустите Fiddler ?

Если это так, проблема, с которой вы, вероятно, сталкиваетесь, заключается в том, что ваш веб-сервер не является многопоточным, а функция фонового подключения IE9 приводит к зависанию вашего сервера, так как он блокируется из-за фонового подключения, к которому нет запроса. .

...