I'm stuck on what appears to be an issue with the accessibility of system proxy settings by other programs. I came across this problem while trying (and failing) to run Processing-generated Java applets in Safari.
First, my setup on a MacBookPro8,2:
Mac Host: OS X 10.7.2, Safari 5.1.2, Java for Mac OS X 10.7 Update 1, Chrome 16.0.912.77, Firefox 7.0.1, Processing 1.5.1, Processing 1.2.1, and Processing 2.0a4
Windows VM: VMware Fusion 4.1.1, Windows 7 Enterprise 64-bit, IE 9.0.4, Java 1.6.0_30, and Processing 1.5.1
Here's a list of the problems/evidence, and what I did to try fixing them (all attempts at which have failed except where noted).
- I can't load Java applets in Safari. A page with an applet will reserve a space for displaying that applet, but nothing shows up and the page hangs (I can't scroll, for instance).
- Reinstalled Java for Mac OS X 10.7 Update 1.
- In Safari, tried (i) turning "Enable Java" off and on; (ii) clearing caches via "Reset Safari...".
- In Java Preferences, tried (i) turning "Enable applet plug-in and Web Start applications" off and on; (ii) clearing cache via "Delete Files...".
- Note that Java itself seems to be working fine: (i) Processing (which uses the JDK, I think) continues to work; (ii) typing
java -versioninto Terminal gives the correct version; (iii) Java works in Windows.
Java applets also do not work in Chrome.
---- Now, for why this seems to be a proxy issue ----
I have no problems at home, where I don't use a proxy! This is only a problem at work, where I've configured proxies for HTTP, HTTPS, FTP, and SOCKS with Automatic Proxy Configuration selected. This was all done in the Network preferences panel, and the settings all show up in /Library/Preferences/SystemConfiguration/preferences.plist. They show up in the Terminal via
sudo scutil --proxy.
- Firefox works fine at home, but it doesn't load any http sites via proxies at work (it does load simple hostnames on our network, though). Note that Chrome and Safari both seem to obey the system-wide proxy settings. If I specify Firefox's proxy settings manually, then Firefox both (i) loads http addresses correctly (via the proxy) and Java applets load correctly too.
- In Windows, the situation with IE9 is similar to #8 above. Manual proxy settings make all problems go away: Java works, and pages load. Please note that I never had to set the proxy settings manually before. Windows seemed to pull the appropriate settings from OS X via VMware Fusion.
- I checked the Java net.properties file to make sure that the "java.net.useSystemProxies" setting wasn't affecting me. According to the comments in this file, even though this is set to "false," the setting will be ignored by OS X. I tried changing it to "true" anyway, with no effect. (Changed it back to "false" afterwards.)
- This one's odd: I just noticed that in Terminal, the hostname is showing up as something set by our network, rather than as my computer name. I think that this is a new behavior that has cropped up at around the same time as the Java issue.
- By the way, tried repairing preferences via Disk Utility. No repairs were reported.
- Created a new user. Problem was present in this account as well.
- Tried starting in Safe Mode. Problem present.
So, all of the above leads me to believe that the problem is based on programs (Firefox, Fusion, Java) being unable to access the system-wide proxy settings. Again: I can't recreate any of these problems when I'm not using proxies, and they go away in instances when I can clearly specify them for specific applications (Firefox, Windows).
How can I fix this problem? After trying tons of stuff and searching for everything I can think of, I'm at the end of my line here. I'm absolutely trying to avoid reinstalling Lion, but that's the last option I can think of. I'm hoping that someone comes up with a better solution. Your thoughts?