[ 
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]

Reply via email to