[
https://issues.apache.org/jira/browse/JAMES-4037?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17848698#comment-17848698
]
Benoit Tellier commented on JAMES-4037:
---------------------------------------
Ok I reproduced:
{code:java}
t1 LIST "" % RETURN (STATUS (APPENDLIMIT))
* LIST (\HasNoChildren) "." "INBOX"
t1 NO LIST processing failed.
{code}
Note that APPENDLIMIT for status item works OK:
{code:java}
a1 STATUS INBOX (APPENDLIMIT)
* STATUS "INBOX" (APPENDLIMIT NIL)
a1 OK STATUS completed.
{code}
Thanks for the report. I will fix that tomorrow.
As of today you can work around those bugs by specifying the disabedCaps IMAP
configuration setting to "hide" those buggy capabilities to your clients.
CF
https://github.com/apache/james-project/blob/32d09f9ec590f5bbde46aff634fc73fec282cd55/server/apps/distributed-app/docs/modules/ROOT/pages/configure/imap.adoc?plain=1#L81
> Errors during connect or sync through IMAP
> ------------------------------------------
>
> Key: JAMES-4037
> URL: https://issues.apache.org/jira/browse/JAMES-4037
> Project: James Server
> Issue Type: Bug
> Components: James Core
> Affects Versions: 3.8.1
> Environment: Apache James Guice and Spring 3.8.1, both windows 10 and
> debian 11, Oracle JDK 21
> Reporter: ilya terskov
> Priority: Major
> Labels: AbstractMailboxProcessor, IMAP, James, MailboxTyper,
> imap.processor, mailbox
> Time Spent: 20m
> Remaining Estimate: 0h
>
> 22-May-2024 03:56:58.938 ERROR [parallel-1]
> org.apache.james.imap.processor.AbstractMailboxProcessor.lambda$doProcess$1:105
> - Unexpected error during IMAP processing
> java.lang.NullPointerException: Cannot invoke
> "org.apache.james.imap.api.process.MailboxTyper.getMailboxType(org.apache.james.imap.api.process.ImapSession,
> org.apache.james.mailbox.model.MailboxPath)" because "this.mailboxTyper" is
> null
> at
> org.apache.james.imap.processor.ListProcessor.getMailboxType(ListProcessor.java:376)
> ~[protocols-imap-3.8.1.jar:3.8.1]
> at
> org.apache.james.imap.processor.ListProcessor.lambda$processWithoutSubscribed$9(ListProcessor.java:218)
> ~[protocols-imap-3.8.1.jar:3.8.1]
> at
> reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:196)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:453)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:724)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onNext(FluxFlattenIterable.java:256)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:210)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2071)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onComplete(MonoCollectList.java:118)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onComplete(MonoFlatMapMany.java:260)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onComplete(FluxFilterFuseable.java:171)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.fastPath(FluxIterable.java:755)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:620)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onSubscribeInner(MonoFlatMapMany.java:150)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onSubscribe(MonoFlatMapMany.java:245)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at reactor.core.publisher.Flux.subscribe(Flux.java:8660)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onNext(MonoFlatMapMany.java:195)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.MonoPublishOn$PublishOnSubscriber.run(MonoPublishOn.java:181)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
> ~[?:?]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
> ~[?:?]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
> ~[?:?]
> at java.lang.Thread.run(Thread.java:1583) ~[?:?]
> 22-May-2024 03:56:59.021 INFO [imapserver-ssl-io-14]
> org.apache.james.imap.processor.IdProcessor.lambda$processRequestReactive$0:55
> - Received id information
> 22-May-2024 03:57:02.951 ERROR [parallel-3]
> org.apache.james.imap.processor.AbstractMailboxProcessor.lambda$doProcess$1:105
> - Unexpected error during IMAP processing
> java.lang.NullPointerException: Cannot invoke
> "org.apache.james.imap.api.process.MailboxTyper.getMailboxType(org.apache.james.imap.api.process.ImapSession,
> org.apache.james.mailbox.model.MailboxPath)" because "this.mailboxTyper" is
> null
> at
> org.apache.james.imap.processor.ListProcessor.getMailboxType(ListProcessor.java:376)
> ~[protocols-imap-3.8.1.jar:3.8.1]
> at
> org.apache.james.imap.processor.ListProcessor.lambda$processWithoutSubscribed$9(ListProcessor.java:218)
> ~[protocols-imap-3.8.1.jar:3.8.1]
> at
> reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:196)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:453)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:724)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onNext(FluxFlattenIterable.java:256)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:210)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2071)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onComplete(MonoCollectList.java:118)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onComplete(MonoFlatMapMany.java:260)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onComplete(FluxFilterFuseable.java:171)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.fastPath(FluxIterable.java:755)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxIterable$IterableSubscriptionConditional.request(FluxIterable.java:620)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onSubscribeInner(MonoFlatMapMany.java:150)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onSubscribe(MonoFlatMapMany.java:245)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:179)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at reactor.core.publisher.Flux.subscribe(Flux.java:8660)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onNext(MonoFlatMapMany.java:195)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at
> reactor.core.publisher.MonoPublishOn$PublishOnSubscriber.run(MonoPublishOn.java:181)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
> ~[reactor-core-3.5.1.jar:3.5.1]
> at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
> ~[?:?]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
> ~[?:?]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
> ~[?:?]
> at java.lang.Thread.run(Thread.java:1583) ~[?:?]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]