IBM Support

IT26390: File InputStreams acquired by the MQ resource adapter are never closed

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

  • A number of Java InputStream objects for files are acquired by
    the MQ JCA resource adapter (MQ-RA) when it is first initialised
    that are not subsequently explicitly closed.  As a result, when
    the MQ-RA is running within the GlassFish application server and
    the server is shutdown, the following warning messages are
    logged to the server.log file:
    
    **************************************************
      Input stream has been finalized or forced closed without being
    explicitly closed; stream instantiation reported in following
    stack trace
    java.lang.Throwable
    	at
    com.sun.enterprise.loader.ASURLClassLoader$SentinelInputStream.<
    init>(ASURLClassLoader.java:1278)
    	at
    com.sun.enterprise.loader.ASURLClassLoader$InternalJarURLConnect
    ion.getInputStream(ASURLClassLoader.java:1386)
    	at java.net.URL.openStream(Unknown Source)
    	at
    com.ibm.msg.client.jms.internal.JMSComponent$1.run(JMSComponent.
    java:87)
    	at
    com.ibm.msg.client.jms.internal.JMSComponent$1.run(JMSComponent.
    java:71)
    	at java.security.AccessController.doPrivileged(Native
    Method)
    	at
    com.ibm.msg.client.jms.internal.JMSComponent.<init>(JMSComponent
    .java:71)
    
    **************************************************
      Input stream has been finalized or forced closed without being
    explicitly closed; stream instantiation reported in following
    stack trace
    java.lang.Throwable
    	at
    com.sun.enterprise.loader.ASURLClassLoader$SentinelInputStream.<
    init>(ASURLClassLoader.java:1278)
    	at
    com.sun.enterprise.loader.ASURLClassLoader$InternalJarURLConnect
    ion.getInputStream(ASURLClassLoader.java:1386)
    	at java.net.URL.openStream(Unknown Source)
    	at
    com.ibm.mq.jms.MQJMSComponent$1.run(MQJMSComponent.java:90)
    	at java.security.AccessController.doPrivileged(Native
    Method)
    	at
    com.ibm.mq.jms.MQJMSComponent.<init>(MQJMSComponent.java:73)
    
    **************************************************
      Input stream has been finalized or forced closed without being
    explicitly closed; stream instantiation reported in following
    stack trace
    java.lang.Throwable
    	at
    com.sun.enterprise.loader.ASURLClassLoader$SentinelInputStream.<
    init>(ASURLClassLoader.java:1278)
    	at
    com.sun.enterprise.loader.ASURLClassLoader$InternalJarURLConnect
    ion.getInputStream(ASURLClassLoader.java:1386)
    	at java.net.URL.openStream(Unknown Source)
    	at
    com.ibm.msg.client.commonservices.j2se.J2SEComponent$1.run(J2SEC
    omponent.java:76)
    	at java.security.AccessController.doPrivileged(Native
    Method)
    	at
    com.ibm.msg.client.commonservices.j2se.J2SEComponent.<init>(J2SE
    Component.java:63)
    	at
    com.ibm.mq.connector.ResourceAdapterImpl.<clinit>(ResourceAdapte
    rImpl.java:180)
    
    **************************************************
      Input stream has been finalized or forced closed without being
    explicitly closed; stream instantiation reported in following
    stack trace
    java.lang.Throwable
    	at
    com.sun.enterprise.loader.ASURLClassLoader$SentinelInputStream.<
    init>(ASURLClassLoader.java:1278)
    	at
    com.sun.enterprise.loader.ASURLClassLoader$InternalJarURLConnect
    ion.getInputStream(ASURLClassLoader.java:1386)
    	at java.net.URL.openStream(Unknown Source)
    	at
    com.ibm.mq.jmqi.internal.JmqiTools$6.run(JmqiTools.java:2229)
    	at java.security.AccessController.doPrivileged(Native
    Method)
    	at
    com.ibm.mq.jmqi.internal.JmqiTools.getVersionProperties(JmqiTool
    s.java:2203)
    	at
    com.ibm.mq.jmqi.JmqiEnvironment.<clinit>(JmqiEnvironment.java:22
    9)
    	at
    com.ibm.mq.jmqi.JmqiFactory.getInstance(JmqiFactory.java:122)
    	at
    com.ibm.mq.internal.MQCommonServices.<clinit>(MQCommonServices.j
    ava:146)
    	at com.ibm.mq.MQSESSION.getJmqiEnv(MQSESSION.java:141)
    	at
    com.ibm.mq.MQSimpleConnectionManager.<init>(MQSimpleConnectionMa
    nager.java:95)
    	at
    com.ibm.mq.MQEnvironment.<clinit>(MQEnvironment.java:569)
    
    **************************************************
      Input stream has been finalized or forced closed without being
    explicitly closed; stream instantiation reported in following
    stack trace
    java.lang.Throwable
        at
    com.sun.enterprise.loader.ASURLClassLoader$SentinelInputStream.<
    init>(ASURLClassLoader.java:1278)
    	at
    com.sun.enterprise.loader.ASURLClassLoader$InternalJarURLConnect
    ion.getInputStream(ASURLClassLoader.java:1386)
    	at java.net.URL.openStream(URL.java:1038)
    	at
    com.ibm.msg.client.commonservices.CommonServices.loadProperties(
    CommonServices.java:656)
    	at
    com.ibm.msg.client.commonservices.CommonServices.getProductizati
    on(CommonServices.java:605)
    	at
    com.ibm.mq.jms.MQJMSComponent$1.run(MQJMSComponent.java:140)
    	at java.security.AccessController.doPrivileged(Native
    Method)
    	at
    com.ibm.mq.jms.MQJMSComponent.<init>(MQJMSComponent.java:73)
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of the IBM MQ JCA resource adapter, who
    have deployed the IBM MQ resource adapter into GlassFish
    Application Server.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    A number of components are initialized when the IBM MQ classes
    for JMS or classes for Java are first used by an application, or
    the IBM MQ JCA resource adapter is initialised by an application
    server. In order to discover the available components, a number
    of properties files located in the IBM MQ classes for Java and
    classes for JMS JAR files are opened, and data is read from
    them.
    
    For each properties file to be read, a Java InputStream object
    was opened. However, the InputStream was not explicitly closed
    after the properties file had been read. When the IBM MQ
    resource adapter was running inside of GlassFish application
    server, this resulted in warning messages being written to the
    application server's log file when the application server was
    shut down.
    

Problem conclusion

  • The relevant components of the IBM MQ classes for Java, classes
    for JMS and JCA resource adapter have been updated to explicitly
    call the close() method on InputStreams that are opened when
    reading properties files included within the IBM MQ classes for
    Java and classes for JMS JAR files.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v9.0 LTS   9.0.0.6
    v9.1 CD    9.1.2
    v9.1 LTS   9.1.0.2
    
    The latest available maintenance can be obtained from
    'WebSphere MQ Recommended Fixes'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037
    
    If the maintenance level is not yet available information on
    its planned availability can be found in 'WebSphere MQ
    Planned Maintenance Release Dates'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT26390

  • Reported component name

    IBM MQ BASE M/P

  • Reported component ID

    5724H7261

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-09-22

  • Closed date

    2018-10-26

  • Last modified date

    2018-10-26

  • 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

    IBM MQ BASE M/P

  • Fixed component ID

    5724H7261

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
26 October 2018