IBM Support

PI15799: JAVA.LANG.VERIFYERROR MAY OCCUR DURING WEB SERVICES DEPLOYMENT WITH APPLICATION-PROVIDED FAULT BEANS IF WSDL IS NOT PROVIDED

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • After upgrading to WebSphere Application Server V8.5.5, a
    java.lang.VerifyError could occur during the deployment of a Web
    Services application.  This would occur under a scenario where
    the application provides its own fault (exception) beans with
    the same name as the fault beans that are generated by wsgen.
    This would only occur when the application does not package a
    WSDL file, which necessitates wsgen to be run to generate a WSDL
    during the deployment.
    .
    The stack trace of the java.lang.VerifyError will be similar to
    the following:
    .
    java.lang.VerifyError: JVMVRFY012 stack shape inconsistent;
    class=package/exceptions/SpecificException,
    method=getFaultInfo()Lpackage/faultbeans/SpecificFaultBean;,
    pc=10
            at java.lang.J9VMInternals.verifyImpl(Native Method)
            at java.lang.J9VMInternals.verify(J9VMInternals.java:93)
            at
    java.lang.J9VMInternals.prepare(J9VMInternals.java:490)
            at java.lang.Class.getMethod(Class.java:963)
            at
    com.ibm.jtc.jax.xml.ws.model.RuntimeModeler.getWSDLExceptionFaul
    tInfo(RuntimeModeler.java:1199)
            at
    com.ibm.jtc.jax.xml.ws.model.RuntimeModeler.processExceptions(Ru
    ntimeModeler.java:1146)
            at
    com.ibm.jtc.jax.xml.ws.model.RuntimeModeler.processDocWrappedMet
    hod(RuntimeModeler.java:898)
            at
    com.ibm.jtc.jax.xml.ws.model.RuntimeModeler.processMethod(Runtim
    eModeler.java:666)
            at
    com.ibm.jtc.jax.xml.ws.model.RuntimeModeler.processClass(Runtime
    Modeler.java:420)
            at
    com.ibm.jtc.jax.xml.ws.model.RuntimeModeler.buildRuntimeModel(Ru
    ntimeModeler.java:254)
            at
    com.ibm.jtc.jax.tools.ws.wscompile.WsgenTool.buildModel(WsgenToo
    l.java:248)
            at
    com.ibm.jtc.jax.tools.ws.wscompile.WsgenTool.run(WsgenTool.java:
    123)
            at
    com.ibm.jtc.jax.tools.ws.util.WSToolsObjectFactoryImpl.wsgen(WST
    oolsObjectFactoryImpl.java:61)
            at
    com.ibm.jtc.jax.tools.ws.spi.WSToolsObjectFactory.wsgen(WSToolsO
    bjectFactory.java:107)
            at
    com.ibm.ws.websvcs.wsdl.WASWSDLGenerator.wsgen(WASWSDLGenerator.
    java:572)
            at
    com.ibm.ws.websvcs.wsdl.WASWSDLGenerator.generateWsdl(WASWSDLGen
    erator.java:215)
    ...
    The java.lang.VerifyError occurs due to a change introduced by
    Java APAR IV34135, which is included in IBM Java 7.0 SR4.
    WebSphere Application Server V8.5.5.0 includes Java 7.0 SR5. In
    earlier fix pack levels that include earlier Java SR levels that
    do not include the fix for APAR IV34135, the
    java.lang.VerifyError will not occur under this scenario.
    

Local fix

  • Change the name of the application-provided fault beans to a
    different name than the fault beans that are generated by wsgen,
    or package the WSDL file in the application.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All WebSphere Application Server users of   *
    *                  JAX-WS web services.                        *
    ****************************************************************
    * PROBLEM DESCRIPTION: When deploying an application which     *
    *                      contains a JAX-WS web service but no    *
    *                      WSDL file, "java.lang.VerifyError:      *
    *                      JVMVRFY012 stack shape inconsistent"    *
    *                      error is observed and causes web        *
    *                      service deployment failed.              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The error occurs because if customized fault beans exist, they
    will be overwritten during wsgen invocation.
    

Problem conclusion

  • A new argument, -Xdonotoverwrite is added in wsgen to disable
    fault bean overwrite. Add this new property to allow users to
    enable the argument.
    
    There are two ways to add this property:
    
    1)Edit the module's WebContent/META-INF/MANIFEST.MF file. Add
    the following property
    DisableWSGENClassOverride: true
    2) Or, Set the following JVM property
    com.ibm.websphere.webservices.DisableWSGENClassOverride=true
    
    Default value of both two properties is false.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 8.5.5.3.  Please refer to the Recommended Updates
    page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI15799

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-04-10

  • Closed date

    2014-05-14

  • Last modified date

    2014-05-14

  • 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 APP S

  • Fixed component ID

    5724J0800

Applicable component levels

  • R850 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.5","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
28 April 2022