New issue 101317 by alastair...@gmail.com: Chrome incorrectly marks proxy
supplied by PAC file as 'bad'
http://code.google.com/p/chromium/issues/detail?id=101317
Chrome Version : 16.0.912.4
OS Version: OS X 10.7.2
URLs (if applicable) :
What steps will reproduce the problem?
At my university, a PAC file is used for proxy configuration (publicly
published at http://www.unimelb.edu.au/CGI-BIN/proxy.pac). In the PAC file,
only one proxy server is specified with no fallbacks.
For an unknown reason (I'm happy to publish net-internals logs if needed),
Chrome frequently flags this proxy server as 'bad' and falls back to
DIRECT. This is unfortunate, as direct internet access is not available.
What is the expected result?
Chrome either does not erroneously flag the proxy as 'bad' or realises that
DIRECT is not a valid path and continues to try the proxy.
What happens instead?
Chrome flags the proxy as 'bad' and sets a 5 minute retry. Occasionally, it
will set the retry to 1 Jan 1970. All requests thus timeout until the proxy
is cleared from the bad list.
Please provide any additional information below. Attach a screenshot if
possible.
If the bad proxy is cleared from chrome://net-internals/#proxy, Chrome
connects properly.
I realise that this is similar to issue #87336 which was closed as fixed by
r98643. Unfortunately this does not appear to have remedied the situation
described here as I am running r106469 and am still having trouble.
UserAgentString: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2)
AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.4 Safari/535.7
Comment #1 on issue 101317 by ahendric...@chromium.org: Chrome incorrectly
marks proxy supplied by PAC file as 'bad'
http://code.google.com/p/chromium/issues/detail?id=101317
(No comment was entered for this change.)
URL for PAC file is incorrect - it is actually
http://www.unimelb.edu.au/cgi-bin/proxy.pac
Comment #3 on issue 101317 by mk...@chromium.org: Chrome incorrectly marks
proxy supplied by PAC file as 'bad'
http://code.google.com/p/chromium/issues/detail?id=101317
Dominic, do you know who should take a look at this?
Comment #4 on issue 101317 by bat...@chromium.org: Chrome incorrectly marks
proxy supplied by PAC file as 'bad'
http://code.google.com/p/chromium/issues/detail?id=101317
(No comment was entered for this change.)
alastair...: Thanks for reporting this. Interestingly, the PAC script you
linked to seems to just return "DIRECT" for everything. Perhaps the script
is generated?
A net-internals log would come in handy. (Instructions are found here:
http://dev.chromium.org/for-testers/providing-network-details). If
possible net-internals log capturing should be enabled at the time the
proxy is marked as bad.
If you aren't comfortable posting the log here, you can email it directly
to one of us.
I feel incredibly foolish for not realising but the PAC file is actually
specifying DIRECT as a fallback (even though it isn't a valid route).
Really sorry about this; I'll obviously have to ask my IT Department. (On
the plus side, I now know why the PAC file is kept in the cgi-bin folder).
Is it still worth keeping this open to investigate the proxy being flagged
as bad? If so, I'll collect net-internals logs on Tuesday and post them
thereafter.
Attachments:
proxy (1).pac 5.6 KB
Looks like there's one branch in the PAC script that doesn't return DIRECT
as a fallback. I'd still like to see the logs if possible.
Attached net-internals and debug logs
Attachments:
chrome_debug.log 151 KB
2ddf6d39-2e60-4281-9673-a7504e3a02c2 211 KB
Comment #10 on issue 101317 by asa...@chromium.org: Chrome incorrectly
marks proxy supplied by PAC file as 'bad'
http://code.google.com/p/chromium/issues/detail?id=101317
From the log it looks like we are trying to connect to talk.google.com:5222
using SSL.
Chrome attempts to use the proxy (<proxy>:8000) to connect (Event #33 ->
#34 -> #36) and fails (TUNNEL_CONNECTION_FAILED).
Then Chrome attempts to connect directly (talk.google.com:5222) (Event #37
-> #40). A connection is successfully established.
Since the request that failed with "PROXY foo" succeeded with "DIRECT", we
mark the corresponding proxy as bad. So far so good, except DIRECT doesn't
seem to be a valid option. Subsequent connections fail.
I've been seeing identical/similar symptoms a lot - particularly in the
last few weeks.
Chrome marks the proxy supplied through http://wpad/wpad.dat as bad, and
will not try again.
The same proxy in another browser (Internet Explorer 9) they share proxy
settings, of course, works fine.
If I go to chrome://net-internals/#proxy, and click 'Clear Proxy'
Chrome immediately begins working again
However, it will inevitably fail within an hour. and almost certainly
fails, if I close Chrome, and re-open
I'm almost on the verge of setting chrome://net-internals/#proxy as my home
page!!!
RB
Asanka made some changes to improve this. Could you send us a network log
showing how it gets marked as bad?
There are some details on how to do that here:
http://www.chromium.org/for-testers/providing-network-details
I'm reposting my comment made on Issue 19581 #152 as this one is more
related. After signing in sync, it shows in net-internals->proxy that the
proxy is marked as bad proxy. I also have an event PROXY_CONFIG_CHANGED
while I did not change the proxy settings.
Chrome 17.0.963.44, on WinXP, behind University proxy that have an auto
config pac.
Attached is the requested net-internals log.
Attachments:
3ab7b8f1-2e51-4066-a90c-024b59d3228f 369 KB
Comment #15 on issue 101317 by asa...@chromium.org: Chrome incorrectly
marks proxy supplied by PAC file as 'bad'
http://code.google.com/p/chromium/issues/detail?id=101317
Thanks for the log!
As far as I can see, the bad proxy detection logic is working as expected.
The sequence of events leading up to the proxy being marked as bad are:
- Attempts to establish a connection to talk.google.com:5222 over SSL
(Event 19582: SOCKET)
1. Resolves to pac_string "PROXY proxy.server:3128;DIRECT"
2. Attempts connection via proxy.
(Event 19598: CONNECT_JOB)
- Connects to proxy and issues 'CONNECT talk.google.com:5222'
(Event 19601: SOCKET)
- Receives a 403 (Forbidden) response.
- Returns net_error = -111 (TUNNEL_CONNECTION_FAILED)
3. Attempts DIRECT connection.
(Event 19602: CONNECT_JOB)
- Succeeds
(Event 19605: SOCKET)
The proxy is marked as bad because a connection attempt that failed when
using the proxy subsequently succeeded via a direct connection.
As can be seen in event 19605, the direct connection is
talk.google.com:5222 is live and transferring data. Meanwhile, subsequent
direct connections to HTTP and HTTPS URLs fail (according to comment 152 on
issue 19581).
Since this seems to come up often, perhaps we could only consider
connections made to standard HTTP(S) ports when marking a proxy as bad.