#233 closed Bug (Works For Me)
Inetget + "automatically detect proxy settings" = HUGE RAM usage
Reported by: | anonymous | Owned by: | |
---|---|---|---|
Milestone: | Component: | AutoIt | |
Version: | 3.2.10.0 | Severity: | None |
Keywords: | Cc: |
Description
Tried this post in the forum but didn't get any reply... so I'm thinking it's a real bug and this is the right place for it. So here you go...
I'm using Winter's WeeWar Notifier (see his post # 53213 in the forums) and I was surprised to see it using 600+ MB of RAM!
I did some testing and it looks like the problem happens when he calls InetGet() and I have my IE proxy settings set to "automatically detect proxy settings". If I uncheck that option and manually code in the proxy config then there is no problem. But as soon as you check that box every call to InetGet() sucks another 30+ MB of RAM away.
The problem doesn't occur if you don't save the download to a file, but then what good is that?
I'm using v 3.2.10.0 of autoit, WinXP SP2, IE 7.
To replicate you have to set up an auto-proxy, but with that this code snippet shows the behavior (look in task manager at autoit3.exe memory usage)
while 1 HttpSetProxy(0) $testResults = InetGet ("http://www.microsoft.com","d:\output.htm", 1,1) ; <- bad! ;also bad -> InetGet ("http://www.microsoft.com","d:\output.htm", 1,1) ;also bad -> InetGet ("http://www.microsoft.com","d:\output.htm") ;good! but doesn't do anything useful -> InetGet ("http://www.microsoft.com") $button = MsgBox(1,"","go again?") if $button == 2 Then ExitLoop WEnd
So... what gives? Is this a bug in how InetGet() works? Thanks!
Attachments (0)
Change History (10)
comment:1 Changed 16 years ago by sandawg
comment:2 Changed 16 years ago by Valik
Don't be a pest.
comment:3 Changed 16 years ago by sandawg
Pest? Original post was April 11, bug report April 29. Just a "hmm... hard to replicate, will take a while to test" would have been fine. But nothing until I poked the badger, so to speak.
Anywho, just re-tested with v3.2.12.0 and the same behavior occurs.
comment:4 Changed 16 years ago by Jon
Wasn't able to reproduce on my system. What does "setup an auto proxy" mean?
comment:5 Changed 16 years ago by Jon
- Resolution set to Works For Me
- Status changed from new to closed
Unable to repro and no new info.
comment:6 Changed 16 years ago by sandawg
Sorry... I've been out of the office for a while and haven't been able to check back.
One of IE's features is "web proxy auto-discovery" or WPAD. If you check off "automatically detect settings" in your IE connection settings, that tells IE to use WPAD.
For WPAD to work, you need a web server and a proxy server.
Put an entry in your HOSTS file for "wpad" that points at your web server.
On the root of the web server, you put a file called wpad.dat that contains a javascript function that defines your proxy server. Simplest script looks like this:
function FindProxyForURL(url, host)
{
return "PROXY ip.of.proxy.svr:port";
}
So, IE resolves "wpad", gets the wpad.dat file and runs the function to get the proxy server. Set up like that, using InetGet() chews RAM like a caffinated beaver.
comment:7 Changed 16 years ago by sandawg
Wierd... I can't change it back to "reopened". Hopefully somebody looks at it even though it is still closed.
comment:8 Changed 16 years ago by Valik
- Resolution Works For Me deleted
- Status changed from closed to reopened
Re-opening to make sure Jon sees this.
comment:9 Changed 16 years ago by sandawg
Thanks, Valik!
comment:10 Changed 16 years ago by Valik
- Resolution set to Works For Me
- Status changed from reopened to closed
Alright, I just tested this. I'm fairly sure I have everything working. I used a Linux virtual machine to host the wpad.dat file. When I put a bogus proxy address in the wpad.dat, IE fails to load anything. I grabbed the IP of a proxy server off the internet and stuck that in and IE works. I tested the script you posted in both cases - with a working proxy and without. I saw nothing abnormal. Memory usage stayed constant as did processor usage. When I was using a valid proxy address, the file was downloaded. When I had an invalid address, nothing was downloaded. It all seemed really normal.
So, I'm closing this as works for me.
Guidelines for posting comments:
- You cannot re-open a ticket but you may still leave a comment if you have additional information to add.
- In-depth discussions should take place on the forum.
For more information see the full version of the ticket guidelines here.
Hello? Anybody moderating this thing?