IBM Support

PI47114: ODR FAILS TO START DUE TO INVALID ROUTING RULE SYNTAX

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When an rule is added to the Rules ODR configuration using
    wsadmin AdminConfig it is possible tha the rule will not pass
    the ODR rule specific parsing that is run during ODR startup
    and cause the ODR to fail to start.  The following FFDC
    exception is generated.  A work-around is to remove the
    offending rule from the system using wsadmin AdminConfig.remove
    once you locate the offending rule.   The details of the
    exception can vary depending upon the parsing error but this is
    an example and will be in the same call stack:
    
    [8/18/15 15:16:42:517 EDT]     FFDC
    Exception:java.lang.Exception
    SourceId:com.ibm.ws.odr.rule.RuleMgrImpl ProbeId:buildRules
    Reporter:com.ibm.ws.odr.rule.RuleMgrImpl@3f1b6056
    java.lang.Exception: Error creating expression for
    cookie$pureappWASCell='test-ing'.
    (EXCM_ERROR_CREATING_EXPRESSION)
      at
    com.ibm.ws.expr.LanguageImpl.createExpression(LanguageImpl.java:
    375)
            at
    com.ibm.ws.expr.LanguageImpl.createBooleanExpression(LanguageImp
    l.java:330)
            at
    com.ibm.ws.expr.LanguageImpl.createBooleanExpression(LanguageImp
    l.java:305)
            at
    com.ibm.ws.expr.RulesImpl.appendRule(RulesImpl.java:42)
            at
    com.ibm.ws.odr.rule.RuleMgrImpl.buildRules(RuleMgrImpl.java:272)
            at
    com.ibm.ws.odr.rule.RuleMgrImpl.buildRules(RuleMgrImpl.java:92)
            at
    com.ibm.ws.odr.rule.RuleMgrImpl.<init>(RuleMgrImpl.java:87)
            at
    com.ibm.ws.odr.OdrManagerImpl.getHttpInstance(OdrManagerImpl.jav
    a:442)
            at
    com.ibm.ws.xd.dwlm.client.HttpRequestClassification.init(HttpReq
    uestClassification.java:126)
            at
    com.ibm.ws.xd.dwlm.client.HttpRequestClassification.<init>(HttpR
    equestCl
    assification.java:98)
            at
    com.ibm.ws.xd.dwlm.client.HttpRequestClassification.getInstance(
    HttpRequestClassification.java:111)
            at
    com.ibm.ws.xd.dwlm.client.XDTargetClusterImpl.<init>(XDTargetClu
    sterImpl.java:97)
            at
    com.ibm.ws.xd.dwlm.client.XDTargetSelectorImpl.createTargetClust
    er(XDTargetSelectorImpl.java:1154)
            at
    com.ibm.ws.xd.dwlm.client.XDTargetSelectorImpl.getTargetCluster(
    XDTargetSelectorImpl.java:1317)
            at
    com.ibm.ws.xd.dwlm.client.XDTargetSelectorImpl.serverStartedRunn
    ingModule(XDTargetSelectorImpl.java:527)
            at
    com.ibm.ws.xd.dwlm.client.BaseTargetServerImpl.addToAllClusters(
    BaseTargetServerImpl.java:56)
            at
    com.ibm.ws.xd.dwlm.client.BaseTargetServerImpl.buildTargetDescri
    ptors(BaseTargetServerImpl.java:115)
            at
    com.ibm.ws.dwlm.client.TargetServerImpl.init(TargetServerImpl.ja
    va:85)
            at
    com.ibm.ws.xd.dwlm.client.BaseTargetSelectorImpl.getServer(BaseT
    argetSelectorImpl.java:253)
            at
    com.ibm.ws.xd.dwlm.client.XDTargetSelectorImpl.handleEvent(XDTar
    getSelectorImpl.java:268)
            at
    com.ibm.ws.odc.nd.ODCTreeImpl.commitTransaction(ODCTreeImpl.java
    :1181)
            at
    com.ibm.ws.odc.nd.ODCTreeImpl.commitTransaction(ODCTreeImpl.java
    :955)
            at
    com.ibm.ws.odc.nd.ODCTreeImpl.performEvents(ODCTreeImpl.java:275
    )
            at
    com.ibm.ws.wsgroup.nd.odc.ODCGroup.performEvents(ODCGroup.java:1
    590)
            at
    com.ibm.ws.wsgroup.nd.odc.ODCGroup.handleGetTreeResponse(ODCGrou
    p.java:1367)
            at
    com.ibm.ws.wsgroup.nd.odc.ODCGroup.consumerOnMessage(ODCGroup.ja
    va:533)
            at
    com.ibm.ws.wsgroup.nd.odc.ODCGroup.processMessage(ODCGroup.java:
    707)
            at
    com.ibm.ws.wsgroup.nd.odc.ODCGroup.onMessage(ODCGroup.java:664)
            at
    com.ibm.ws.wsgroup.WsGroup.deliverMessage(WsGroup.java:219)
            at
    com.ibm.ws.wsgroup.bb.CombinedGroup.onP2PMessage(CombinedGroup.j
    ava:294)
            at
    com.ibm.ws.wsgroup.bb.CombinedGroup$MyP2PGroupListener.onMessage
    (CombinedGroup.java:449)
            at
    com.ibm.ws.wsgroup.WsGroup.deliverMessage(WsGroup.java:219)
            at
    com.ibm.ws.wsgroup.WsGroup.receiveMessage(WsGroup.java:212)
            at
    com.ibm.ws.wsgroup.WsGroup.receiveMessages(WsGroup.java:194)
            at
    com.ibm.ws.wsgroup.p2p.P2PGroup.calledWhenMessageArrives(P2PGrou
    p.java:209)
            at
    com.ibm.ws.wsgroup.p2p.SonP2PShimImpl$Worker.oneStep(SonP2PShimI
    mpl.java:1347)
            at
    com.ibm.ws.wsgroup.p2p.SonP2PShimImpl$Worker.run(SonP2PShimImpl.
    java:1213)
            at java.lang.Thread.run(Thread.java:784)
    Caused by: java.lang.Exception: The application server was not
    able to reduce the following expression to a single expression:
            (1) cookie --> class
    com.ibm.ws.expr.LanguageImpl$OperandInfo
            (2) 'test-ing' --> class com.ibm.ws.expr.StringLiteral
    (EXCM_UNABLE_TO_REDUCE_EXPRESSION)
            at
    com.ibm.ws.expr.LanguageImpl.getExpression(LanguageImpl.java:603
    )
            at
    com.ibm.ws.expr.LanguageImpl.parse(LanguageImpl.java:541)
            at
    com.ibm.ws.expr.LanguageImpl.createExpression(LanguageImpl.java:
    368)
            ... 37 more
    

Local fix

  • Locate the offending rule and remove it from the system using
    wsadmin AdminConfig.remove command.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of WebSphere Application Server   *
    *                  V8.5 On Demand Router (ODR) that may have   *
    *                  defined invalid rules using AdminConfig     *
    ****************************************************************
    * PROBLEM DESCRIPTION: ODR fails to start with ffdc            *
    *                      java.lang.Exception,                    *
    *                      EXCM_ERROR_CREATING_EXPRESSION          *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When an rule is added to the Rules ODR configuration using
    wsadmin AdminConfig it is possible tha the rule will not pass
    the ODR rule specific parsing that is run during ODR startup
    and cause the ODR to fail to start.  The following FFDC
    exception is generated.  A work-around is to remove the
    offending rule from the system using wsadmin AdminConfig.remove
    once you locate the offending rule.   The details of the
    exception can vary depending upon the parsing error but this is
    an example and will be in the same call stack:
    [8/18/15 15:16:42:517 EDT]     FFDC
    Exception:java.lang.Exception
    SourceId:com.ibm.ws.odr.rule.RuleMgrImpl ProbeId:buildRules
    Reporter:com.ibm.ws.odr.rule.RuleMgrImpl@3f1b6056
    java.lang.Exception: Error creating expression for
    cookie$pureappWASCell='test-ing'.
    (EXCM_ERROR_CREATING_EXPRESSION)
    at
    com.ibm.ws.expr.LanguageImpl.createExpression(LanguageImpl.java:
    375)
    at
    com.ibm.ws.expr.LanguageImpl.createBooleanExpression(LanguageImp
    l.java:330)
    at
    com.ibm.ws.expr.LanguageImpl.createBooleanExpression(LanguageImp
    l.java:305)
    at
    com.ibm.ws.expr.RulesImpl.appendRule(RulesImpl.java:42)
    at
    com.ibm.ws.odr.rule.RuleMgrImpl.buildRules(RuleMgrImpl.java:272)
    at
    com.ibm.ws.odr.rule.RuleMgrImpl.buildRules(RuleMgrImpl.java:92)
    at
    com.ibm.ws.odr.rule.RuleMgrImpl.<init>(RuleMgrImpl.java:87)
    at
    com.ibm.ws.odr.OdrManagerImpl.getHttpInstance(OdrManagerImpl.jav
    a:442)
    at
    com.ibm.ws.xd.dwlm.client.HttpRequestClassification.init(HttpReq
    uestClassification.java:126)
    at
    com.ibm.ws.xd.dwlm.client.HttpRequestClassification.<init>(HttpR
    equestCl
    assification.java:98)
    at
    com.ibm.ws.xd.dwlm.client.HttpRequestClassification.getInstance(
    HttpRequestClassification.java:111)
    at
    com.ibm.ws.xd.dwlm.client.XDTargetClusterImpl.<init>(XDTargetClu
    sterImpl.java:97)
    at
    com.ibm.ws.xd.dwlm.client.XDTargetSelectorImpl.createTargetClust
    er(XDTargetSelectorImpl.java:1154)
    at
    com.ibm.ws.xd.dwlm.client.XDTargetSelectorImpl.getTargetCluster(
    XDTargetSelectorImpl.java:1317)
    at
    com.ibm.ws.xd.dwlm.client.XDTargetSelectorImpl.serverStartedRunn
    ingModule(XDTargetSelectorImpl.java:527)
    at
    com.ibm.ws.xd.dwlm.client.BaseTargetServerImpl.addToAllClusters(
    BaseTargetServerImpl.java:56)
    at
    com.ibm.ws.xd.dwlm.client.BaseTargetServerImpl.buildTargetDescri
    ptors(BaseTargetServerImpl.java:115)
    at
    com.ibm.ws.dwlm.client.TargetServerImpl.init(TargetServerImpl.ja
    va:85)
    at
    com.ibm.ws.xd.dwlm.client.BaseTargetSelectorImpl.getServer(BaseT
    argetSelectorImpl.java:253)
    at
    com.ibm.ws.xd.dwlm.client.XDTargetSelectorImpl.handleEvent(XDTar
    getSelectorImpl.java:268)
    at
    com.ibm.ws.odc.nd.ODCTreeImpl.commitTransaction(ODCTreeImpl.java
    :1181)
    at
    com.ibm.ws.odc.nd.ODCTreeImpl.commitTransaction(ODCTreeImpl.java
    :955)
    at
    com.ibm.ws.odc.nd.ODCTreeImpl.performEvents(ODCTreeImpl.java:275
    )
    at
    com.ibm.ws.wsgroup.nd.odc.ODCGroup.performEvents(ODCGroup.java:1
    590)
    at
    com.ibm.ws.wsgroup.nd.odc.ODCGroup.handleGetTreeResponse(ODCGrou
    p.java:1367)
    at
    com.ibm.ws.wsgroup.nd.odc.ODCGroup.consumerOnMessage(ODCGroup.ja
    va:533)
    at
    com.ibm.ws.wsgroup.nd.odc.ODCGroup.processMessage(ODCGroup.java:
    707)
    at
    com.ibm.ws.wsgroup.nd.odc.ODCGroup.onMessage(ODCGroup.java:664)
    at
    com.ibm.ws.wsgroup.WsGroup.deliverMessage(WsGroup.java:219)
    at
    com.ibm.ws.wsgroup.bb.CombinedGroup.onP2PMessage(CombinedGroup.j
    ava:294)
    at
    com.ibm.ws.wsgroup.bb.CombinedGroup$MyP2PGroupListener.onMessage
    (CombinedGroup.java:449)
    at
    com.ibm.ws.wsgroup.WsGroup.deliverMessage(WsGroup.java:219)
    at
    com.ibm.ws.wsgroup.WsGroup.receiveMessage(WsGroup.java:212)
    at
    com.ibm.ws.wsgroup.WsGroup.receiveMessages(WsGroup.java:194)
    at
    com.ibm.ws.wsgroup.p2p.P2PGroup.calledWhenMessageArrives(P2PGrou
    p.java:209)
    at
    com.ibm.ws.wsgroup.p2p.SonP2PShimImpl$Worker.oneStep(SonP2PShimI
    mpl.java:1347)
    at
    com.ibm.ws.wsgroup.p2p.SonP2PShimImpl$Worker.run(SonP2PShimImpl.
    java:1213)
    at java.lang.Thread.run(Thread.java:784)
    Caused by: java.lang.Exception: The application server was not
    able to reduce the following expression to a single expression:
    (1) cookie --> class
    com.ibm.ws.expr.LanguageImpl$OperandInfo
    (2) 'test-ing' --> class com.ibm.ws.expr.StringLiteral
    (EXCM_UNABLE_TO_REDUCE_EXPRESSION)
    at
    com.ibm.ws.expr.LanguageImpl.getExpression(LanguageImpl.java:603
    )
    at
    com.ibm.ws.expr.LanguageImpl.parse(LanguageImpl.java:541)
    at
    com.ibm.ws.expr.LanguageImpl.createExpression(LanguageImpl.java:
    368)
    ... 37 more
    

Problem conclusion

  • The fix is to catch the exception and log trace messages
    concerning the error. The user can then correct or delete the
    rule in error using the Administration Console or wsadmin
    commands.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 8.5.5.8.  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

    PI47114

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-08-18

  • Closed date

    2015-10-22

  • Last modified date

    2015-10-22

  • 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

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

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:
27 April 2022