james-mime4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrzej Rusin (JIRA)" <mime4j-...@james.apache.org>
Subject [jira] Commented: (MIME4J-139) DelegatingFieldParser NPE problem
Date Wed, 04 Nov 2009 07:03:32 GMT

    [ https://issues.apache.org/jira/browse/MIME4J-139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12773397#action_12773397

Andrzej Rusin commented on MIME4J-139:

@Markus: my friend had very similar problems on JRE 6 Update 16 when he was creating our custom
Handlers and Fields. 
My target env is still .11, so even if I upgrade on local and it helps, the problem will persist
in the target env.

@Stefano: I think you are right.

Another hint which may or may not be helpful: I am running on local from inside Eclipse, so
it may or may not be a classloader problem.

But, if only the fields staticness is consistent, the problem disappears.

> 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
>            Priority: Minor
>   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.

View raw message