You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mime4j-dev@james.apache.org by "Markus Wiederkehr (JIRA)" <mi...@james.apache.org> on 2009/11/15 21:17:39 UTC

[jira] Resolved: (MIME4J-139) DelegatingFieldParser NPE problem

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

Markus Wiederkehr resolved MIME4J-139.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: 0.7
         Assignee: Markus Wiederkehr

Changed defaultParser into a private static final variable; this should resolve the issue.

> DelegatingFieldParser NPE problem
> ---------------------------------
>
>                 Key: MIME4J-139
>                 URL: https://issues.apache.org/jira/browse/MIME4J-139
>             Project: JAMES Mime4j
>          Issue Type: Bug
>    Affects Versions: 0.6
>         Environment: jre 1.6.11
>            Reporter: Andrzej Rusin
>            Assignee: Markus Wiederkehr
>            Priority: Minor
>             Fix For: 0.7
>
>   Original Estimate: 0.08h
>  Remaining Estimate: 0.08h
>
> We have custom ContentHandlers that extend AbstractContentHandler and add some custom Fields that extend AbstractField.
> We were getting:
> java.lang.NullPointerException
>  at org.apache.james.mime4j.field.DelegatingFieldParser.parse(DelegatingFieldParser.java:51)
>  at org.apache.james.mime4j.field.AbstractField.parse(AbstractField.java:171)
>  at org.apache.james.mime4j.field.AbstractField.parse(AbstractField.java:63)
>  at org.apache.james.mime4j.message.MessageBuilder.field(MessageBuilder.java:101)
>  at org.apache.james.mime4j.parser.MimeStreamParser.parse(MimeStreamParser.java:121)
>  at org.apache.james.mime4j.message.Message.<init>(Message.java:141)
>  at org.apache.james.mime4j.message.Message.<init>(Message.java:100)
> always AFTER the MimeStreamParser got invoked with our content handlers (so, not on our parsing, but eg. later, on normal 
> new Message(InputStream).
> Looked like we are currupting something inside MimeStreamParser.
> Then I noticed that DelegatingFieldParser.defaultParser is defined as:
> private FieldParser defaultParser = UnstructuredField.PARSER;
> while other field parsers have:
> static final FieldParser PARSER = new FieldParser() {...}
> So I changed DelegatingFieldParser.defaultParser to static final  and the NPEs do not occur anymore.
> I do not undestand exactly why this happens, but that are the facts.
> Is there any reason why DelegatingFieldParser.defaultParser can't be static final?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.