wanwenq33 opened a new issue, #13814:
URL: https://github.com/apache/dubbo/issues/13814

   jdk8+dubbo3.0.15+spring-core-5.3.27 + k8s部署
   
   近期升级dubbo,配置了xml,没有dubbo复杂功能,只用了简单的rpc。<dubbo:service
   interface="com.XXX....IUserService"
   ref="userService" />
   
   artahs抓到的报错path=null,报错时attachments=@hashmap[
   https://github.com/string[path]:null,
   
https://github.com/string[remote.application]:https://github.com/string[rest-server],
   
https://github.com/string[interface]:https://github.com/string[com.XX.XX.XX.XX.dubbo.service.user.IUserService],
   https://github.com/string[version]:https://github.com/string[0.0.0],
   https://github.com/string[timeout]:@integer[1000],
   https://github.com/string[token]:https://github.com/string[false],
   ],
   dubbo只使用了基本功能,消费者和提供者都是简单的xml配置<dubbo:service
   interface="com.XXX....IUserService"
   ref="userService" />
   
   请各位大佬帮忙看看,这种偶现问题实在难查,而且底层源码报错,dubbo升级不好回滚。详细报错如下:
   
   method=org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync 
location=AtExceptionExit
   ts=2024-03-01 18:34:00; [cost=3.200506ms] result=@Arraylist[
   @object[][
   @AsyncRpcResult[
   logger=@FailsafeLogger[
   
logger=@Slf4jLogger[org.apache.dubbo.common.logger.slf4j.Slf4jLogger@67aa23a],
   disabled=@boolean[false],
   ],
   storedContext=null,
   executor=@ThreadlessExecutor[
   
logger=@FailsafeLogger[org.apache.dubbo.common.logger.support.FailsafeLogger@2e474dce],
   queue=@LinkedBlockingQueue[isEmpty=true;size=0],
   
waitingFuture=@DefaultFuture[org.apache.dubbo.remoting.exchange.support.DefaultFuture@346c86dc[Completed
 exceptionally]],
   finished=@boolean[true],
   waiting=@boolean[false],
   lock=@object[java.lang.Object@646d4d53],
   $assertionsDisabled=@boolean[true],
   ],
   invocation=@RpcInvocation[
   serialVersionUID=@long[-4355285085441097045],
   
targetServiceUniqueName=https://github.com/string[com.XX.XX.XX.XX.dubbo.service.user.IUserService],
   
protocolServiceKey=https://github.com/string[com.XX.XX.XX.XX.dubbo.service.user.IUserService],
   
serviceModel=@ConsumerModel[org.apache.dubbo.rpc.model.ConsumerModel@cb7c76e9],
   methodName=https://github.com/string[updateUserAndroidDeviceToken],
   
interfaceName=https://github.com/string[com.XX.XX.XX.XX.dubbo.service.user.IUserService],
   parameterTypes=@Class[][isEmpty=false;size=4],
   
parameterTypesDesc=https://github.com/string[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/XX/XX/XX/XX/common/enums/AndroidDevice;],
   compatibleParamSignatures=https://github.com/string[][isEmpty=false;size=4],
   arguments=@object[][isEmpty=false;size=4],
   attachments=@hashmap[isEmpty=false;size=6],
   
attachmentLock=@ReentrantLock[java.util.concurrent.locks.ReentrantLock@6fb2781d[Unlocked]],
   attributes=@SynchronizedMap[isEmpty=false;size=4],
   invoker=@DubboInvoker[interface 
com.XX.XX.XX.XX.dubbo.service.user.IUserService -> 10.112.126.226:18882],
   returnType=@Class[void],
   returnTypes=@type[][isEmpty=false;size=2],
   invokeMode=@InvokeMode[SYNC],
   ],
   async=@boolean[false],
   responseFuture=@CompletableFuture[
   result=@AltResult[java.util.concurrent.CompletableFuture$AltResult@3e4b8814],
   stack=null,
   NIL=@AltResult[java.util.concurrent.CompletableFuture$AltResult@4de7fe33],
   useCommonPool=@boolean[false],
   
asyncPool=@ThreadPerTaskExecutor[java.util.concurrent.CompletableFuture$ThreadPerTaskExecutor@59dae37c],
   SYNC=@integer[0],
   ASYNC=@integer[1],
   NESTED=@integer[-1],
   UNSAFE=@unsafe[sun.misc.Unsafe@3149fddd],
   RESULT=@long[12],
   STACK=@long[16],
   NEXT=@long[16],
   ],
   setFutureWhenSync=@boolean[true],
   ],
   @RpcInvocation[
   serialVersionUID=@long[-4355285085441097045],
   
targetServiceUniqueName=https://github.com/string[com.XX.XX.XX.XX.dubbo.service.user.IUserService],
   
protocolServiceKey=https://github.com/string[com.XX.XX.XX.XX.dubbo.service.user.IUserService],
   serviceModel=@ConsumerModel[
   apps=@TreeSet[isEmpty=true;size=0],
   methodConfigs=@hashmap[isEmpty=true;size=0],
   methodModels=@hashmap[isEmpty=false;size=21],
   
serviceKey=https://github.com/string[com.XX.XX.XX.XX.dubbo.service.user.IUserService],
   
proxyObject=@IUserServiceDubboProxy24[com.XX.XX.XX.XX.dubbo.service.user.IUserServiceDubboProxy24@4a91e2a3],
   
destroyRunner=@ReferenceConfig$$Lambda$464/1827302216[org.apache.dubbo.config.ReferenceConfig$$Lambda$464/1827302216@38f58ba4],
   classLoader=@ParallelWebappClassLoader[ParallelWebappClassLoader
   context: ROOT
   delegate: false
   ----------> Parent Classloader:
   java.net.URLClassLoader@7cca494b
   ],
   interfaceClassLoader=null,
   moduleModel=@ModuleModel[Dubbo Module[1.2.1]],
   
serviceModel=@ReflectionServiceDescriptor[org.apache.dubbo.rpc.model.ReflectionServiceDescriptor@7f72b8b3],
   config=@ReferenceConfig[<dubbo:reference cluster="failover" sticky="false" 
check="false" validation="false" id="userService" 
interface="com.XX.XX.XX.XX.dubbo.service.user.IUserService" />],
   
serviceMetadata=@ServiceMetadata[org.apache.dubbo.rpc.model.ServiceMetadata@2ad4b6f2],
   ],
   methodName=https://github.com/string[updateUserAndroidDeviceToken],
   
interfaceName=https://github.com/string[com.XX.XX.XX.XX.dubbo.service.user.IUserService],
   parameterTypes=@Class[][
   @Class[class java.lang.String],
   @Class[class java.lang.String],
   @Class[class java.lang.String],
   @Class[class com.XX.XX.XX.XX.common.enums.AndroidDevice],
   ],
   
parameterTypesDesc=https://github.com/string[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/XX/XX/XX/XX/common/enums/AndroidDevice;],
   compatibleParamSignatures=https://github.com/string[][
   https://github.com/string[java.lang.String],
   https://github.com/string[java.lang.String],
   https://github.com/string[java.lang.String],
   https://github.com/string[com.XX.XX.XX.XX.common.enums.AndroidDevice],
   ],
   arguments=@object[][
   https://github.com/string[4442730.esntest.upesn],
   https://github.com/string[104433437],
   
https://github.com/string[rQI7cJ8JoYsxFzk54whyhOnu/1htAm/XmIl5WwzwAup32iq1EiO2zkJZwTy4t9XN],
   @androiddevice[HONOR],
   ],
   attachments=@hashmap[
   https://github.com/string[path]:null,
   
https://github.com/string[remote.application]:https://github.com/string[rest-server],
   
https://github.com/string[interface]:https://github.com/string[com.XX.XX.XX.XX.dubbo.service.user.IUserService],
   https://github.com/string[version]:https://github.com/string[0.0.0],
   https://github.com/string[timeout]:@integer[1000],
   https://github.com/string[token]:https://github.com/string[false],
   ],
   attachmentLock=@ReentrantLock[
   serialVersionUID=@long[7373984872572414699],
   
sync=@NonfairSync[java.util.concurrent.locks.ReentrantLock$NonfairSync@27c171c7[State
 = 0, empty queue]],
   ],
   attributes=@SynchronizedMap[
   
https://github.com/string[methodModel]:@ConsumerMethodModel[org.apache.dubbo.rpc.model.ConsumerMethodModel@338308c2],
   
https://github.com/string[DUBBO_INVOKE_PROFILER]:@ProfilerEntry[org.apache.dubbo.common.profiler.ProfilerEntry@39e1e407],
   
https://github.com/string[consumerModel]:@ConsumerModel[org.apache.dubbo.rpc.model.ConsumerModel@cb7c76e9],
   https://github.com/string[serialization_id]:@byte[2],
   ],
   invoker=@DubboInvoker[
   clients=@ExchangeClient[][isEmpty=false;size=2],
   index=@AtomicPositiveInteger[567],
   version=https://github.com/string[0.0.0],
   
destroyLock=@ReentrantLock[java.util.concurrent.locks.ReentrantLock@5ac38271[Unlocked]],
   invokers=@ConcurrentHashSet[isEmpty=false;size=392],
   serverShutdownTimeout=@integer[10000],
   
logger=@FailsafeLogger[org.apache.dubbo.common.logger.support.FailsafeLogger@2e180d5b],
   type=@Class[interface com.XX.XX.XX.XX.dubbo.service.user.IUserService],
   url=@InstanceAddressURL[DefaultServiceInstance{serviceName='XX-server', 
host='10.112.126.226', port=18882, enabled=true, healthy=true, 
metadata={dubbo.endpoints=[{"port":18882,"protocol":"dubbo"}], 
dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.0.15","side":"provider","port":"18882","protocol":"dubbo"},
 dubbo.metadata.revision=f12482bf56b945ebee94b5868b1802c0, 
dubbo.metadata.storage-type=local, timestamp=1709203304527}}],
   attachment=@UnmodifiableMap[isEmpty=false;size=2],
   available=@boolean[true],
   destroyed=@boolean[false],
   setFutureWhenSync=@boolean[true],
   ],
   returnType=@Class[
   ANNOTATION=@integer[8192],
   ENUM=@integer[16384],
   SYNTHETIC=@integer[4096],
   cachedConstructor=null,
   newInstanceCallerCache=null,
   name=https://github.com/string[void],
   allPermDomain=@ProtectionDomain[ProtectionDomain null
   null
   
   java.security.Permissions@5ff6829f (
   ("java.security.AllPermission" "" "")
   )
   
   ],
   useCaches=@boolean[true],
   reflectionData=@SoftReference[java.lang.ref.SoftReference@7fb6f4c],
   classRedefinedCount=@integer[0],
   
genericInfo=@ClassRepository[sun.reflect.generics.repository.ClassRepository@1e649177],
   serialVersionUID=@long[3206093459760846163],
   serialPersistentFields=@ObjectStreamField[][isEmpty=true;size=0],
   reflectionFactory=@ReflectionFactory[sun.reflect.ReflectionFactory@17c6705f],
   initted=@boolean[true],
   enumConstants=null,
   enumConstantDirectory=null,
   annotationData=@AnnotationData[java.lang.Class$AnnotationData@29119c4a],
   annotationType=null,
   classValueMap=null,
   ],
   returnTypes=@type[][
   @Class[void],
   @Class[void],
   ],
   invokeMode=@InvokeMode[
   SYNC=@InvokeMode[SYNC],
   ASYNC=@InvokeMode[ASYNC],
   FUTURE=@InvokeMode[FUTURE],
   $VALUES=@InvokeMode[][isEmpty=false;size=3],
   name=https://github.com/string[SYNC],
   ordinal=@integer[0],
   ],
   ],
   ],
   null,
   org.apache.dubbo.rpc.RpcException: Failed to invoke remote method: 
updateUserAndroidDeviceToken, provider: 
DefaultServiceInstance{serviceName='XX-server', host='10.112.126.226', 
port=18882, enabled=true, healthy=true, 
metadata={dubbo.endpoints=[{"port":18882,"protocol":"dubbo"}], 
dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.0.15","side":"provider","port":"18882","protocol":"dubbo"},
 dubbo.metadata.revision=f12482bf56b945ebee94b5868b1802c0, 
dubbo.metadata.storage-type=local, timestamp=1709203304527}}, cause: 
org.apache.dubbo.remoting.RemotingException: Fail to decode request due to: 
java.lang.NullPointerException
   java.lang.NullPointerException
   
       at 
org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync(AbstractInvoker.java:279)
       at 
org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:185)
       at 
org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:78)
       at 
org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invokeWithContext(AbstractClusterInvoker.java:378)
       at 
org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:80)
       at 
org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:340)
       at 
org.apache.dubbo.rpc.cluster.router.RouterSnapshotFilter.invoke(RouterSnapshotFilter.java:46)
       at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:326)
       at 
org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:99)
       at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:326)
       at 
org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:51)
       at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:326)
       at 
org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter.invoke(ConsumerContextFilter.java:110)
       at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:326)
       at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:193)
       at 
org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$ClusterFilterInvoker.invoke(AbstractCluster.java:92)
       at 
org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:102)
       at 
org.apache.dubbo.registry.client.migration.MigrationInvoker.invoke(MigrationInvoker.java:281)
       at 
org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:55)
       at 
org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75)
       at 
com.XX.XX.XX.XX.dubbo.service.user.IUserServiceDubboProxy24.updateUserAndroidDeviceToken(IUserServiceDubboProxy24.java)
       at sun.reflect.GeneratedMethodAccessor274.invoke(Unknown Source)
       at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:498)
       at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
       at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
       at com.sun.proxy.$Proxy53.updateUserAndroidDeviceToken(Unknown Source)
       at 
com.XX.XX.sns.rest.webserver.controller.client.android.devicetoken.AndroidPushDeviceTokenController.setHonorDeviceToken(AndroidPushDeviceTokenController.java:298)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
       at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:498)
       at 
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
       at 
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
       at 
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
       at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
       at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
       at 
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
       at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)
       at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)
       at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
       at 
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
       at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
       at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
       at 
com.XX.XX.sns.rest.webserver.filter.MyHttpPutFilter.doFilterInternal(MyHttpPutFilter.java:74)
       at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
       at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
       at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
       at 
com.XX.XX.XX.XX.common.web.filter.CorsFilter.doFilter(CorsFilter.java:46)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
       at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
       at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
       at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
       at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
       at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
       at 
org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:769)
       at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)
       at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
       at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)
       at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639)
       at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
       at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882)
       at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1647)
       at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
       at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
       at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
       at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
       at java.lang.Thread.run(Thread.java:748)
   Caused by: java.util.concurrent.ExecutionException: 
org.apache.dubbo.remoting.RemotingException: Fail to decode request due to: 
java.lang.NullPointerException
   java.lang.NullPointerException
   
       at 
java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
       at 
java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1915)
       at org.apache.dubbo.rpc.AsyncRpcResult.get(AsyncRpcResult.java:195)
       at 
org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync(AbstractInvoker.java:264)
       ... 78 more
   Caused by: org.apache.dubbo.remoting.RemotingException: Fail to decode 
request due to: java.lang.NullPointerException
   java.lang.NullPointerException
   
       at 
org.apache.dubbo.remoting.exchange.support.DefaultFuture.doReceived(DefaultFuture.java:223)
       at 
org.apache.dubbo.remoting.exchange.support.DefaultFuture.received(DefaultFuture.java:185)
       at 
org.apache.dubbo.remoting.exchange.support.DefaultFuture.received(DefaultFuture.java:173)
       at 
org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleResponse(HeaderExchangeHandler.java:60)
       at 
org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:181)
       at 
org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:51)
       at 
org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:59)
       at 
org.apache.dubbo.common.threadpool.ThreadlessExecutor$RunnableWrapper.run(ThreadlessExecutor.java:184)
       at 
org.apache.dubbo.common.threadpool.ThreadlessExecutor.waitAndDrain(ThreadlessExecutor.java:103)
       at org.apache.dubbo.rpc.AsyncRpcResult.get(AsyncRpcResult.java:193)
       ... 79 more


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to