VOOZH about

URL: https://www.ibm.com/support/pages/apar/IJ50401

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


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

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