[rules-users] org.drools.compiler.DroolsParserException while adding Package from DRL

ssprick s.sprick at tiq-solutions.de
Tue Nov 22 04:46:10 EST 2011


Hello,

let me give you some context at first:
I'm trying to update my drools engine and guvnor from 5.1M1 to 5.3Final.

I exported my existing rules package via Guvnor 5.1 GUI into xml and
imported it back into a fresh Guvnor 5.3. The package content looks fine in
Guvnor and a package binary can be built successfully.

Now something strange happens:
5.1 engine - 5.1 guvnor --> works fine
5.1 engine - 5.3 guvnor --> works fine
5.3 engine - 5.3 guvnor --> fail

(5.3 engine - 5.1 guvnor --> not tested yet)

Let's assume the case "5.3 engine - 5.3 guvnor":
At first all I got was an unexpected global exception -- the globals aren't
added to the rulebase while reading the package. So the system is right
throwing that exception.

But why aren't they added? I figured out that there were millions of errors
while parsing the URL rule package from DRL. 
So many errors, that the parser itself gets into an unhandled state and
throws the exception mentioned below.

To mention that:
I retried the same scenario with an empty package, even without any fact
model inserted but got the same error while parsing the package during
creation of a knowledge session.


My questions is:
Why does the old 5.1 engine just do well with the package from the new 5.3
Guvnor while the new 5.3 engine fails?

As I see it, the binary package creation by the guvnor has to be correct
otherwise the old engine would fail too.

I appreciate any help on resolving if there is anything wrong on my side or
if it is a real error in the parser code as the exception intends. Thank
you!

url: http://127.0.0.1:8181/drools-guvnor/rest/packages/defaultPackage/binary
java.lang.IndexOutOfBoundsException: Index: 23, Size: 23
	at java.util.ArrayList.RangeCheck(Unknown Source)
	at java.util.ArrayList.get(Unknown Source)
	at org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:103)
	at org.drools.lang.ParserHelper.reportError(ParserHelper.java:386)
	at org.drools.lang.DRLParser.compilationUnit(DRLParser.java:182)
	at org.drools.compiler.DrlParser.compile(DrlParser.java:225)
	at org.drools.compiler.DrlParser.parse(DrlParser.java:136)
	at org.drools.compiler.DrlParser.parse(DrlParser.java:141)
	at
org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:394)
	at
org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:586)
	at
org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:37)
	at
de.tiq.rules.drools.DrlUrlRuleResource.getKnowledgePackages(DrlUrlRuleResource.java:77)
	at
de.tiq.rules.drools.DroolsEngine.createKnowledgeBase(DroolsEngine.java:264)
	at de.tiq.rules.drools.DroolsEngine.run(DroolsEngine.java:95)
	at de.tiq.rules.TIQRulesEngine.executeRuleResource(TIQRulesEngine.java:178)
	at de.tiq.quartz.QuartzTaskExecutor.execute(QuartzTaskExecutor.java:173)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
	at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
ERROR JobRunShell - Job TIQRULES_PROJECT4.TIQRULES_PROJECT4 threw an
unhandled Exception: 
java.lang.RuntimeException: org.drools.compiler.DroolsParserException:
Unexpected exception raised while parsing. This is a bug. Please contact the
Development team :
Index: 23, Size: 23
	at
org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:692)
	at
org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:37)
	at
de.tiq.rules.drools.DrlUrlRuleResource.getKnowledgePackages(DrlUrlRuleResource.java:77)
	at
de.tiq.rules.drools.DroolsEngine.createKnowledgeBase(DroolsEngine.java:264)
	at de.tiq.rules.drools.DroolsEngine.run(DroolsEngine.java:95)
	at de.tiq.rules.TIQRulesEngine.executeRuleResource(TIQRulesEngine.java:178)
	at de.tiq.quartz.QuartzTaskExecutor.execute(QuartzTaskExecutor.java:173)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
	at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
Caused by: org.drools.compiler.DroolsParserException: Unexpected exception
raised while parsing. This is a bug. Please contact the Development team :
Index: 23, Size: 23
	at org.drools.compiler.DrlParser.compile(DrlParser.java:242)
	at org.drools.compiler.DrlParser.parse(DrlParser.java:136)
	at org.drools.compiler.DrlParser.parse(DrlParser.java:141)
	at
org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:394)
	at
org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:586)
	... 8 more
ERROR ErrorLogger - Job (TIQRULES_PROJECT4.TIQRULES_PROJECT4 threw an
exception.
org.quartz.SchedulerException: Job threw an unhandled exception. [See nested
exception: java.lang.RuntimeException:
org.drools.compiler.DroolsParserException: Unexpected exception raised while
parsing. This is a bug. Please contact the Development team :
Index: 23, Size: 23]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:210)
	at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
Caused by: java.lang.RuntimeException:
org.drools.compiler.DroolsParserException: Unexpected exception raised while
parsing. This is a bug. Please contact the Development team :
Index: 23, Size: 23
	at
org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:692)
	at
org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:37)
	at
de.tiq.rules.drools.DrlUrlRuleResource.getKnowledgePackages(DrlUrlRuleResource.java:77)
	at
de.tiq.rules.drools.DroolsEngine.createKnowledgeBase(DroolsEngine.java:264)
	at de.tiq.rules.drools.DroolsEngine.run(DroolsEngine.java:95)
	at de.tiq.rules.TIQRulesEngine.executeRuleResource(TIQRulesEngine.java:178)
	at de.tiq.quartz.QuartzTaskExecutor.execute(QuartzTaskExecutor.java:173)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
	... 1 more
Caused by: org.drools.compiler.DroolsParserException: Unexpected exception
raised while parsing. This is a bug. Please contact the Development team :
Index: 23, Size: 23
	at org.drools.compiler.DrlParser.compile(DrlParser.java:242)
	at org.drools.compiler.DrlParser.parse(DrlParser.java:136)
	at org.drools.compiler.DrlParser.parse(DrlParser.java:141)
	at
org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:394)
	at
org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:586)
	... 8 more
applicationinstance: de.tiq.web.Application at 312737
StatusProcessor: de.tiq.quartz.monitoring.StatusProcessor at 1059849

--
View this message in context: http://drools.46999.n3.nabble.com/org-drools-compiler-DroolsParserException-while-adding-Package-from-DRL-tp3527243p3527243.html
Sent from the Drools: User forum mailing list archive at Nabble.com.



More information about the rules-users mailing list