10 Replies Latest reply: Mar 31, 2014 4:15 AM by Neko- RSS

    Java won't work - possible proxy issues?

    Neko-

      I was informed that one of our computers suddenly (from what I was told about 2 months ago) developed problems with Java. Said computer is on our dirty internet connection, so it's not readily checked or even updated. My colleagues looked at it, and evertually escalated the issue to me, since they couldn't figure it out. One specific website needs Java for some examinations, and it turned out Java just would present an error to the site.

       

      After spending an afternoon at the location, testing with the Java verification applet on the Java website, and finding myself unable to correct the problem, I build myself a small test machine to see if I could recreate the problem on something local. Turns out, I can, which makes testing a lot easier. Do note: We want another site (which requires a heap of logins) to work, so I'm using the Java verification applet to get me a quicker and easier way to verify if Java works.

       

      So, Got a clean install of Windows XP SP3, and updated to IE8. The machine is connected to the Internet through a proxy server based on FreeProxy which listens to port 2244 (note: this proxy has had NO changes in the aforementioned 2 months that I know of, or can trace within the proxy configuration). I can browse without any problems. Installed Java (7r51) on the system, and tried to verify the Java version.

       

      Unable to verify if Java is installed and activated on your browser.

       

      Ran all the Windows Updates (for XP, IE, .NET whatever version, and whatever more was available) Microsoft offers, just to make sure it's not in any of those. Still no go. Installed Google Chrome and Firefox to exclude the browser as a source of problems. None of the three browsers works with the Java verification applet, all resulting in the same message as stated above. Verified that Java is available in the browsers, and it is shown as available and active.

       

      Deinstalled Java, reinstalled. Used JavaRA to remove and then reinstall. Pulled the security down to medium. Wiped the local cache files. There is no virusscanner installed, so that can't be it. Disabled the Windows Firewall to exclude that as a cause. Used a second machine with Windows 7 just to exclude the OS as a culprit. Verified the 'Enable Java in web browser' setting in the Java control applet. Played with the proxy settings and the security settings in IE and under the Java control panel. Wiped Java out, manually ran through the registry to kill references, and wiped all the Sun folders from all profiles, aswell as the Java install folder before reinstalling. Installed Java 6r43 just to make sure. Nothing helped.. The error keeps coming back, and the Java verification keeps failing.

       

      The Java console which can help troubleshoot, seems to open while the Java icon shows up in the systemtray, but it quite rapidly (30 or 45 seconds) closes again, taking the Java console along with it, thus not giving me any logging to further see what's wrong here. So it seems Java is working, but runs into some problems along the way. About the only quick problems I spotted when I did manage to grab a copy of the log:

       

      network: Cache entry not found [url:http://www.java.com/en/download/JavaDetection_applet.jnlp, version: null]

       

      and

       

      java.io.IOException: Server returned HTTP response code: 403 for URL: https://java.com/en/download/JavaDetection_applet.jnlp

      My colleague noted that it did work on the other proxied network through the same proxy (just that that proxy is on a different NIC and listens to port 8080). We tried changing the proxy port for the network to 8080 on the actual PC on location, and found the problem remained. Just to make sure it worked on the other network, I reattached the PC to the other network, altered the proxy settings both under the IE options and Java control panel applet, only to see it exhibit the exact same behavior. So I'm dismissing my colleague, and assuming it has never really worked.

       

      Most of the internet solutions I can find refer to changing the code of the applet, but since I'm using a sanctioned Oracle applet, and Oracle software, I suppose I can assume it's been programmed well, and tested properly. Besides that, as a user of Java I have no direct influence on the actual code being used, so all those solutions aren't really helping me any.

       

      So I turn to this forum to see if anyone wants to have a guess at what is wrong here, and what I can do to either

       

      1) Solve the issue

      2) Provide some means to keep the Java console open or log to a file

      3) Think of anything I haven't tried yet, that may have a positive impact on the issue.

       

      Thanks in advance for your time, effort and help. Know that every response is already highly appreciated.

        • 1. Re: Java won't work - possible proxy issues?
          Neko-

          Nobody having any ideas or suggestions I can try?

          • 2. Re: Java won't work - possible proxy issues?
            Neko-

            Okay... I had a further test handed to me internally.

             

            Reverted the PC (VM) to take all my changes out. Made sure the firewall was off, just to make sure that bit couldn't cause problems. Connected the PC to the external side of the proxy, so it could go on the internet with no proxy requirements. Rebooted, changed IP settings, and killed the proxy settings in IE, FF and Chrome, aswell as Java. Rebooted again, and tested.

             

            IE, FF and Chrome all could download the applet at http://www.java.com/nl/download/installed.jsp aswell as run it. All browsers reported Java was found, and working properly.

             

            I then shut down the PC, reconnected to behind the proxy, booted it, reconfigured the IP address to it's fixed requirement for that network, changed the proxy settings for IE, and altered the proxy settings for Java to reflect the change. Then started IE. Which failed in it's check of Java. Just to make sure, I took the second proxy connection, reconfigged the PC, rebooted and tried it through there. Java failed again,

             

            The issue therefore is somewhere within the proxy connection. What causes the issue is a blank to me. Proxy being used is FreeProxy which can be found here: http://www.handcraftedsoftware.org/index.php?page=download - It's freeware. As far as I can tell I have the exact same version running on my server as is available there for download. The version shown in the proxysoftware itself tho is version 4.10.1751. This is also pointed out as the most recent stable version on the mainpage of the proxy provider.

             

            The proxy has 3 network connections. One to the internet, and two for two separate internal proxied networks. The network the issue was reported on uses a proxy that listens on port 2244. The other proxy listens at port 8080. As described above, both proxies fail in Java. The proxy is not configured to proxy/store data, but we use it just to route traffic to and from the Internet, while keeping the networks physically separated from one another. The only further thing we implemented was a filtering on Client IP addresses, to prevent unjust use of the Internet. So only specific IP addresses are allowed to use the proxy, and access the Internet. No authentication, no banlist. The thing is about as open as I can make it.

             

            So I surmise that either Java doesn't use the proxy properly, or has issues porting through specific ports on the proxy, or the applet Oracle provided for testing java isn't 100% proxy ready or atleast chokes on the use of this particular proxy. Since the problem started with another site, I'm hoping for the former.

             

            I'm going to see about posting this question at the guys that made FreeProxy, but in the mean time I'm also looking forward to any answers or insights anyone can give me on this.

            • 3. Re: Java won't work - possible proxy issues?
              Stephen Bell

              I don't think the Oracle applet has anything to do with it, the Java plug-in hasn't got as far as downloading the launch script. The problem is between the Java plug-in and your proxy. You can actually click the link you give above and the applet will be launched a different way, in Web Start, which might give different results. Probably only of academic interest either way. (The applet doesn't do anything useful in Web Start if it does launch.)

               

              Anyhow, you have the Java plug-in trying to acccess web page https://java.com/en/download/JavaDetection_applet.jnlp via your proxy, and getting a status 403 - forbidden. I don't imagine this status code is coming from the Oracle web site. Can't you look at your proxy's logs to see what it thinks is going on and why it doesn't like the Java plug-in HTTP client?

              • 4. Re: Java won't work - possible proxy issues?
                Neko-

                Thanks for the response...

                 

                I had a look about more logging on the proxy, and although http://www.handcraftedsoftware.org/index.php?page=faq&op=read&id=25 hints at a different program I might need to use (which has been removed of what I can see), the link http://www.handcraftedsoftware.org/index.php?page=faq&op=read&id=54 hints at there being some native logging I can use to verify what happens.

                 

                As such I located the log settings, and fired up the test system to see if I could determine some more from the logs (and exactly what those logs would entail). The log does provide some insight in what it pulls from the Java website, but doesn't show much in regards to what is going wrong:

                Website:'www.java.com' URL:'/' From Client: 538 bytes To Client: 254 bytes

                Website:'www.java.com' URL:'/nl/' From Client: 586 bytes To Client: 2514 bytes

                Website:'www.java.com' URL:'/css/screen.css' From Client: 508 bytes To Client: 208 bytes

                Website:'www.java.com' URL:'/css/print.css' From Client: 506 bytes To Client: 205 bytes

                Website:'www.java.com' URL:'/css/ie.css' From Client: 502 bytes To Client: 207 bytes

                Website:'www.java.com' URL:'/js/popUp.js' From Client: 503 bytes To Client: 152 bytes

                Website:'www.java.com' URL:'/js/s_code_remote.js' From Client: 511 bytes To Client: 152 bytes

                Website:'www.java.com' URL:'/images/jv0_search_btn.gif' From Client: 516 bytes To Client: 182 bytes

                Website:'www.java.com' URL:'/js/global.js' From Client: 504 bytes To Client: 152 bytes

                Website:'www.java.com' URL:'/js/subtlePager.js' From Client: 510 bytes To Client: 152 bytes

                Website:'www.java.com' URL:'/images/jv0h.jpg' From Client: 509 bytes To Client: 185 bytes

                Website:'www.java.com' URL:'/images/jv0h_greenfoot.jpg' From Client: 518 bytes To Client: 184 bytes

                Website:'www.java.com' URL:'/images/jv0h_academy.jpg' From Client: 516 bytes To Client: 185 bytes

                Website:'www.java.com' URL:'/images/jv0h_java.jpg' From Client: 513 bytes To Client: 185 bytes

                Website:'www.java.com' URL:'/im/a.gif' From Client: 499 bytes To Client: 182 bytes

                Website:'www.java.com' URL:'/images/jv0h_alice.jpg' From Client: 514 bytes To Client: 185 bytes

                Website:'www.java.com' URL:'/images/jv0h_javamag.jpg' From Client: 516 bytes To Client: 185 bytes

                Website:'www.java.com' URL:'/images/jv0h_bluej.jpg' From Client: 514 bytes To Client: 185 bytes

                Website:'www.java.com' URL:'/images/jv0dl_a.png' From Client: 511 bytes To Client: 184 bytes

                Website:'www.java.com' URL:'/images/jv0_oracle.gif' From Client: 513 bytes To Client: 183 bytes

                Website:'www.java.com' URL:'/js/metrics_group1.js' From Client: 514 bytes To Client: 153 bytes

                Website:'oracle.112.2o7.net' URL:'/b/ss/sunjava/1/H.19.4/s98129805908124' From Client: 872 bytes To Client: 663 bytes

                Website:'www.java.com' URL:'/nl/download/installed.jsp' From Client: 881 bytes To Client: 2961 bytes

                Website:'www.java.com' URL:'/im/ic_tipblue20x20.png' From Client: 776 bytes To Client: 183 bytes

                Website:'www.java.com' URL:'/images/jv0_sidebar_bg.gif' From Client: 779 bytes To Client: 183 bytes

                Website:'www.java.com' URL:'/images/jv0_sidebar_subhead.gif' From Client: 784 bytes To Client: 183 bytes

                Website:'oracle.112.2o7.net' URL:'/b/ss/sunjava/1/H.19.4/s97891718594365' From Client: 1156 bytes To Client: 663 bytes

                Website:'www.java.com' URL:'/nl/download/installed.jsp' From Client: 989 bytes To Client: 3657 bytes

                Website:'oracle.112.2o7.net' URL:'/b/ss/sunjava/1/H.19.4/s98995092053347' From Client: 1247 bytes To Client: 662 bytes

                Website:'www.java.com' URL:'/nl/download/installed.jsp' From Client: 947 bytes To Client: 2866 bytes

                Website:'oracle.112.2o7.net' URL:'/b/ss/sunjava/1/H.19.4/s96218056013586' From Client: 1088 bytes To Client: 663 bytes

                At around that same time I got the following notice in the connection log, which does seem to hint at a problem somewhere:

                #11004: WSANO_DATA: Valid name, no data record of requested type.  H:02424 F:'HCSNTSocket_ResolveHostName' A:'gethostbyname' T:'Return=11004.'

                Other then that I have not received any other logs (despite me enabling all of them, or any other notice that may indicate the cause of the problem. I will be leaving the settings in the proxy in regards of logging, just to see if any other logs are going to crop up.

                 

                I did post this to the Proxy-forum too to see if someone could help in determining what exactly the log is saying.

                • 5. Re: Java won't work - possible proxy issues?
                  Stephen Bell

                  I dunno that I can help. It's maybe a shame your log doesn't have the user agent it. If I use an authenticating proxy (Apache, in my case), I get your last line from the browser building the page, but then I get

                   

                  hearns - - [03/Mar/2014:13:30:08 +0000] "GET http://www.java.com/nl/download/JavaDetection_applet.jnlp HTTP/1.1" 407 415 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.7.0_51"

                  hearns - user [03/Mar/2014:13:30:08 +0000] "GET http://www.java.com/nl/download/JavaDetection_applet.jnlp HTTP/1.1" 200 646 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.7.0_51"

                   

                  which is Java (rather than the web browser) loading the JNLP. This appears to be where things go wrong for you, although it must be pretty much the first thing the Java plug-in does.

                   

                  What does happen, by the way, if you take the web browser completely out of the equation and click  https://java.com/en/download/JavaDetection_applet.jnlp?

                  • 6. Re: Java won't work - possible proxy issues?
                    Neko-

                    It's almost as if the Java setup doesn't use the proxy or something. Yet I know for a fact I filled that in.

                     

                    Tried the direct one... Java7 is loading. The splash screen is shown. Comes back with the question if I want to run the Java Detection application, which I acknowledge by pressing 'run'.Next thing popping up is a notice from IE with a red round cross:

                     

                    Internet Explorer cannot download

                    Unspecified error

                     

                    A small non resizable window ends up on the desktop in the upper most left corner of the screen, with the Java icon, and just the tekst J... in the blue topbar. Since I can't resize the window it doesn't explain much about what it is, and what it's doing there. Task Manager identifies it as a task called 'Java Detection', with a status of 'Running'. During all this I have no Java icon popping up in the systemtray.

                     

                    Just to make sure the logs wouldn't show anything else, I revisited the logs after this.

                    Tue 04 Mar 2014 14:43:43 : CONN STAT : Instance:'Proxy304' Protocol:'HTTP-Proxy' Port:'2244' Client IP:'192.168.4.202' User:'DefaultUser' Website:'crl.geotrust.com' URL:'/crls/gtglobal.crl' From Client: 217 bytes To Client: 828 bytes

                    Tue 04 Mar 2014 14:43:44 : CONN STAT : Instance:'Proxy304' Protocol:'HTTP-Proxy' Port:'2244' Client IP:'192.168.4.202' User:'DefaultUser' Website:'gtssl-crl.geotrust.com' URL:'/crls/gtssl.crl' From Client: 226 bytes To Client: 1278 bytes

                    Tue 04 Mar 2014 14:43:46 : CONN STAT : Instance:'Proxy304' Protocol:'HTTP-Proxy' Port:'2244' Client IP:'192.168.4.202' User:'DefaultUser' Website:'mscrl.microsoft.com' URL:'/pki/mscorp/crl/MSIT%20Machine%20Auth%20CA%202(1).crl' From Client: 258 bytes To Client: 43680 bytes

                    Tue 04 Mar 2014 14:44:08 : CONN STAT : Instance:'Proxy304' Protocol:'HTTP-Proxy' Port:'2244' Client IP:'192.168.4.202' User:'DefaultUser' Website:'ocsp.verisign.com' URL:'/' From Client: 358 bytes To Client: 1920 bytes

                    Tue 04 Mar 2014 14:44:08 : CONN STAT : Instance:'Proxy304' Protocol:'HTTP-Proxy' Port:'2244' Client IP:'192.168.4.202' User:'DefaultUser' Website:'ocsp.verisign.com' URL:'/' From Client: 358 bytes To Client: 2229 bytes

                    Tue 04 Mar 2014 14:44:08 : CONN STAT : Instance:'Proxy304' Protocol:'HTTP-Proxy' Port:'2244' Client IP:'192.168.4.202' User:'DefaultUser' Website:'ocsp.verisign.com' URL:'/' From Client: 358 bytes To Client: 2181 bytes

                    The above is the only bit that comes back from the IP address of my testmachine

                     

                    If I go and look at the other logs I find the following bits back around the same time (do note that I'm using the proxy at the same time as other users, so these notices 'might' not be from my machine).

                    Tue 04 Mar 2014 14:41:21.681 : #10054: WSAECONNRESET: Connection reset by peer.  H:03380 F:'HCSNTSocket_Send' A:'send' T:'Socket=956. Finished retrying.'

                    Tue 04 Mar 2014 14:43:48.978 : #10054: WSAECONNRESET: Connection reset by peer.  H:01648 F:'HCSNTSocket_Send' A:'send' T:'Socket=3040. Finished retrying.'

                    Tue 04 Mar 2014 14:44:43.696 : #10054: WSAECONNRESET: Connection reset by peer.  H:03204 F:'HCSNTSocket_Send' A:'send' T:'Socket=412. Finished retrying.'

                    Tue 04 Mar 2014 14:44:51.728 : #10054: WSAECONNRESET: Connection reset by peer.  H:02480 F:'HCSNTSocket_Send' A:'send' T:'Socket=2704. Finished retrying.'

                    Tue 04 Mar 2014 14:44:58.681 : #10054: WSAECONNRESET: Connection reset by peer.  H:02168 F:'HCSNTSocket_Send' A:'send' T:'Socket=500. Finished retrying.'

                    Tue 04 Mar 2014 14:45:06.243 : #11004: WSANO_DATA: Valid name, no data record of requested type.  H:02804 F:'HCSNTSocket_ResolveHostName' A:'gethostbyname' T:'Return=11004.'

                    Also, just to make sure that compatibility settings in IE aren't causing issues, I made sure that IE8 would start ALL website in compatibility mode.

                     

                    And both under IE and through the direct link, the problems are exactly the same.

                     

                    All in all, I'm not sure Java itself is even able to connect. I get no Java Console that tells me what Java is doing (if anything). Just to make sure, under the Java Advanced settings, I've added 'Enable tracing', and 'Enable logging', aswell as 'Show console'.

                     

                    At this point I do get a console, with a load of info. I'll just copy/paste the whole console log here: http://pastebin.ca/2651516 . Hopefully it may shed some light on the subject, because it's not telling me too much.

                    • 7. Re: Java won't work - possible proxy issues?
                      Stephen Bell

                      I have an awful feeling I'm leading you further and further astray.

                       

                      That is probably the expected behaviour launching via https://java.com/en/download/JavaDetection_applet.jnlp. It's not meant to be launched like that, so don't expect anything useful to happen, but I thought, perhaps wrongly, it might be interesting to compare with the applet.

                       

                      But your Java detection applet is working. There's no IOException, which is different from what you reported in your first post. Java is able to contact the Oracle website through your proxy and get the response that the jar is up to date.

                       

                      network: Connecting https://java.com/en/download/JavaDetection.jar with proxy=HTTP @ /192.168.4.100:2244

                      network: ResponseCode for https://java.com/en/download/JavaDetection.jar : 304

                       

                      I'm not sure how the applet works, but if you're not getting the final

                       

                      Gecontroleerde Java-versie

                      Completion checkmark

                       

                      Gefeliciteerd!

                      U beschikt over de juiste Java-versie. (Version 7 Update 51).

                       

                      message, I guess the applet's ability to manipulate the browser is blocked?! Might be an IE setting. But the applet is starting normally.

                       

                      In short, I'm not sure that running the Java detection applet on your test machine is a valid analog of running the problem applet on the problem PC.

                      • 8. Re: Java won't work - possible proxy issues?
                        Neko-

                        If I use that jnlp link on my company machine (which can detect Java properly from the website), IE pops up the download dialog box, asking me if I want to store the file after I select Run for the applet. So it does do something different.

                         

                        On my first post I already mentioned that I have three browsers on the testmachine (IE, Firefox and Chrome), and all three fail to work with Java on that machine. If I pull my testmachine from behind the proxy, and hook it up straight to the Internet, all three browsers work perfectly in detecting Java properly. If you feel it might help I can see about gathering Java Console logs for all three browsers from both directly connected and connected through the proxy.

                         

                        So while I concur that my testmachine isn't the same as the machine at the enduser-point, it does show a problem with the use of Java that is introduced if the proxy (I still call it proxy, even if it doesn't store any data at all, and just acts as a routing for traffic) is along the line to get to the outside world.

                         

                        As to leading me further astray... don't worry about it. I've already spend a lot of time on this, and have pretty much exhausted anything I can readily think of to correct this problem. So anything offered is highly appreciated.

                        • 9. Re: Java won't work - possible proxy issues?
                          Neko-

                          Seems the organization that takes the examinations (which currently rely on Java) has an alternate means of doing things. This goes by a separate program that connects to the web, and circumvents Java completely. Program won't be released till August, but we seem to be allowed to use a test version of it. And of what I've seen sofar this one allows for the connection to the problem Java site by sidestepping Java alltogether.

                           

                          So the immidiate problem seems solved (it's being checked out now, so I'm waiting for the definitive answer), but that still leaves Java as non-operational behind a Freeproxy system.

                           

                          I'm actually curious if anyone has a means to build a test setup (on a VM perhaps) with the proxy to see if they can reproduce the problem. Don't know if there's time or a willingness to put in that effort tho.

                          • 10. Re: Java won't work - possible proxy issues?
                            Neko-

                            The above workaround seems to work fine. Still leaves me with Java problems through the proxy that I can't seem to solve