[ 
https://issues.apache.org/jira/browse/UIMA-5425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian updated UIMA-5425:
----------------------------
    Description: 
I've created a rule that's able to crash the rule execution

{quote}
TYPESYSTEM BasicTypeSystem;

DECLARE Test;
DECLARE Cap;

(CW) {-> Cap};

(Cap{\-IS(SW)})*? CW {-> Test};
{quote}

That looks for me like an endless loop:

{quote}
        at 
org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
{quote}

  was:
I've created a rule that's able to crash the rule execution

{quote}
TYPESYSTEM BasicTypeSystem;

DECLARE Test;
DECLARE Cap;

(CW) {-> Cap};

(Cap{ - IS(SW)})*? CW {-> Test};
{quote}

That looks for me like an endless loop:

{quote}
        at 
org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
        at 
org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
        at 
org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
{quote}


> Rule crashes RUTA execution
> ---------------------------
>
>                 Key: UIMA-5425
>                 URL: https://issues.apache.org/jira/browse/UIMA-5425
>             Project: UIMA
>          Issue Type: Bug
>    Affects Versions: 2.3.1ruta
>            Reporter: Christian
>
> I've created a rule that's able to crash the rule execution
> {quote}
> TYPESYSTEM BasicTypeSystem;
> DECLARE Test;
> DECLARE Cap;
> (CW) {-> Cap};
> (Cap{\-IS(SW)})*? CW {-> Test};
> {quote}
> That looks for me like an endless loop:
> {quote}
>       at 
> org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
>       at 
> org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
>       at 
> org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
>       at 
> org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
>       at 
> org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
>       at 
> org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
>       at 
> org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
>       at 
> org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
>       at 
> org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
>       at 
> org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
>       at 
> org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
>       at 
> org.apache.uima.ruta.rule.RutaRuleElement.continueMatch(RutaRuleElement.java:214)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.continueMatch(ComposedRuleElement.java:193)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.continueOwnMatch(ComposedRuleElement.java:366)
>       at 
> org.apache.uima.ruta.rule.ComposedRuleElement.fallbackContinue(ComposedRuleElement.java:442)
>       at 
> org.apache.uima.ruta.rule.RutaRuleElement.stepbackMatch(RutaRuleElement.java:283)
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to