IBM Support

IJ50401: JAVA.UTIL.PROPERTIES.LOAD() CORRUPTS PROPERTIES IN CERTAIN CIRCUMSTANCES

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: This defect causes the reading of properties
    files encoded with an ASCII codepage to break in the following
    circumstances:
    
    1. The properties file contains contain a single line with a
     key/value pair that uses ':' as the separator
    
    2. The properties file contains contain a single line with a
     key/value pair that uses whitespace as the separator
    
    3. The properties file contains contain a single line with a
     key but no value
    
    This issue can manifest in many different circumstances
    depending on what the properties file is used for.
    
    Most commonly the corrupted string data will lead to a
    problem elsewhere in the application. The corrupted
    string data will look, similar to this:
     ÁÌ/_ø%Á&Ê?øÁÊÈ`.Á`?ÁÌ/_ø%Áî/%ÍÁ =
    
    For example:
    
    Stack Trace: Error: Exception thrown by the agent :
    java.lang.IllegalArgumentException: Expected word at end of line
    
    
    <OSB>ÈÁËÈÍËÁÊ???ÊÁ/ÀÏÊÑÈÁ <CSB>
    sun.management.AgentConfigurationError:
    java.lang.IllegalArgumentException: Expected word at end of line
    
    
    <OSB>ÈÁËÈÍËÁÊ???ÊÁ/ÀÏÊÑÈÁ <CSB>
    at sun.management.jmxremote.ConnectorBootstrap
          .startRemoteConnectorServer(ConnectorBootstrap.java:492)
    
    
    The issue may also manifest as a NullPointerException in the
    application, caused by a property key not being found in the
    properties file.
    

Local fix

  • customer should be able to work around the issue in either of
    the following ways:
    Add a newline character at the end of the single line in the
    properties file, such that the properties file will contain two
    lines.
    Add an equal's sign character ('=') at the end of the key string
    
    
    
    in the properties file
    

Problem summary

  • GARBLED TEXT RETURNED BY JAVA.UTIL.PROPERTIES.LOAD()
    

Problem conclusion

  • No garbled text returned by java.util.Properties.load() with the
    fix provided in SR8FP25 release.
    Reading of properties files encoded with an ASCII codepage will
    not break in the following circumstances:
    1. The properties file contains a single line with a key/value
    pair that uses ':' as the separator
    2. The properties file contains a single line with a key/value
    pair that uses whitespace as the separator
    3. The properties file contains a single line with a key but no
    value
    .
    This APAR will be fixed in the following Releases:
    .
    IBM SDK, Java Technology Edition
       8    SR8 FP25  (8.0.8.25)
    .
    Downloads and supplementary documentation can be found at the
    following locations:
    - For non z/OS operating systems:
      - IBM Semeru Runtimes, Version 11 and later
        https://www.ibm.com/semeru-runtimes/downloads/
      - IBM SDK, Java Technology Edition, Version 8
        https://www.ibm.com/support/pages/java-sdk-downloads/
    - For the z/OS operating system:
      - Java SDK Products on z/OS
        https://www.ibm.com/support/pages/java-sdk-products-zos
    

Temporary fix

  • customer should be able to work around the issue in either of
    the following ways:
    Add a newline character at the end of the single line in the
    properties file, such that the properties file will contain two
    lines.
    Add an equal's sign character ('=') at the end of the key string
    in the properties file
    

Comments

APAR Information

  • APAR number

    IJ50401

  • Reported component name

    JAVA CLASS LIBS

  • Reported component ID

    620700130

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2024-03-08

  • Closed date

    2024-03-29

  • Last modified date

    2024-04-20

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    JAVA CLASS LIBS

  • Fixed component ID

    620700130

Applicable component levels

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
21 April 2024