IBM Support

PH26972: ZWAS JAXBCONTEXT CACHE CORRUPTION POSSIBLE IN MULTI-SERVANT ENVIRONMENTS

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

  • This error concerns the persisted JAXBContext cache which is
    written to disk; activated by the use of the properties
    --
    -Dco
    m.ibm.ws.websvcs.getJAXBContext.cacheClassList.persist=true
    
    -Dcom.ibm.ws.websvcs.getJAXBContext.cacheClassList=true
    --
    The
    APAR is taken to serialise updates to the persisted cache file
    correctly between the JVMs in the multiple servants of a
    specific server.
    
    The typical error scenario is that
    exceptions like
    --
    Caused by: javax.xml.bind.JAXBException:
    an.application.classname is not known to this context
     at com.ib
    m.jtc.jax.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBCo
    ntextImpl.java:621)
     at com.ibm.jtc.jax.xml.bind.v2.runtime.Elem
    entBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:144)
    --
    
    start to occur at some stage in server operation, after a long
    period of normal operation when the cache was populated and
    information was used successfully from it.
    
    Notes:
    These
    errors do not apply to the in-memory cache, which is unique to
    each JVM.
    The issue will only occur if more than one servant
    is in use (opening the window for overlapping updates to the
    persisted cache file).
    
    If you see errors like this, are using
    more than one servant and are persisting the cache to disk, it
    is recommended to install this fix and activate the additional
    synchronisation of the cache before proceeding to look for
    other explanations for this these exceptions.
    

Local fix

  • For recovery, the cache can be deleted while the server is
    down. Typical cache locations are:
    <profile
    directory>/temp/wscache/<ear file>/jaxbcontext.cache
    
    There is
    no local fix, but reversion to the in memory cache will avoid
    the issue. In this case the cost of building the in memory
    cache will be incurred during the lifetime of each servant.
    
    This reversion can be done by using:
    --
    -Dcom.ibm.ws.websvcs.g
    etJAXBContext.cacheClassList.persist=false
    
    -Dcom.ibm.ws.websvcs.getJAXBContext.cacheClassList=true
    --
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  IBM WebSphere Application Server users of   *
    *                  JAX-WS Web Services                         *
    ****************************************************************
    * PROBLEM DESCRIPTION: javax.xml.bind.JAXBException occurs     *
    *                      when using JAXBContext persistent       *
    *                      cache                                   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    If JAXBContext persistent cache is enabled on z/OS systems by
    setting the JVM system property:
    com.ibm.ws.websvcs.getJAXBContext.cacheClassList.persist to
    true, the JAXBContext cache file on disk may get corrupted
    after a while and exceptions like this may occur:
    javax.xml.bind.JAXBException:
    lu.etat.cie.mj.rbe.services.ws.output.BooleanRbeResultBean is
    not known to this context
    at
    com.ibm.jtc.jax.xml.bind.v2.runtime.MarshallerImpl.write(Marshal
    lerImpl.java:326)
    at
    com.ibm.jtc.jax.xml.bind.v2.runtime.MarshallerImpl.marshal(Marsh
    allerImpl.java:178)
    at
    com.ibm.xml.xlxp2.jaxb.marshal.MarshallerProxy.marshal(Marshalle
    rProxy.java:120)
    at
    org.apache.axis2.datasource.jaxb.JAXBDSContext$5.run(JAXBDSConte
    xt.java:1038)
    at
    org.apache.axis2.datasource.jaxb.JAXBDSContext$5.run(JAXBDSConte
    xt.java:1038)
    at
    org.apache.axis2.java.security.AccessController.doPrivileged(Acc
    essController.java:76)
    at
    org.apache.axis2.datasource.jaxb.JAXBDSContext.marshalByType(JAX
    BDSContext.java:921)
    at
    org.apache.axis2.datasource.jaxb.JAXBDSContext.marshal(JAXBDSCon
    text.java:452)
    

Problem conclusion

  • Caused by: javax.xml.bind.JAXBException:
    lu.etat.cie.mj.rbe.services.ws.output.BooleanRbeResultBean is
    not known to this context
    
    The fix for this APAR is targeted for inclusion in fix packs
    8.5.5.19 and 9.0.5.6. For more information, see 'Recommended
    Updates for WebSphere Application Server':
    https://www.ibm.com/support/pages/node/715553
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH26972

  • Reported component name

    WEBSPHERE FOR Z

  • Reported component ID

    5655I3500

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-06-30

  • Closed date

    2020-10-07

  • Last modified date

    2020-10-07

  • 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

    WEBSPHERE FOR Z

  • Fixed component ID

    5655I3500

Applicable component levels

[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SS7K4U","label":"WebSphere Application Server for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"850"}]

Document Information

Modified date:
08 October 2020