[
https://issues.apache.org/jira/browse/JAMES-3477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17254935#comment-17254935
]
ASF GitHub Bot commented on JAMES-3477:
---------------------------------------
chibenwa commented on pull request #281:
URL: https://github.com/apache/james-project/pull/281#issuecomment-751309668
BTW this morning in the logs...
```
{
"_index": "fluentbit-james-2020.12.23",
"_type": "docker",
"_id": "TJFTj3YBdqSpI3q1b9tM",
"_score": 1,
"_source": {
"@timestamp": "2020-12-23T11:19:35.980Z",
"timestamp": "2020-12-23T11:19:35.980Z",
"level": "ERROR",
"thread": "elastic-4415",
"logger": "org.apache.james.mailetcontainer.impl.JamesMailSpooler",
"message": "Could not apply standard error handling for
bc947010-4510-11eb-a696-31d91ae7ef70, defaulting to nack",
"context": "default",
"exception": "java.lang.NullPointerException: null\n\tat
org.apache.james.blob.mail.MimeMessageStore$MimeMessageEncoder.messageToArray(MimeMessageStore.java:90)\n\tat
org.apache.james.blob.mail.MimeMessageStore$MimeMessageEncoder.encode(MimeMessageStore.java:76)\n\tat
org.apache.james.blob.mail.MimeMessageStore$MimeMessageEncoder.encode(MimeMessageStore.java:72)\n\tat
org.apache.james.blob.api.Store$Impl.save(Store.java:84)\n\tat
org.apache.james.queue.rabbitmq.Enqueuer.saveMail(Enqueuer.java:89)\n\tat
org.apache.james.queue.rabbitmq.Enqueuer.enQueue(Enqueuer.java:72)\n\tat
org.apache.james.queue.rabbitmq.RabbitMQMailQueue.lambda$enQueue$0(RabbitMQMailQueue.java:85)\n\tat
com.github.fge.lambdas.runnable.RunnableChainer.lambda$sneakyThrow$215(RunnableChainer.java:71)\n\tat
org.apache.james.metrics.api.MetricFactory.lambda$runPublishingTimerMetric$0(MetricFactory.java:58)\n\tat
org.apache.james.metrics.api.MetricFactory.decorateSupplierWithTimerMetric(MetricFactory.java:37)\n\tat
org.apache.james.metrics.api.MetricFactory.runPublishingTimerMetric(MetricFactory.java:57)\n\tat
org.apache.james.queue.rabbitmq.RabbitMQMailQueue.enQueue(RabbitMQMailQueue.java:84)\n\tat
org.apache.james.mailetcontainer.impl.JamesMailSpooler.reEnqueue(JamesMailSpooler.java:199)\n\tat
org.apache.james.mailetcontainer.impl.JamesMailSpooler.handleError(JamesMailSpooler.java:181)\n\tat
org.apache.james.mailetcontainer.impl.JamesMailSpooler.performProcessMail(JamesMailSpooler.java:166)\n\tat
org.apache.james.mailetcontainer.impl.JamesMailSpooler.lambda$processMail$6(JamesMailSpooler.java:152)\n\tat
reactor.core.publisher.MonoRunnable.subscribe(MonoRunnable.java:49)\n\tat
reactor.core.publisher.MonoUsing.subscribe(MonoUsing.java:109)\n\tat
reactor.core.publisher.Mono.subscribe(Mono.java:4210)\n\tat
reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:199)\n\tat
reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53)\n\tat
reactor.core.publisher.Mono.subscribe(Mono.java:4195)\n\tat
reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.run(MonoSubscribeOn.java:124)\n\tat
reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)\n\tat
reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)\n\tat
java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown
Source)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\n",
"log":
"{\"timestamp\":\"2020-12-23T11:19:35.980Z\",\"level\":\"ERROR\",\"thread\":\"elastic-4415\",\"logger\":\"org.apache.james.mailetcontainer.impl.JamesMailSpooler\",\"message\":\"Could
not apply standard error handling for bc947010-4510-11eb-a696-31d91ae7ef70,
defaulting to
nack\",\"context\":\"default\",\"exception\":\"java.lang.NullPointerException:
null\\n\\tat
org.apache.james.blob.mail.MimeMessageStore$MimeMessageEncoder.messageToArray(MimeMessageStore.java:90)\\n\\tat
org.apache.james.blob.mail.MimeMessageStore$MimeMessageEncoder.encode(MimeMessageStore.java:76)\\n\\tat
org.apache.james.blob.mail.MimeMessageStore$MimeMessageEncoder.encode(MimeMessageStore.java:72)\\n\\tat
org.apache.james.blob.api.Store$Impl.save(Store.java:84)\\n\\tat
org.apache.james.queue.rabbitmq.Enqueuer.saveMail(Enqueuer.java:89)\\n\\tat
org.apache.james.queue.rabbitmq.Enqueuer.enQueue(Enqueuer.java:72)\\n\\tat
org.apache.james.queue.rabbitmq.RabbitMQMailQueue.lambda$enQueue$0(RabbitMQMailQueue.java:85)\\n\\tat
com.github.fge.lambdas.runnable.RunnableChainer.lambda$sneakyThrow$215(RunnableChainer.java:71)\\n\\tat
org.apache.james.metrics.api.MetricFactory.lambda$runPublishingTimerMetric$0(MetricFactory.java:58)\\n\\tat
org.apache.james.metrics.api.MetricFactory.decorateSupplierWithTimerMetric(MetricFactory.java:37)\\n\\tat
org.apache.james.metrics.api.MetricFactory.runPublishingTimerMetric(MetricFactory.java:57)\\n\\tat
org.apache.james.queue.rabbitmq.RabbitMQMailQueue.enQueue(RabbitMQMailQueue.java:84)\\n\\tat
org.apache.james.mailetcontainer.impl.JamesMailSpooler.reEnqueue(JamesMailSpooler.java:199)\\n\\tat
org.apache.james.mailetcontainer.impl.JamesMailSpooler.handleError(JamesMailSpooler.java:181)\\n\\tat
org.apache.james.mailetcontainer.impl.JamesMailSpooler.performProcessMail(JamesMailSpooler.java:166)\\n\\tat
org.apache.james.mailetcontainer.impl.JamesMailSpooler.lambda$processMail$6(JamesMailSpooler.java:152)\\n\\tat
reactor.core.publisher.MonoRunnable.subscribe(MonoRunnable.java:49)\\n\\tat
reactor.core.publisher.MonoUsing.subscribe(MonoUsing.java:109)\\n\\tat
reactor.core.publisher.Mono.subscribe(Mono.java:4210)\\n\\tat
reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:199)\\n\\tat
reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53)\\n\\tat
reactor.core.publisher.Mono.subscribe(Mono.java:4195)\\n\\tat
reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.run(MonoSubscribeOn.java:124)\\n\\tat
reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)\\n\\tat
reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)\\n\\tat
java.base/java.util.concurrent.FutureTask.run(Unknown Source)\\n\\tat
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown
Source)\\n\\tat
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source)\\n\\tat
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)\\n\\tat java.base/java.lang.Thread.run(Unknown Source)\\n\"}\n",
"stream": "stdout",
"time": "2020-12-23T11:19:35.981461976Z"
},
"fields": {
"@timestamp": [
"2020-12-23T11:19:35.980Z"
],
"time": [
"2020-12-23T11:19:35.981Z"
],
"timestamp": [
"2020-12-23T11:19:35.980Z"
]
}
}
```
Merry Xmas ;-)
NPE upon mail processing => sounds fishy to me. It's so bad that we could
not even save that message into a mailrepository, nor send in back to the
queue... As if the content had been corrupted! :-(
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> MimeMessageCopyOnWriteProxy is not thread safe
> ----------------------------------------------
>
> Key: JAMES-3477
> URL: https://issues.apache.org/jira/browse/JAMES-3477
> Project: James Server
> Issue Type: Wish
> Reporter: Benoit Tellier
> Priority: Major
>
> https://www.mail-archive.com/[email protected]/msg69221.html
> &
> https://github.com/jeantil/james-project/commit/c0354ea21c5b0a8f6d46e9919f7db0d97db9eb23
> proves there is a concurrency issue in MimeMessageCopyOnWriteProxy class that
> we need to investigate.
> It causes our test suite to be flacky.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]