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] Created: (MIME4J-139) DelegatingFieldParser NPE problem
Date Tue, 03 Nov 2009 09:31:59 GMT
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

We have custom ContentHandlers that extend AbstractContentHandler and add some custom Fields
that extend AbstractField.

We were getting:

 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

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