james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raphaël Ouazana (JIRA) <server-...@james.apache.org>
Subject [jira] [Closed] (JAMES-1861) Sometimes JMAP fail to parse message containing lines with more than 1000 characters
Date Fri, 18 Nov 2016 09:51:00 GMT

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

Raphaël Ouazana closed JAMES-1861.
----------------------------------
    Resolution: Fixed

merged

> Sometimes JMAP fail to parse message containing lines with more than 1000 characters
> ------------------------------------------------------------------------------------
>
>                 Key: JAMES-1861
>                 URL: https://issues.apache.org/jira/browse/JAMES-1861
>             Project: James Server
>          Issue Type: Bug
>          Components: JMAP
>            Reporter: Raphaël Ouazana
>            Assignee: Antoine Duprat
>
> Here is the stack trace:
> [WARN ] o.e.j.s.ServletHandler - /jmap
> org.apache.james.mime4j.io.MaxLineLimitException: Maximum line length
> limit (1000) exceeded
>     at
> org.apache.james.mime4j.io.BufferedLineReaderInputStream.readLine(BufferedLineReaderInputStream.java:218)
>     at
> org.apache.james.mime4j.io.LineReaderInputStreamAdaptor.readLine(LineReaderInputStreamAdaptor.java:78)
>     at
> org.apache.james.mime4j.stream.MimeEntity.readRawField(MimeEntity.java:215)
>     ... 72 common frames omitted
> Wrapped by: org.apache.james.mime4j.MimeException:
> org.apache.james.mime4j.io.MaxLineLimitException: Maximum line length
> limit (1000) exceeded
>     at
> org.apache.james.mime4j.stream.MimeEntity.readRawField(MimeEntity.java:242)
>     at
> org.apache.james.mime4j.stream.MimeEntity.nextField(MimeEntity.java:258)
>     at
> org.apache.james.mime4j.stream.MimeEntity.advance(MimeEntity.java:296)
>     at
> org.apache.james.mime4j.stream.MimeTokenStream.next(MimeTokenStream.java:368)
>     at
> org.apache.james.mime4j.parser.MimeStreamParser.parse(MimeStreamParser.java:176)
>     at
> org.apache.james.mime4j.message.MessageBuilder.parse(MessageBuilder.java:911)
>     ... 67 common frames omitted
> Wrapped by: org.apache.james.mime4j.MimeIOException:
> org.apache.james.mime4j.io.MaxLineLimitException: Maximum line length
> limit (1000) exceeded
>     at
> org.apache.james.mime4j.message.MessageBuilder.parse(MessageBuilder.java:913)
>     at
> org.apache.james.mime4j.message.MessageBuilder.read(MessageBuilder.java:88)
>     at
> org.apache.james.jmap.model.MessageFactory.parse(MessageFactory.java:104)
>     ... 65 common frames omitted
> Wrapped by: org.apache.james.mailbox.exception.MailboxException: Unable
> to parse message: org.apache.james.mime4j.io.MaxLineLimitException:
> Maximum line length limit (1000) exceeded
>     at
> org.apache.james.jmap.model.MessageFactory.parse(MessageFactory.java:108)
>     at
> org.apache.james.jmap.model.MessageFactory.fromMetaDataWithContent(MessageFactory.java:73)
>     at
> com.github.fge.lambdas.functions.FunctionChainer.lambda$sneakyThrow$49(FunctionChainer.java:74)
>     at
> java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
>     at
> java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
>     at
> java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
>     at
> java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
>     at
> java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
>     at
> java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
>     at java.util.Iterator.forEachRemaining(Iterator.java:116)
>     at
> java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
>     at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
>     at
> java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
>     at
> java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
>     at
> java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
>     at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>     at
> java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
>     at
> java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:270)
>     at java.util.Iterator.forEachRemaining(Iterator.java:116)
>     at
> java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
>     at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
>     at
> java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
>     at
> java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
>     at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>     at
> java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
>     at
> org.apache.james.jmap.methods.GetMessagesMethod.getMessagesResponse(GetMessagesMethod.java:118)
>     at
> org.apache.james.jmap.methods.GetMessagesMethod.process(GetMessagesMethod.java:91)
>     at
> org.apache.james.jmap.methods.RequestHandler.lambda$extractAndProcess$1(RequestHandler.java:67)
>     at java.util.Optional.map(Optional.java:215)
>     at
> org.apache.james.jmap.methods.RequestHandler.handle(RequestHandler.java:57)
>     at
> java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:267)
>     at
> java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
>     at
> java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
>     at
> java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
>     at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
>     at
> java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
>     at
> java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
>     at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>     at
> java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
>     at org.apache.james.jmap.JMAPServlet.doPost(JMAPServlet.java:71)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
>     at
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:821)
>     at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1685)
>     at
> org.apache.james.jmap.FirstUserConnectionFilter.doFilter(FirstUserConnectionFilter.java:71)
>     at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
>     at
> org.apache.james.jmap.AuthenticationFilter.doFilter(AuthenticationFilter.java:75)
>     at
> org.apache.james.jmap.BypassAuthOnRequestMethod.tryAuth(BypassAuthOnRequestMethod.java:115)
>     at
> org.apache.james.jmap.BypassAuthOnRequestMethod.doFilter(BypassAuthOnRequestMethod.java:97)
>     at
> org.apache.james.jmap.AllowAllCrossOriginRequests.doFilter(AllowAllCrossOriginRequests.java:46)
>     at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
>     at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
>     at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:513)
>     at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>     at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
>     at org.eclipse.jetty.server.Server.handle(Server.java:517)
>     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:306)
>     at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:242)
>     at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:261)
>     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>     at
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75)
>     at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:213)
>     at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:147)
>     at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
>     at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>     at java.lang.Thread.run(Thread.java:745)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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


Mime
View raw message