Nguyễn Việt Đức created JAMES-3363:
--------------------------------------
Summary: NPE JMAP SetFilter
Key: JAMES-3363
URL: https://issues.apache.org/jira/browse/JAMES-3363
Project: James Server
Issue Type: Bug
Reporter: Nguyễn Việt Đức
A NPE happens when the filter name is unspecified
{code:java}
esn_james | 03:13:06.908 [WARN ] o.a.j.j.d.m.SetFilterMethod - Failed setting
Rules
esn_james | java.lang.NullPointerException: null
esn_james | at java.base/java.util.Objects.requireNonNull(Unknown Source)
esn_james | at java.base/java.util.Optional.<init>(Unknown Source)
esn_james | at java.base/java.util.Optional.of(Unknown Source)
esn_james | at
org.apache.james.jmap.api.filtering.Rule$Builder.name(Rule.java:289)
esn_james | at
org.apache.james.jmap.draft.model.JmapRuleDTO.toRule(JmapRuleDTO.java:178)
esn_james | at
java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
esn_james | at java.base/java.util.Collections$2.tryAdvance(Unknown Source)
esn_james | at java.base/java.util.Collections$2.forEachRemaining(Unknown
Source)
esn_james | at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown
Source)
esn_james | at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
esn_james | at
java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown
Source)
esn_james | at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown
Source)
esn_james | at java.base/java.util.stream.ReferencePipeline.collect(Unknown
Source)
esn_james | at
org.apache.james.jmap.draft.methods.SetFilterMethod.updateFilter(SetFilterMethod.java:147)
esn_james | at
org.apache.james.jmap.draft.methods.SetFilterMethod.process(SetFilterMethod.java:129)
esn_james | at
org.apache.james.jmap.draft.methods.SetFilterMethod.lambda$process$0(SetFilterMethod.java:122)
esn_james | at
org.apache.james.metrics.api.MetricFactory.runPublishingTimerMetricLogP99(MetricFactory.java:46)
esn_james | at
org.apache.james.jmap.draft.methods.SetFilterMethod.process(SetFilterMethod.java:121)
esn_james | at
org.apache.james.jmap.draft.methods.RequestHandler.lambda$extractAndProcess$2(RequestHandler.java:81)
esn_james | at
reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:151)
esn_james | at
reactor.core.publisher.MonoFlatMapMany.subscribeOrReturn(MonoFlatMapMany.java:49)
esn_james | at reactor.core.publisher.Flux.subscribe(Flux.java:8250)
esn_james | at
reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:441)
esn_james | at
reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onNext(FluxConcatMap.java:243)
esn_james | at
reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114)
esn_james | at
reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114)
esn_james | at
reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2274)
esn_james | at
reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onSubscribeInner(MonoFlatMapMany.java:143)
esn_james | at
reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onNext(MonoFlatMapMany.java:182)
esn_james | at
reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114)
esn_james | at
reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:112)
esn_james | at
reactor.core.publisher.FluxMap$MapConditionalSubscriber.onNext(FluxMap.java:213)
esn_james | at
reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onNext(FluxDoFinally.java:123)
esn_james | at
reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onNext(FluxHandleFuseable.java:178)
esn_james | at
reactor.core.publisher.FluxContextStart$ContextStartSubscriber.onNext(FluxContextStart.java:103)
esn_james | at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1712)
esn_james | at
reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onComplete(MonoCollectList.java:121)
esn_james | at
reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:252)
esn_james | at
reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:136)
esn_james | at
reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:421)
esn_james | at
reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:211)
esn_james | at
reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:369)
esn_james | at
reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:367)
esn_james | at
reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:489)
esn_james | at
reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:90)
esn_james | at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
esn_james | at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
esn_james | at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
esn_james | at
reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:214)
esn_james | at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
esn_james | at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
esn_james | at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
esn_james | at
io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
esn_james | at
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:321)
esn_james | at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:295)
esn_james | at
io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
esn_james | at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
esn_james | at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
esn_james | at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
esn_james | at
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
esn_james | at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
esn_james | at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
esn_james | at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
esn_james | at
io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792)
esn_james | at
io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe$1.run(AbstractEpollChannel.java:387)
esn_james | at
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
esn_james | at
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
esn_james | at
io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384)
esn_james | at
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
esn_james | at
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
esn_james | at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
esn_james | at java.base/java.lang.Thread.run(Unknown Source)
File 1 of 1
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]