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

René Cordier closed JAMES-3363.
-------------------------------
    Fix Version/s: 3.6.0
       Resolution: Fixed

> 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
>            Priority: Major
>             Fix For: 3.6.0
>
>
> 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]

Reply via email to