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]
