View Single Post
Old 05-09-2007   #7 (permalink)
Mikko Noromaa


 
 

Re: All http access blocked after running Perl script

Hi,

I've found out some new information about the problem:

1. The Internet Connection Sharing (ICS) service seems to be the culprit.
The problem goes away when I stop this service. However, restarting brings
the problem back immediately.

2. While ICS is enabled, and my Vista computer is crippled, other computers
on my network can succesfully connect to the Internet through ICS.

3. I found several other posts on the net describing probably the same
problem. All of them pointed to ICS and described the same symptoms.
However, none of them offered any real solutions.

So this definately looks like some kind of badly broken "intrusion
detection" logic in the Internet Connection Sharing service. I hope someone
from MS is reading this and takes appropriate actions. Contrary to other
reports on the net, I believe I have a solid repro case (the Perl script in
the original post).

--

Mikko Noromaa (mikkon@excelsql.com)
- SQL in Excel, check out ExcelSQL! - see http://www.excelsql.com -


"Mikko Noromaa" <excelsql@newsgroup.nospam> wrote in message
news:OW%23wh5ckHHA.3452@TK2MSFTNGP04.phx.gbl...
> BUG: All http access blocked after running Perl script
>
> SUMMARY: Windows Vista blocks all http access from all users after running
> the attached script (at the end of this post).
>
> DESCRIPTION:
>
> Create a file accessible at http://127.0.0.1/test.htm and run the attached
> script. After about 12000-13000 fetches, the script starts reporting an
> unknown error. After that, all http access on the computer is blocked on
> all user accounts (after logging off and back on). When starting IE, it
> reports an error immediately. I found no other way of fixing this than
> rebooting my computer.
>
> The problem can be reproduced by using any URL in the script, including a
> real remote URL. The problem first occurred when I was running a real
> script that fetched lots of real Web pages in a loop like the test script.
>
> My guess is that either Perl is leaking some socket resources (and Vista
> can't release them on process exit), or that Vista is somehow considering
> the flood of http requests as an attack, and disabling http because of
> that. It probably shouldn't disable http indefinitely, though. I have
> uninstalled all anti-virus software and disabled the Windows Firewall, but
> the problem persists.
>
> Notice that the script was running without Administrative access, but it
> still caused a systemwide problem.
>
> TEST SCRIPT:
>
> use strict;
> use LWP::UserAgent;
> my $n=1;
> while (1) {
> print "Fetching page $n...";
> my $ua = LWP::UserAgent->new;
> my $req = HTTP::Request->new(GET => "http://127.0.0.1/test.htm");
> $req->header('Accept' => 'text/html');
> my $res = $ua->request($req);
> if ($res->is_success) {
> print " OK!\n";
> $n++;
> }
> else {
> print " ERROR: " . $res->status_line . ".\n";
> sleep 1;
> }
> }
>
>
> --
>
> Mikko Noromaa (mikkon@excelsql.com)
> - SQL in Excel, check out ExcelSQL! - see http://www.excelsql.com -
>
>



My System SpecsSystem Spec