Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fieldName not support input type TYPED_ANY -110, offset 51 #1175

Closed
HelloToGithub opened this issue Mar 2, 2023 · 7 comments
Closed

fieldName not support input type TYPED_ANY -110, offset 51 #1175

HelloToGithub opened this issue Mar 2, 2023 · 7 comments
Labels
fixed question Further information is requested
Milestone

Comments

@HelloToGithub
Copy link

请描述您的问题

询问有关本项目的使用和其他方面的相关问题。
Dubbo:3.1.7
fastjson2:2.0.23

dubbo serialization 配置为 fastjson2
调用Dubbo服务 内部异常之后 如空指针等 会报以下错误
com.alibaba.fastjson2.JSONException: fieldName not support input type TYPED_ANY -110, offset 51
at com.alibaba.fastjson2.JSONReaderJSONB.readFieldNameHashCode(JSONReaderJSONB.java:1302)
at com.alibaba.fastjson2.reader.ObjectReaderException.readObject(ObjectReaderException.java:143)
at com.alibaba.fastjson2.reader.ObjectReaderException.readJSONBObject(ObjectReaderException.java:360)
at com.alibaba.fastjson2.JSONReaderJSONB.read(JSONReaderJSONB.java:217)
at com.alibaba.fastjson2.reader.ObjectReaderException.readObject(ObjectReaderException.java:172)
at com.alibaba.fastjson2.reader.ObjectReaderException.readJSONBObject(ObjectReaderException.java:360)
at com.alibaba.fastjson2.JSONB.parseObject(JSONB.java:518)
at org.apache.dubbo.common.serialize.fastjson2.FastJson2ObjectInput.readObject(FastJson2ObjectInput.java:116)
at org.apache.dubbo.common.serialize.fastjson2.FastJson2ObjectInput.readObject(FastJson2ObjectInput.java:102)

@HelloToGithub HelloToGithub added the question Further information is requested label Mar 2, 2023
@wenshao
Copy link
Member

wenshao commented Mar 2, 2023

能帮忙提供更多信息么?比如报错的异常类?输入的byte[]是什么?我的微信号是 wenshaojin ,加微信单发我也可以

@wenshao
Copy link
Member

wenshao commented Mar 5, 2023

@HelloToGithub 我计划在下个周末发布2.0.25版本,如果在此之前没有重现并修复,就要到下个月的2.0.26版本了

@HelloToGithub
Copy link
Author

您好 目前Dubbo社区正在跟进此问题 后续有相关需要您这边协助看的再跟您反馈。

@HelloToGithub
Copy link
Author

HelloToGithub commented Mar 9, 2023

@wenshao
image

报错时 JSONB.toJSONString(bytes) 信息
{
"@type":"vip.joinsun.exception.ServiceException",
"cause":{
"@type":"vip.joinsun.exception.BusinessException",
"message":"分布式事务下的本地事务测试抛错回滚",
"stackTrace":[
{
"fileName":"RefreshServiceImpl.java",
"lineNumber":1341,
"className":"vip.joinsun.service.refresh.RefreshServiceImpl",
"methodName":"doTestGts"
},
{
"fileName":"",
"lineNumber":-1,
"className":"vip.joinsun.service.refresh.RefreshServiceImpl$$FastClassBySpringCGLIB$$d10e8883",
"methodName":"invoke"
},
{
"fileName":"MethodProxy.java",
"lineNumber":218,
"className":"org.springframework.cglib.proxy.MethodProxy",
"methodName":"invoke"
},
{
"fileName":"CglibAopProxy.java",
"lineNumber":793,
"className":"org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation",
"methodName":"invokeJoinpoint"
},
{
"fileName":"ReflectiveMethodInvocation.java",
"lineNumber":163,
"className":"org.springframework.aop.framework.ReflectiveMethodInvocation",
"methodName":"proceed"
},
{
"fileName":"CglibAopProxy.java",
"lineNumber":763,
"className":"org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation",
"methodName":"proceed"
},
{
"fileName":"TransactionInterceptor.java",
"lineNumber":123,
"className":"org.springframework.transaction.interceptor.TransactionInterceptor$1",
"methodName":"proceedWithInvocation"
},
{
"fileName":"TransactionAspectSupport.java",
"lineNumber":388,
"className":"org.springframework.transaction.interceptor.TransactionAspectSupport",
"methodName":"invokeWithinTransaction"
},
{
"fileName":"TransactionInterceptor.java",
"lineNumber":119,
"className":"org.springframework.transaction.interceptor.TransactionInterceptor",
"methodName":"invoke"
},
{
"fileName":"ReflectiveMethodInvocation.java",
"lineNumber":186,
"className":"org.springframework.aop.framework.ReflectiveMethodInvocation",
"methodName":"proceed"
},
{
"fileName":"CglibAopProxy.java",
"lineNumber":763,
"className":"org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation",
"methodName":"proceed"
},
{
"fileName":"GlobalTransactionalInterceptor.java",
"lineNumber":204,
"className":"io.seata.spring.annotation.GlobalTransactionalInterceptor$2",
"methodName":"execute"
},
{
"fileName":"TransactionalTemplate.java",
"lineNumber":130,
"className":"io.seata.tm.api.TransactionalTemplate",
"methodName":"execute"
},
{
"fileName":"GlobalTransactionalInterceptor.java",
"lineNumber":201,
"className":"io.seata.spring.annotation.GlobalTransactionalInterceptor",
"methodName":"handleGlobalTransaction"
},
{
"fileName":"GlobalTransactionalInterceptor.java",
"lineNumber":171,
"className":"io.seata.spring.annotation.GlobalTransactionalInterceptor",
"methodName":"invoke"
},
{
"fileName":"ReflectiveMethodInvocation.java",
"lineNumber":186,
"className":"org.springframework.aop.framework.ReflectiveMethodInvocation",
"methodName":"proceed"
},
{
"fileName":"CglibAopProxy.java",
"lineNumber":763,
"className":"org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation",
"methodName":"proceed"
},
{
"fileName":"ExposeInvocationInterceptor.java",
"lineNumber":97,
"className":"org.springframework.aop.interceptor.ExposeInvocationInterceptor",
"methodName":"invoke"
},
{
"fileName":"ReflectiveMethodInvocation.java",
"lineNumber":186,
"className":"org.springframework.aop.framework.ReflectiveMethodInvocation",
"methodName":"proceed"
},
{
"fileName":"CglibAopProxy.java",
"lineNumber":763,
"className":"org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation",
"methodName":"proceed"
},
{
"fileName":"CustomGlobalTransactionalInterceptor.java",
"lineNumber":24,
"className":"com.joinsun.aop.CustomGlobalTransactionalInterceptor",
"methodName":"invoke"
},
{
"fileName":"ReflectiveMethodInvocation.java",
"lineNumber":186,
"className":"org.springframework.aop.framework.ReflectiveMethodInvocation",
"methodName":"proceed"
},
{
"fileName":"CglibAopProxy.java",
"lineNumber":763,
"className":"org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation",
"methodName":"proceed"
},
{
"fileName":"CglibAopProxy.java",
"lineNumber":708,
"className":"org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor",
"methodName":"intercept"
},
{
"fileName":"",
"lineNumber":-1,
"className":"vip.joinsun.service.refresh.RefreshServiceImpl$$EnhancerBySpringCGLIB$$dc028d6a",
"methodName":"doTestGts"
},
{
"fileName":"RefreshServiceDubboWrap171.java",
"lineNumber":-1,
"className":"vip.joinsun.service.refresh.RefreshServiceDubboWrap171",
"methodName":"invokeMethod"
},
{
"fileName":"JavassistProxyFactory.java",
"lineNumber":73,
"className":"org.apache.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1",
"methodName":"doInvoke"
},
{
"fileName":"AbstractProxyInvoker.java",
"lineNumber":100,
"className":"org.apache.dubbo.rpc.proxy.AbstractProxyInvoker",
"methodName":"invoke"
},
{
"fileName":"DelegateProviderMetaDataInvoker.java",
"lineNumber":55,
"className":"org.apache.dubbo.config.invoker.DelegateProviderMetaDataInvoker",
"methodName":"invoke"
},
{
"fileName":"InvokerWrapper.java",
"lineNumber":56,
"className":"org.apache.dubbo.rpc.protocol.InvokerWrapper",
"methodName":"invoke"
},
{
"fileName":"ClassLoaderCallbackFilter.java",
"lineNumber":38,
"className":"org.apache.dubbo.rpc.filter.ClassLoaderCallbackFilter",
"methodName":"invoke"
},
{
"fileName":"FilterChainBuilder.java",
"lineNumber":327,
"className":"org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode",
"methodName":"invoke"
},
{
"fileName":"Invoker.java",
"lineNumber":55,
"className":"com.alibaba.dubbo.rpc.Invoker$CompatibleInvoker",
"methodName":"invoke"
},
{
"fileName":"AlibabaDubboTransactionPropagationFilter.java",
"lineNumber":45,
"className":"io.seata.integration.dubbo.alibaba.AlibabaDubboTransactionPropagationFilter",
"methodName":"invoke"
},
{
"fileName":"Filter.java",
"lineNumber":29,
"className":"com.alibaba.dubbo.rpc.Filter",
"methodName":"invoke"
},
{
"fileName":"FilterChainBuilder.java",
"lineNumber":327,
"className":"org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode",
"methodName":"invoke"
},
{
"fileName":"TraceFilter.java",
"lineNumber":79,
"className":"org.apache.dubbo.rpc.protocol.dubbo.filter.TraceFilter",
"methodName":"invoke"
},
{
"fileName":"FilterChainBuilder.java",
"lineNumber":327,
"className":"org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode",
"methodName":"invoke"
},
{
"fileName":"TimeoutFilter.java",
"lineNumber":44,
"className":"org.apache.dubbo.rpc.filter.TimeoutFilter",
"methodName":"invoke"
},
{
"fileName":"FilterChainBuilder.java",
"lineNumber":327,
"className":"org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode",
"methodName":"invoke"
},
{
"fileName":"SeataTransactionPropagationProviderFilter.java",
"lineNumber":66,
"className":"org.apache.dubbo.seata.SeataTransactionPropagationProviderFilter",
"methodName":"invoke"
},
{
"fileName":"FilterChainBuilder.java",
"lineNumber":327,
"className":"org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode",
"methodName":"invoke"
},
{
"fileName":"MonitorFilter.java",
"lineNumber":100,
"className":"org.apache.dubbo.monitor.support.MonitorFilter",
"methodName":"invoke"
},
{
"fileName":"FilterChainBuilder.java",
"lineNumber":327,
"className":"org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode",
"methodName":"invoke"
},
{
"fileName":"DubboExceptionFilter.java",
"lineNumber":33,
"className":"vip.joinsun.filter.DubboExceptionFilter",
"methodName":"invoke"
},
{
"fileName":"FilterChainBuilder.java",
"lineNumber":327,
"className":"org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode",
"methodName":"invoke"
},
{
"fileName":"GenericFilter.java",
"lineNumber":192,
"className":"org.apache.dubbo.rpc.filter.GenericFilter",
"methodName":"invoke"
},
{
"fileName":"FilterChainBuilder.java",
"lineNumber":327,
"className":"org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode",
"methodName":"invoke"
},
{
"fileName":"ClassLoaderFilter.java",
"lineNumber":54,
"className":"org.apache.dubbo.rpc.filter.ClassLoaderFilter",
"methodName":"invoke"
},
{
"fileName":"FilterChainBuilder.java",
"lineNumber":327,
"className":"org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode",
"methodName":"invoke"
},
{
"fileName":"EchoFilter.java",
"lineNumber":41,
"className":"org.apache.dubbo.rpc.filter.EchoFilter",
"methodName":"invoke"
},
{
"fileName":"FilterChainBuilder.java",
"lineNumber":327,
"className":"org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode",
"methodName":"invoke"
},
{
"fileName":"ProfilerServerFilter.java",
"lineNumber":58,
"className":"org.apache.dubbo.rpc.filter.ProfilerServerFilter",
"methodName":"invoke"
},
{
"fileName":"FilterChainBuilder.java",
"lineNumber":327,
"className":"org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode",
"methodName":"invoke"
},
{
"fileName":"ContextFilter.java",
"lineNumber":133,
"className":"org.apache.dubbo.rpc.filter.ContextFilter",
"methodName":"invoke"
},
{
"fileName":"FilterChainBuilder.java",
"lineNumber":327,
"className":"org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode",
"methodName":"invoke"
},
{
"fileName":"FilterChainBuilder.java",
"lineNumber":194,
"className":"org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker",
"methodName":"invoke"
},
{
"fileName":"DubboProtocol.java",
"lineNumber":156,
"className":"org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol$1",
"methodName":"reply"
},
{
"fileName":"HeaderExchangeHandler.java",
"lineNumber":102,
"className":"org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler",
"methodName":"handleRequest"
},
{
"fileName":"HeaderExchangeHandler.java",
"lineNumber":177,
"className":"org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler",
"methodName":"received"
},
{
"fileName":"DecodeHandler.java",
"lineNumber":53,
"className":"org.apache.dubbo.remoting.transport.DecodeHandler",
"methodName":"received"
},
{
"fileName":"ChannelEventRunnable.java",
"lineNumber":62,
"className":"org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable",
"methodName":"run"
},
{
"fileName":"ThreadPoolExecutor.java",
"lineNumber":1149,
"className":"java.util.concurrent.ThreadPoolExecutor",
"methodName":"runWorker"
},
{
"fileName":"ThreadPoolExecutor.java",
"lineNumber":624,
"className":"java.util.concurrent.ThreadPoolExecutor$Worker",
"methodName":"run"
},
{
"fileName":"InternalRunnable.java",
"lineNumber":41,
"className":"org.apache.dubbo.common.threadlocal.InternalRunnable",
"methodName":"run"
},
{
"fileName":"Thread.java",
"lineNumber":748,
"className":"java.lang.Thread",
"methodName":"run"
}
],
"suppressedExceptions":{
"@type":"java.util.Collections$UnmodifiableRandomAccessList",
"https://github.com/value":[]
}
},
"detailMessage":"vip.joinsun.exception.BusinessException: 分布式事务下的本地事务测试抛错回滚",
"stackTrace":[],
"suppressedExceptions":{"$ref":"$.cause.suppressedExceptions"}
}

@HelloToGithub
Copy link
Author

另外发现另外一个问题 详细查看 apache/dubbo#11775

@wenshao
Copy link
Member

wenshao commented Mar 12, 2023

https://oss.sonatype.org/content/repositories/snapshots/com/alibaba/fastjson2/fastjson2/2.0.26-SNAPSHOT/
问题重现并修复,请帮忙用2.0.26-SNAPSHOT验证下

@wenshao wenshao added the fixed label Mar 15, 2023
@wenshao wenshao added this to the 2.0.26 milestone Mar 15, 2023
@wenshao
Copy link
Member

wenshao commented Mar 19, 2023

@wenshao wenshao closed this as completed Mar 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fixed question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants