IBM Support

IT24526: MQ classes for Java and classes for JMS trace is not written to System.Err when expected on Unix platforms.

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

  • An application using the WebSphere MQ V7.5 classes for JMS is
    started on Linux with the following Java system properties set:
    
    -Dcom.ibm.msg.client.commonservices.trace.status=ON
    -Dcom.ibm.msg.client.commonservices.trace.outputName=/trace
    
    The user running the application does not have permission to
    write to the /trace directory. Based on the information in the
    "Java Standard Environment Trace stanza" topic in the WebSphere
    MQ V7.5 section of IBM Knowledge Center, the trace output should
    be written system error stream. However, the trace is actually
    written to a trace file in the current working directory for the
    application.
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects two categories of user:
    
    Category 1:
    ----------------
    Users of:
    
    - The WebSphere MQ classes for Java.
    - The WebSphere MQ classes for JMS.
    
    who run applications on Unix platforms, specifying the following
    Java system properties:
    
    -Dcom.ibm.msg.client.commonservices.trace.status=ON
    -Dcom.ibm.msg.client.commonservices.trace.outputName=<fully
    qualified trace file name>
    
    where <fully qualified trace file name> points to a location
    that the user running the application does not have write access
    to.
    
    Category 2:
    ----------------
    Users of:
    
    - The WebSphere MQ classes for Java.
    - The WebSphere MQ classes for JMS.
    
    who run applications on Unix platforms, specifying the Java
    system property:
    
    -Dcom.ibm.msg.client.config.location=<configuration file URI>
    
    where:
    
    - The WebSphere MQ classes for Java or classes for JMS
    configuration file referenced by the Java system property
    contains the entry:
    
        com.ibm.msg.client.commonservices.trace.outputName=<fully
    qualified trace file name>
    
    And
    
    - the user running the application does not have write access to
    the location specified by <fully qualified trace file name>.
    
    
    Platforms affected:
    AIX, HP-UX PA-RISC, HP-UX Itanium, Linux on x86, Linux on
    x86-64, Solaris SPARC, Solaris x86-64, z/OS
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    The WebSphere MQ messaging client trace mechanism used by the
    WebSphere MQ classes for Java and classes for JMS uses the value
    of the property:
    
    com.ibm.msg.client.commonservices.trace.outputName
    
    to determine:
    
    - The name of the trace file that should be created.
    - And, optionally, the name of the directory where the trace
    file needs to be written.
    
    If this property is set, then the WebSphere MQ messaging client
    trace mechanism performs the following checks:
    
    - If a directory has been specified, does the user running the
    application have permission to write to it.
    - If the trace file already exists, does the user running the
    application have permission to append to it.
    
    
    If either of these checks failed, then the WebSphere MQ
    messaging client trace mechanism generated one of the following
    FFDCs:
    
    **************************************************************
    FFDC 1:
    ----------
      Source Class     :-
    com.ibm.msg.client.commonservices.j2se.trace.DefaultTracer$3
      Source Method    :- initialize()
      ProbeID          :- XS005002
    
      TraceDirectory  :-  <directory name>
      TraceFile       :-  <fully qualified trace file name>
    
    **************************************************************
    FFDC 2:
    ----------
      Source Class     :-
    com.ibm.msg.client.commonservices.j2se.trace.DefaultTracer$3
      Source Method    :- initialize()
      ProbeID          :- XS005003
    
      TraceDirectory  :-  <directory name>
      TraceFile       :-  <fully qualified trace file name>
    
    **************************************************************
    
    On Windows, the trace information was then written to the
    processes system error stream.  However, on Unix platforms, the
    WebSphere MQ messaging client trace mechanism incorrectly wrote
    the trace information to a trace file in the working directory
    for the application.
    

Problem conclusion

  • The WebSphere MQ messaging client trace mechanism has been
    updated so that if the property:
    
    com.ibm.msg.client.commonservices.trace.outputName
    
    is set to a location that the user running the application being
    traced does not have permission to write to, the following
    message will be written to both the system output stream and
    system error streams:
    
    JMSCS0032: The WebSphere MQ messaging client trace mechanism
    could not initialize the trace file '<fully qualified trace file
    name>' due to the exception '<exception>'. Trace will be written
    to System.Err.
    
    and trace will be written to the system error stream on all
    platforms.
    
    Note that the WebSphere MQ messaging client trace mechanism will
    no longer generate the FFDCs mentioned in the "Problem Summary"
    section of the APAR. The information in the FFDCs provided
    details of the location that the WebSphere MQ messaging client
    trace mechanism were trying to write trace to. This was useful
    to IBM Support and customers, as it allowed them to determine
    why trace was being written to the system error stream. As this
    information is now available in the JMSCS0032 message that has
    been added as part of the APAR, the FFDCs are no longer required
    and so have been removed.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v7.5       7.5.0.9
    v8.0       8.0.0.10
    v9.0 LTS   9.0.0.5
    
    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

    IT24526

  • Reported component name

    WMQ BASE MULTIP

  • Reported component ID

    5724H7241

  • Reported release

    750

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-03-24

  • Closed date

    2018-05-23

  • Last modified date

    2018-05-23

  • 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

    WMQ BASE MULTIP

  • Fixed component ID

    5724H7241

Applicable component levels



Document information

More support for: WebSphere MQ
APAR / Maintenance

Software version: 7.5

Reference #: IT24526

Modified date: 23 May 2018


Translate this page: