Benoit Tellier created JAMES-3176:
-------------------------------------

             Summary: MDN parser instantiation via parboiled fails
                 Key: JAMES-3176
                 URL: https://issues.apache.org/jira/browse/JAMES-3176
             Project: James Server
          Issue Type: Improvement
          Components: Mailet Contributions, mdn
    Affects Versions: 3.5.0
            Reporter: Benoit Tellier
             Fix For: 3.6.0


Upon execution of ExtractMDNOriginalJMAPMessageId & Vacation mailet we 
encounter the following exceptions:

{code:java}
java.lang.RuntimeException: Error creating extended parser class: null
        at org.parboiled.Parboiled.createParser(Parboiled.java:58)
        at org.apache.james.mdn.MDNReportParser.parse(MDNReportParser.java:57)
        at org.apache.james.mdn.MDNReportParser.parse(MDNReportParser.java:53)
        at 
org.apache.james.jmap.mailet.ExtractMDNOriginalJMAPMessageId.parseReport(ExtractMDNOriginalJMAPMessageId.java:120)
[...]
Caused by: java.lang.IllegalArgumentException: null
        at org.objectweb.asm.ClassVisitor.<init>(Unknown Source)
        at org.objectweb.asm.ClassVisitor.<init>(Unknown Source)
        at org.objectweb.asm.tree.ClassNode.<init>(Unknown Source)
        at 
org.parboiled.transform.ParserClassNode.<init>(ParserClassNode.java:43)
        at 
org.parboiled.transform.ParserTransformer.extendParserClass(ParserTransformer.java:43)
        at 
org.parboiled.transform.ParserTransformer.transformParser(ParserTransformer.java:39)
        at org.parboiled.Parboiled.createParser(Parboiled.java:54)
{code}

Code inspection did not allow me to identify the route cause of the failure due 
to some heavy reflection dark magic taking place.

However instantiation of the parser was performed via reflection upon each MDN
parsing.

Given that a parser only defines a set of rules, and is thus immutable, 
we can turn it into a constant, effectively solving our problem ?




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to