Monday, September 26, 2011

Chrome-Windows-Problems

I have just had a huge battle with trying to understand why I kept getting first strange pop-up object messages for almost a year now.  I didn't make the connection that they may have appeared only after I installed the Chrome browser.  I had no idea what was causing them.  For the last month or so these popups changed to display this message instead:

proxy pac file loaded

That is the message you get if any of the debug flags are set in the PAC filter file that Internet Settings uses.  There is a huge problem with that.  IE can use the dbgproxy_en.txt and dbgproxy_fr.txt files but the pop-ups will drive you nuts.  But if you set Internet Settings to use the dbgproxy_en.txt, dbgproxy_fr.txt files or the pornproxy_en.txt , pornproxy_fr.txt files (without changing debug to be debugNone)  the very first alert call causes the PAC filter load to fail for both Opera and Safari.  Ergo, the dbgproxy_en.txt and dbgproxy_fr.txt files should probably never be used in Internet Settings except for temporary debugging in IE.  The pornproxy_fr.txt and pornproxy_en.txt files can be used but ONLY if you set debug to be debugNone. Be sure debug is set to debugNone for the file used for Internet Settings when you are done.   Finally in exasperation I removed ALL of the debug statements in the proxy_en.txt and proxy_fr.txt files which is all I ever set Internet Settings to use.  The pop-up problems continued.  How can this be?  According to Intenet Settings I should never see the message since it isn't even there any more. But I tested IE, Opera, and Safari and the PAC filter was up and enforcing when I used either the proxy_en.txt or proxy_fr.txt files for Internet Settings in all three of those browsers with all of the debug lines removed.  So something else was causing the popups. Chrome, IE, Opera, and Safari all use the Internet Setttings for configuration of the PAC filter.  I finally removed Chrome as a test and the problems went away completely.  So with Chrome still removed I just made the following copies first in the C;\etc\ folder (since I had removed all of the debug lines in proxy_en.txt and proxy_fr.txt):

del proxy_fr.txt
del proxy_en.txt
copy dbgproxy_fr.txt proxy_fr.txt
copy dgpproxy_en.txt proxy_en.txt

and then altered this line in the dbgproxy_en..txt and dbgproxy_fr.txt files:

var debug = debugNormal;

to be this line in the proxy_en.txt and proxy_fr.txt files:

var debug = debugNone;

With Chrome removed and Interent Settings set to use either proxy_en.ext or proxy_fr.txt the mysterious pop-up never came back and things worked properly in IE, Opera, and Safari.  So I put the dbgproxy_en.txt to differ from the proxy_en.txt by only that one line and the same for dbgproxy_fr.txt compared to proxy_fr.txt in the build folders and left them that way.  They only differ by that one line now.  Ergo, the OpenPGP signing of the proxy_en.txt and proxy_fr.txt files is sufficient again to say that dbgproxy_en.txt and dbgproxy_fr.txt are also good to go.

As best as I can tell, what is happening is Chrome is running through ALL of the files in the C;\etc\ folder on Windows.  I think it does it only when it checks for an update but I don't know that for sure. There are a LOT of files and two folders in that folder for me and unless you remove them you would have the same thing:

AutoPac_EN.msw\
AutoPac_FR.msw\
dbgproxy_en.txt
dbgproxy_fr.txt
dbgproxy.txt
hdate.txt
LastUsedHFHost.txt
LastUsedSMPAC.txt
olddbgproxy_en.txt
olddbgproxy_fr.txt
oldproxy_en.txt
oldproxy_fr.txt
pdate.txt
pornproxy_en.txt
pornproxy_fr.txt
proxy_en.txt
proxy_fr.txt
proxy.txt
SaveRules.txt

That counts up to seven files that have debug turned on which seems to coincide nicely with the number of pop-ups I get.  I have no idea what it does with the non-PAC filter files or the download folders. If it does it sequentially I have no idea what it will do with the SaveRules.txt file which may be what it processes last.  This strange behavior happens only on Windows.  Chrome on Linux has no problems. You don't benefit from having debug set on Linux since there is no way to display the alert messages there.  I think this only happens when Chrome on Windows goes through it's automatic update process which for me seems to always be colliding with my Windows patch upates and AV updates.  I would much rather updates be done only on the Chrome browser when I open it with a timed delay.  If you want to force the update right now that can be done when you select "About Google Chrome".  The problem is, Chrome is constantly checking to make sure it is up to date on its own fairly frequently.  I guess they can continue to do it that way if they want to but I wished Google's Chrome developers would fix this PAC filter (Internet Settings) problem.  They should NOT be opening up and reading every file in the folder indicated in Internet Settings.  IE, Opera, and Safari don't do it.  They use just the one file indicated in Internet Settings.  They block properly and the messages disappear.  I think it is reasonable to expect that Chrome should do the same thing.

Will Google fix this problem in the Windows Chrome browser?  I don't know.  I do know that it is aberrant behavior that needs to be fixed since the PAC filter doesn't just block ads and trackers.  It also blocks malware and WebBugs.  I encourage Google to fix it.  If they don't then you have a decision to make.  It will be the following three choices

1. Windows plus Chrome browser minus PAC filter

2. WIndows plus PAC filter minus Chrome browser

3. Windows plus Chrome browser plus PAC filter and ignore the popups.

Temporarily for me it will be option number 2.  Each user account on Windows has its own Chrome files rather than putting them in %ProgramFiles% for sand-boxing purposes. So I will remove all of the Chrome browsers in all of the user accounts.  Each time they ask me why I am removing Chrome I will point them to this blog entry.  I am sorry but that is the best I can do.  Google has no obligation to fix the problem.  Unfortunately they also probably have 0% inclination to fix the problem.  I would count on this never being fixed.  There is nothing I can do about it.

Update One on:  2012-01-18:
This seems to be a shared problem with Microsoft and Chrome with most of the blame going to Microsoft.  I am now testing a sub-folder named OneFile (C:\etc\OneFile) that has only the proxy_en.txt or the proxy_fr.txt file with no debug lines in it that is used by Internet Settings.  If that works then I will alter the files, instructions, and scripts.  It is a kludge, but it is the best I can do.  It was either the Microsoft super Tuesday patch in October or an out of band  Microsoft patch at the end of October where the strange behavior showed up.  I have no idea why Internet Settings is reading every file in the folder and no idea why they aren't using the JavaScript properly.  Both are the cause of the problems because I tried just the separate folder and still had problems until I removed ALL of the debug lines.  Previously, I had removed all of the debug lines but left the stripped files in the etc folder with the dbgptroxy_en.txt and dbgproxy_fr.txt files.  That didn't work either.  What seems like it will work is only one file in the folder with NO debug lines in the file because there is a failure of somebody to implement JavaScript properly.

Sorry..