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

Java Console shows NullPointerException when JNLP contains GIF icon element

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: P3 P3
    • None
    • 7u45, 8, 9
    • deploy

      FULL PRODUCT VERSION :
      java version "1.7.0_45"
      Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
      Java HotSpot(TM) Client VM (build 24.45-b08, mixed mode, sharing)

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows [Version 6.1.7601]
      (Windows 7 Enterprise SP1)

      A DESCRIPTION OF THE PROBLEM :
      When a JNLP file that contains an <icon> element with a href attribute pointing to a GIF image is launched, the NullPointerException pasted below appears in the Java Console. When I replace the GIF with a JPEG or PNG image residing in the same location (folder), the exception does NOT appear. This doesn't occur when I launch Web Start from the command line; only when the JNLP file is launched directly (e.g., double-clicked) and Windows automatically determines the program to open it with. Finally, this only occurs when the application files are not already in the Java cache. If they are, I only see these entries in place of the NPE, which I assume are normal.

      CacheEntry[http://localhost:8080/studio/studio.jnlp?mac=0&lolang=en&loc=&louser=]: updateAvailable=false,lastModified=Wed Dec 31 16:00:00 PST 1969,length=2706
      CacheEntry[http://localhost:8080/studio/resources.jnlp]: updateAvailable=false,lastModified=Wed Dec 31 16:00:00 PST 1969,length=934
      CacheEntry[http://localhost:8080/jnlp/admin/resources.jnlp]: updateAvailable=false,lastModified=Wed Dec 31 16:00:00 PST 1969,length=671
      CacheEntry[http://localhost:8080/jnlp/common.jnlp]: updateAvailable=false,lastModified=Wed Dec 31 16:00:00 PST 1969,length=2250

      Full stack trace of the NPE that appears in the Java Console:

      Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
      at com.sun.deploy.ui.DialogTemplate.imageAvailable(Unknown Source)
      at com.sun.deploy.ui.DialogTemplate.finalImageAvailable(Unknown Source)
      at com.sun.deploy.ui.ImageLoader$2.run(Unknown Source)
      at java.awt.event.InvocationEvent.dispatch(Unknown Source)
      at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
      at java.awt.EventQueue.access$200(Unknown Source)
      at java.awt.EventQueue$3.run(Unknown Source)
      at java.awt.EventQueue$3.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
      at java.awt.EventQueue.dispatchEvent(Unknown Source)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.run(Unknown Source)

      Note that this doesn't seem to affect the functionality of the application at all. However, I observed something else that's probably related: when the <icon> href points to a JPEG or PNG image, that image appears on the right side of the Web Start box that indicates application download progress and "Verifying Application", while a GIF doesn't (the Java logo default appears instead).

      REGRESSION. Last worked in version 6u43

      ADDITIONAL REGRESSION INFORMATION:
      java version "1.6.0_33"
      Java(TM) SE Runtime Environment (build 1.6.0_33-b03)
      Java HotSpot(TM) Client VM (build 20.8-b03, mixed mode, sharing)

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. Set Java Console to show
      2. Completely clear Java cache (temporary files)
      3. Launch a valid JNLP file containing an <icon> element (under <information>) whose href points to a valid, existing GIF image. This must be launched automatically by Windows, by double-clicking the file, for example.
      4. See the NullPointerException in the Java Console

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Java Console output:

      Java Web Start 10.45.2.18
      Using JRE version 1.7.0_45-b18 Java HotSpot(TM) Client VM
      User home directory = C:\Users\patelron
      ----------------------------------------------------
      c: clear console window
      f: finalize objects on finalization queue
      g: garbage collect
      h: display this help message
      m: print memory usage
      o: trigger logging
      p: reload proxy configuration
      q: hide console
      r: reload policy configuration
      s: dump system and deployment properties
      t: dump thread list
      v: dump thread stack
      0-5: set trace level to <n>
      ----------------------------------------------------
      Starting APA Process Engine Version 7.5.0
      Build number: 0
      Autonomy, Inc. (www.cardiff.com)
      LBPM Engine Id = '16.98.104.215$1385516316143'
      Batching is supported by database
      Analyzing Database Schema...
      Completed Analyzing Database Schema...OK
        Total Thread pool size: 21
      Date estimation enabled.
      Begin scanning database: stalled Synchronous Tasks...
      Begin scanning database: tasks ready for processing...
      Begin scanning database: completed task sub-trees...
      INFO ;Successfully joined process engine cluster.;2013-11-26 17:38:36,380;[javawsApplicationMain]

      Engine activation complete.

      ACTUAL -
      Java Console output:

      Java Web Start 10.45.2.18
      Using JRE version 1.7.0_45-b18 Java HotSpot(TM) Client VM
      User home directory = C:\Users\patelron
      ----------------------------------------------------
      c: clear console window
      f: finalize objects on finalization queue
      g: garbage collect
      h: display this help message
      m: print memory usage
      o: trigger logging
      p: reload proxy configuration
      q: hide console
      r: reload policy configuration
      s: dump system and deployment properties
      t: dump thread list
      v: dump thread stack
      0-5: set trace level to <n>
      ----------------------------------------------------
      Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
      at com.sun.deploy.ui.DialogTemplate.imageAvailable(Unknown Source)
      at com.sun.deploy.ui.DialogTemplate.finalImageAvailable(Unknown Source)
      at com.sun.deploy.ui.ImageLoader$2.run(Unknown Source)
      at java.awt.event.InvocationEvent.dispatch(Unknown Source)
      at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
      at java.awt.EventQueue.access$200(Unknown Source)
      at java.awt.EventQueue$3.run(Unknown Source)
      at java.awt.EventQueue$3.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
      at java.awt.EventQueue.dispatchEvent(Unknown Source)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.run(Unknown Source)
      Starting APA Process Engine Version 7.5.0
      Build number: 0
      Autonomy, Inc. (www.cardiff.com)
      LBPM Engine Id = '16.98.104.215$1385516440466'
      Batching is supported by database
      Analyzing Database Schema...
      Completed Analyzing Database Schema...OK
        Total Thread pool size: 21
      Date estimation enabled.
      Begin scanning database: stalled Synchronous Tasks...
      Begin scanning database: tasks ready for processing...
      Begin scanning database: completed task sub-trees...
      INFO ;Successfully joined process engine cluster.;2013-11-26 17:40:40,783;[javawsApplicationMain]

      Engine activation complete.


      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
      at com.sun.deploy.ui.DialogTemplate.imageAvailable(Unknown Source)
      at com.sun.deploy.ui.DialogTemplate.finalImageAvailable(Unknown Source)
      at com.sun.deploy.ui.ImageLoader$2.run(Unknown Source)
      at java.awt.event.InvocationEvent.dispatch(Unknown Source)
      at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
      at java.awt.EventQueue.access$200(Unknown Source)
      at java.awt.EventQueue$3.run(Unknown Source)
      at java.awt.EventQueue$3.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
      at java.awt.EventQueue.dispatchEvent(Unknown Source)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      at java.awt.EventDispatchThread.run(Unknown Source)


      REPRODUCIBILITY :
      This bug can be reproduced always.

      CUSTOMER SUBMITTED WORKAROUND :
      Options:

      - Use a Java 1.6.x JRE
      - Replace the GIF image with a PNG or JPEG image in the JNLP file
      - Launch from the command line, for example:

      C:\Program Files (x86)\Java\jre7\bin>javaws.exe http://localhost:8080/studio

        1. jnlp_icon.png
          jnlp_icon.png
          36 kB
        2. JnlpTest.java
          0.2 kB
        3. launch.jnlp
          0.6 kB
        4. test.gif
          test.gif
          1 kB

            stayer Kirill Kirichenko (Inactive)
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: