Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8034816

Old version of jnlp file is used

XMLWordPrintable

    • b09
    • x86_64
    • windows_7
    • Verified

        FULL PRODUCT VERSION :
        java version "1.8.0"
        Java(TM) SE Runtime Environment (build 1.8.0-b128)
        Java HotSpot(TM) 64-Bit Server VM (build 25.0-b69, mixed mode)

        ADDITIONAL OS VERSION INFORMATION :
        Microsoft Windows [Version 6.1.7601]

        EXTRA RELEVANT SYSTEM CONFIGURATION :
        Web server: apache 2.4 hosted on Windows Server 2012

        A DESCRIPTION OF THE PROBLEM :
        When the jnlp file is updated on the server, the client downloads the latest version but javaws seems to run the previous version anyway.

        jnlp file contains:
          <update check="always" policy="always"/>

        and a version number:
        <jnlp spec="7.0+" href="bigblue.jnlp" version="1.3">

        Typically, when some of the dependencies are updated, JavaWS reports an error and looking at the details shows an old version of the jnlp file.

        The web server log looks like below (so the new version is downloaded several times):

        [Wed Feb 12 18:07:24.225453 2014] [core:trace5] [pid 4068:tid 852] protocol.c(616): [client 192.168.3.42:52623] Request received from client: GET /big_blue/bigblue.jnlp HTTP/1.1
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_request.c(300): [client 192.168.3.42:52623] Headers received from client:
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52623] accept-encoding: gzip
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52623] User-Agent: JNLP/1.7.0 javaws/11.0.2.128 (<internal>) Java/1.8.0
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52623] UA-Java-Version: 1.8.0
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52623] Cache-Control: no-cache
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52623] Pragma: no-cache
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52623] Host: 192.168.3.86
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52623] Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52623] Connection: keep-alive
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52623] If-Modified-Since: Tue, 11 Feb 2014 00:48:29 GMT
        [Wed Feb 12 18:07:24.225453 2014] [authz_core:debug] [pid 4068:tid 852] mod_authz_core.c(799): [client 192.168.3.42:52623] AH01626: authorization result of Require all granted: granted
        [Wed Feb 12 18:07:24.225453 2014] [authz_core:debug] [pid 4068:tid 852] mod_authz_core.c(799): [client 192.168.3.42:52623] AH01626: authorization result of <RequireAny>: granted
        [Wed Feb 12 18:07:24.225453 2014] [core:trace3] [pid 4068:tid 852] request.c(236): [client 192.168.3.42:52623] request authorized without authentication by access_checker_ex hook: /big_blue/bigblue.jnlp
        [Wed Feb 12 18:07:24.225453 2014] [http:trace3] [pid 4068:tid 852] http_filters.c(960): [client 192.168.3.42:52623] Response sent with status 200, headers:
        [Wed Feb 12 18:07:24.225453 2014] [http:trace5] [pid 4068:tid 852] http_filters.c(969): [client 192.168.3.42:52623] Date: Wed, 12 Feb 2014 18:07:24 GMT
        [Wed Feb 12 18:07:24.225453 2014] [http:trace5] [pid 4068:tid 852] http_filters.c(972): [client 192.168.3.42:52623] Server: Apache/2.4.6 (Win64) PHP/5.5.6
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_filters.c(804): [client 192.168.3.42:52623] Last-Modified: Wed, 12 Feb 2014 18:06:52 GMT
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_filters.c(804): [client 192.168.3.42:52623] ETag: \\"9bd-4f2396ff92d4e\\"
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_filters.c(804): [client 192.168.3.42:52623] Accept-Ranges: bytes
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_filters.c(804): [client 192.168.3.42:52623] Content-Length: 2493
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_filters.c(804): [client 192.168.3.42:52623] Keep-Alive: timeout=5, max=100
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_filters.c(804): [client 192.168.3.42:52623] Connection: Keep-Alive
        [Wed Feb 12 18:07:24.225453 2014] [http:trace4] [pid 4068:tid 852] http_filters.c(804): [client 192.168.3.42:52623] Content-Type: application/x-java-jnlp-file
        [Wed Feb 12 18:07:24.225453 2014] [core:trace6] [pid 4068:tid 852] core_filters.c(523): [client 192.168.3.42:52623] core_output_filter: flushing because of FLUSH bucket
        [Wed Feb 12 18:07:24.225453 2014] [core:trace6] [pid 4068:tid 852] core_filters.c(523): [client 192.168.3.42:52623] core_output_filter: flushing because of FLUSH bucket
        [Wed Feb 12 18:07:24.241084 2014] [core:trace5] [pid 4068:tid 852] protocol.c(616): [client 192.168.3.42:52624] Request received from client: GET /big_blue/bigblue.jnlp HTTP/1.1
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_request.c(300): [client 192.168.3.42:52624] Headers received from client:
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] accept-encoding: gzip
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] User-Agent: JNLP/1.7.0 javaws/11.0.2.128 (<internal>) Java/1.8.0
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] UA-Java-Version: 1.8.0
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] Cache-Control: no-cache
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] Pragma: no-cache
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] Host: 192.168.3.86
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] Connection: keep-alive
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] If-Modified-Since: Tue, 11 Feb 2014 00:48:29 GMT
        [Wed Feb 12 18:07:24.241084 2014] [authz_core:debug] [pid 4068:tid 852] mod_authz_core.c(799): [client 192.168.3.42:52624] AH01626: authorization result of Require all granted: granted
        [Wed Feb 12 18:07:24.241084 2014] [authz_core:debug] [pid 4068:tid 852] mod_authz_core.c(799): [client 192.168.3.42:52624] AH01626: authorization result of <RequireAny>: granted
        [Wed Feb 12 18:07:24.241084 2014] [core:trace3] [pid 4068:tid 852] request.c(236): [client 192.168.3.42:52624] request authorized without authentication by access_checker_ex hook: /big_blue/bigblue.jnlp
        [Wed Feb 12 18:07:24.241084 2014] [http:trace3] [pid 4068:tid 852] http_filters.c(960): [client 192.168.3.42:52624] Response sent with status 200, headers:
        [Wed Feb 12 18:07:24.241084 2014] [http:trace5] [pid 4068:tid 852] http_filters.c(969): [client 192.168.3.42:52624] Date: Wed, 12 Feb 2014 18:07:24 GMT
        [Wed Feb 12 18:07:24.241084 2014] [http:trace5] [pid 4068:tid 852] http_filters.c(972): [client 192.168.3.42:52624] Server: Apache/2.4.6 (Win64) PHP/5.5.6
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_filters.c(804): [client 192.168.3.42:52624] Last-Modified: Wed, 12 Feb 2014 18:06:52 GMT
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_filters.c(804): [client 192.168.3.42:52624] ETag: \\"9bd-4f2396ff92d4e\\"
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_filters.c(804): [client 192.168.3.42:52624] Accept-Ranges: bytes
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_filters.c(804): [client 192.168.3.42:52624] Content-Length: 2493
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_filters.c(804): [client 192.168.3.42:52624] Keep-Alive: timeout=5, max=100
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_filters.c(804): [client 192.168.3.42:52624] Connection: Keep-Alive
        [Wed Feb 12 18:07:24.241084 2014] [http:trace4] [pid 4068:tid 852] http_filters.c(804): [client 192.168.3.42:52624] Content-Type: application/x-java-jnlp-file
        [Wed Feb 12 18:07:24.241084 2014] [core:trace6] [pid 4068:tid 852] core_filters.c(523): [client 192.168.3.42:52624] core_output_filter: flushing because of FLUSH bucket
        [Wed Feb 12 18:07:24.287960 2014] [core:trace5] [pid 4068:tid 852] protocol.c(616): [client 192.168.3.42:52624] Request received from client: GET /big_blue/bigblue.jnlp HTTP/1.1
        [Wed Feb 12 18:07:24.287960 2014] [http:trace4] [pid 4068:tid 852] http_request.c(300): [client 192.168.3.42:52624] Headers received from client:
        [Wed Feb 12 18:07:24.287960 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] accept-encoding: gzip
        [Wed Feb 12 18:07:24.287960 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] User-Agent: JNLP/1.7.0 javaws/11.0.2.128 (<internal>) Java/1.8.0
        [Wed Feb 12 18:07:24.287960 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] UA-Java-Version: 1.8.0
        [Wed Feb 12 18:07:24.287960 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] Cache-Control: no-cache
        [Wed Feb 12 18:07:24.287960 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] Pragma: no-cache
        [Wed Feb 12 18:07:24.287960 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] Host: 192.168.3.86
        [Wed Feb 12 18:07:24.287960 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
        [Wed Feb 12 18:07:24.287960 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] Connection: keep-alive
        [Wed Feb 12 18:07:24.287960 2014] [http:trace4] [pid 4068:tid 852] http_request.c(303): [client 192.168.3.42:52624] If-Modified-Since: Wed, 12 Feb 2014 18:06:52 GMT
        [Wed Feb 12 18:07:24.287960 2014] [authz_core:debug] [pid 4068:tid 852] mod_authz_core.c(799): [client 192.168.3.42:52624] AH01626: authorization result of Require all granted: granted
        [Wed Feb 12 18:07:24.287960 2014] [authz_core:debug] [pid 4068:tid 852] mod_authz_core.c(799): [client 192.168.3.42:52624] AH01626: authorization result of <RequireAny>: granted
        [Wed Feb 12 18:07:24.287960 2014] [core:trace3] [pid 4068:tid 852] request.c(236): [client 192.168.3.42:52624] request authorized without authentication by access_checker_ex hook: /big_blue/bigblue.jnlp
        [Wed Feb 12 18:07:24.287960 2014] [http:trace3] [pid 4068:tid 852] http_filters.c(960): [client 192.168.3.42:52624] Response sent with status 304, headers:
        [Wed Feb 12 18:07:24.287960 2014] [http:trace5] [pid 4068:tid 852] http_filters.c(969): [client 192.168.3.42:52624] Date: Wed, 12 Feb 2014 18:07:24 GMT
        [Wed Feb 12 18:07:24.287960 2014] [http:trace5] [pid 4068:tid 852] http_filters.c(972): [client 192.168.3.42:52624] Server: Apache/2.4.6 (Win64) PHP/5.5.6

        REGRESSION. Last worked in version 7u25

        STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
        Create a simple jnlp with a version number:

        <jnlp spec="7.0+" href="bigblue.jnlp" version="1.0">

        Enable tracing on the client.
        Run the application from the client.
        Verify that the log file shows version 1.0

        Modify the jnlp to

        <jnlp spec="7.0+" href="bigblue.jnlp" version="1.1">

        Run the application from the client.
        >>> THE LOG FILE SHOWS VERSION 1.0 AGAIN <<<<

        Run the application from the client.
        The log file shows version 1.1 as expected.

        EXPECTED VERSUS ACTUAL BEHAVIOR :
        EXPECTED -
        The latest version of the jnlp when an update is performed on the server.

        REPRODUCIBILITY :
        This bug can be reproduced always.

        CUSTOMER SUBMITTED WORKAROUND :
        Launching the application a second time runs the newest version of the jnlp file as expected, but it always requires one failed launch before it works.

              dtitov Daniil Titov (Inactive)
              webbuggrp Webbug Group
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: