Bug 1310981 - LinkageError in org.mvel2.ParserConfiguration
LinkageError in org.mvel2.ParserConfiguration
Status: VERIFIED
Product: JBoss BPMS Platform 6
Classification: JBoss
Component: BRE (Show other bugs)
6.2.0
Unspecified Unspecified
high Severity unspecified
: ER2
: 6.3.0
Assigned To: Mario Fusco
Tibor Zimanyi
:
Depends On:
Blocks: 1321281
  Show dependency treegraph
 
Reported: 2016-02-23 01:19 EST by Lyle Wang
Modified: 2016-04-06 06:49 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1321281 (view as bug list)
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Lyle Wang 2016-02-23 01:19:35 EST
Created attachment 1129610 [details]
Example log showing the error on drools 6.0.3

Description of problem:

The "java.lang.LinkageError" is not captured and rule compilation fails when "Bar.class" exists in classpath and an identifier "bar" is used in the rule. This only happens on case-preserving but case-insensitive systems (Mac or Windows.)

Very similar to "MVEL-43":
http://web.archive.org/web/20150516202621/http://jira.codehaus.org/browse/MVEL-43


Version-Release number of selected component (if applicable):
mvel2-2.2.7.Final-redhat-1


How reproducible:
Always


Steps to Reproduce:
1. have a rule using an identifier "bar" in any expression , for example, "abc.bar=Bar.XYZ"
2. package this rule in a war, and dependency Bar.class is packaged in an exploded folder under "WEB-INF/lib/" (Bar.class is not packaged in a jar archive)
3. deploy this war in EAP 6 on Mac machine.


Actual results:
NoClassDefFoundError is wrapped in  java.lang.LinkageError which is not captured, hence rule compilation fails.

Expected results:
no exception :)


Additional info:

This code change captures "Throwable" instead which fixes MVEL-43:
https://github.com/codehaus/mvel/commit/90dc86c2aa528d06f7fc2670346fde2f7689b787

However that's for "org/mvel/ParserContext.java"


For BRMS 6.2 which uses "mvel2-2.2.7.Final-redhat-1", the "LinkageError" still got thrown / un-handled.
http://grepcode.com/file/repository.jboss.org/nexus/content/repositories/releases/org.mvel/mvel2/2.2.6.Final/org/mvel2/ParserConfiguration.java#172
Comment 3 Tibor Zimanyi 2016-04-06 06:49:01 EDT
Cannot reproduce this issue. However verifying this. The new mvel with Mario's fix is part of the build.

Note You need to log in before you can comment on or make changes to this bug.