502306764 opened a new issue, #12667: URL: https://github.com/apache/dubbo/issues/12667
<!-- If you need to report a security issue please visit https://github.com/apache/dubbo/security/policy --> - [ ] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate. ## Ask your question here `2023-06-27 16:52:45,070 [flink-akka.actor.default-dispatcher-3] INFO org.apache.flink.runtime.executiongraph.ExecutionGraph transitionState:1593 [] - Source: live-rep-source -> Filter -> Flat Map -> Map (3/4) (904155b7fd6db3f02de7ee66c2288b3f) switched from RUNNING to FAILED on org.apache.flink.runtime.jobmaster.slotpool.SingleLogicalSlot@25b4e759. java.lang.ExceptionInInitializerError: null at com.htsc.recommend.content.LiveReport$.liveReportProcess(LiveReport.scala:46) ~[recommend-realtime-content_1687855931304.jar:?] at com.htsc.recommend.ContentStatusChange$.$anonfun$main$24(ContentStatusChange.scala:153) ~[recommend-realtime-content_1687855931304.jar:?] at com.htsc.recommend.ContentStatusChange$.$anonfun$main$24$adapted(ContentStatusChange.scala:152) ~[recommend-realtime-content_1687855931304.jar:?] at org.apache.flink.streaming.api.scala.DataStream$$anon$4.map(DataStream.scala:625) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.api.operators.StreamMap.processElement(StreamMap.java:41) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.pushToOperator(OperatorChain.java:717) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.collect(OperatorChain.java:692) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.collect(OperatorChain.java:672) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.api.operators.CountingOutput.collect(CountingOutput.java:52) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.api.operators.CountingOutput.collect(CountingOutput.java:30) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.api.operators.TimestampedCollector.collect(TimestampedCollector.java:53) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.api.scala.DataStream$$anon$6.$anonfun$flatMap$1(DataStream.scala:681) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.api.scala.DataStream$$anon$6.$anonfun$flatMap$1$adapted(DataStream.scala:681) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at scala.collection.immutable.List.foreach(List.scala:388) ~[recommend-realtime-content_1687855931304.jar:?] at org.apache.flink.streaming.api.scala.DataStream$$anon$6.flatMap(DataStream.scala:681) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.api.operators.StreamFlatMap.processElement(StreamFlatMap.java:50) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.pushToOperator(OperatorChain.java:717) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.collect(OperatorChain.java:692) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.collect(OperatorChain.java:672) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.api.operators.CountingOutput.collect(CountingOutput.java:52) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.api.operators.CountingOutput.collect(CountingOutput.java:30) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.api.operators.StreamFilter.processElement(StreamFilter.java:40) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.pushToOperator(OperatorChain.java:717) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.collect(OperatorChain.java:692) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.collect(OperatorChain.java:672) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.api.operators.CountingOutput.collect(CountingOutput.java:52) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.api.operators.CountingOutput.collect(CountingOutput.java:30) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.api.operators.StreamSourceContexts$ManualWatermarkContext.processAndCollectWithTimestamp(StreamSourceContexts.java:310) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.api.operators.StreamSourceContexts$WatermarkContext.collectWithTimestamp(StreamSourceContexts.java:409) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.connectors.kafka.internals.AbstractFetcher.emitRecordsWithTimestamps(AbstractFetcher.java:352) ~[recommend-realtime-content_1687855931304.jar:?] at org.apache.flink.streaming.connectors.kafka.internal.KafkaFetcher.partitionConsumerRecordsHandler(KafkaFetcher.java:185) ~[recommend-realtime-content_1687855931304.jar:?] at org.apache.flink.streaming.connectors.kafka.internal.KafkaFetcher.runFetchLoop(KafkaFetcher.java:141) ~[recommend-realtime-content_1687855931304.jar:?] at org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase.run(FlinkKafkaConsumerBase.java:755) ~[recommend-realtime-content_1687855931304.jar:?] at org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:100) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:63) ~[flink-dist_2.12-1.11.0.jar:1.11.0] at org.apache.flink.streaming.runtime.tasks.SourceStreamTask$LegacySourceFunctionThread.run(SourceStreamTask.java:201) ~[flink-dist_2.12-1.11.0.jar:1.11.0] Caused by: java.lang.RuntimeException: [source error] no such class: com.alibaba.dubbo.common.bytecode.proxy1 at com.alibaba.dubbo.common.bytecode.ClassGenerator.toClass(ClassGenerator.java:354) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.common.bytecode.ClassGenerator.toClass(ClassGenerator.java:293) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.common.bytecode.Proxy.getProxy(Proxy.java:214) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.common.bytecode.Proxy.getProxy(Proxy.java:67) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory.getProxy(JavassistProxyFactory.java:35) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.rpc.proxy.AbstractProxyFactory.getProxy(AbstractProxyFactory.java:49) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.rpc.proxy.wrapper.StubProxyFactoryWrapper.getProxy(StubProxyFactoryWrapper.java:60) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.rpc.ProxyFactory$Adpative.getProxy(ProxyFactory$Adpative.java) ~[?:?] at com.alibaba.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:426) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:138) ~[recommend-realtime-content_1687855931304.jar:?] at com.htsc.recommend.utils.DServices$.getService(DServices.scala:20) ~[recommend-realtime-content_1687855931304.jar:?] at com.htsc.recommend.content.LiveDetail$.<init>(LiveDetail.scala:18) ~[recommend-realtime-content_1687855931304.jar:?] at com.htsc.recommend.content.LiveDetail$.<clinit>(LiveDetail.scala) ~[recommend-realtime-content_1687855931304.jar:?] ... 36 more Caused by: javassist.CannotCompileException: [source error] no such class: com.alibaba.dubbo.common.bytecode.proxy1 at javassist.CtNewMethod.make(CtNewMethod.java:79) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.CtNewMethod.make(CtNewMethod.java:45) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.common.bytecode.ClassGenerator.toClass(ClassGenerator.java:322) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.common.bytecode.ClassGenerator.toClass(ClassGenerator.java:293) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.common.bytecode.Proxy.getProxy(Proxy.java:214) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.common.bytecode.Proxy.getProxy(Proxy.java:67) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory.getProxy(JavassistProxyFactory.java:35) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.rpc.proxy.AbstractProxyFactory.getProxy(AbstractProxyFactory.java:49) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.rpc.proxy.wrapper.StubProxyFactoryWrapper.getProxy(StubProxyFactoryWrapper.java:60) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.rpc.ProxyFactory$Adpative.getProxy(ProxyFactory$Adpative.java) ~[?:?] at com.alibaba.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:426) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:138) ~[recommend-realtime-content_1687855931304.jar:?] at com.htsc.recommend.utils.DServices$.getService(DServices.scala:20) ~[recommend-realtime-content_1687855931304.jar:?] at com.htsc.recommend.content.LiveDetail$.<init>(LiveDetail.scala:18) ~[recommend-realtime-content_1687855931304.jar:?] at com.htsc.recommend.content.LiveDetail$.<clinit>(LiveDetail.scala) ~[recommend-realtime-content_1687855931304.jar:?] ... 36 more Caused by: javassist.compiler.CompileError: no such class: com.alibaba.dubbo.common.bytecode.proxy1 at javassist.compiler.MemberResolver.searchImports(MemberResolver.java:448) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.MemberResolver.lookupClass(MemberResolver.java:413) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.MemberResolver.lookupClassByName(MemberResolver.java:327) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.TypeChecker.atNewExpr(TypeChecker.java:146) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.ast.NewExpr.accept(NewExpr.java:73) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:242) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.CodeGen.compileExpr(CodeGen.java:229) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.CodeGen.atReturnStmnt2(CodeGen.java:598) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.JvstCodeGen.atReturnStmnt(JvstCodeGen.java:425) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.CodeGen.atStmnt(CodeGen.java:363) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.CodeGen.atMethodBody(CodeGen.java:292) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.CodeGen.atMethodDecl(CodeGen.java:274) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.ast.MethodDecl.accept(MethodDecl.java:44) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.Javac.compileMethod(Javac.java:169) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.compiler.Javac.compile(Javac.java:95) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.CtNewMethod.make(CtNewMethod.java:74) ~[recommend-realtime-content_1687855931304.jar:?] at javassist.CtNewMethod.make(CtNewMethod.java:45) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.common.bytecode.ClassGenerator.toClass(ClassGenerator.java:322) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.common.bytecode.ClassGenerator.toClass(ClassGenerator.java:293) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.common.bytecode.Proxy.getProxy(Proxy.java:214) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.common.bytecode.Proxy.getProxy(Proxy.java:67) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory.getProxy(JavassistProxyFactory.java:35) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.rpc.proxy.AbstractProxyFactory.getProxy(AbstractProxyFactory.java:49) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.rpc.proxy.wrapper.StubProxyFactoryWrapper.getProxy(StubProxyFactoryWrapper.java:60) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.rpc.ProxyFactory$Adpative.getProxy(ProxyFactory$Adpative.java) ~[?:?] at com.alibaba.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:426) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300) ~[recommend-realtime-content_1687855931304.jar:?] at com.alibaba.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:138) ~[recommend-realtime-content_1687855931304.jar:?] at com.htsc.recommend.utils.DServices$.getService(DServices.scala:20) ~[recommend-realtime-content_1687855931304.jar:?] at com.htsc.recommend.content.LiveDetail$.<init>(LiveDetail.scala:18) ~[recommend-realtime-content_1687855931304.jar:?] at com.htsc.recommend.content.LiveDetail$.<clinit>(LiveDetail.scala) ~[recommend-realtime-content_1687855931304.jar:?] ... 36 more` 报错的意思是javassist的classpool里找不到com.alibaba.dubbo.common.bytecode.proxy1,但是看2.5.3源码, ` // create ProxyInstance class. String pcn = pkg + ".proxy" + id; ccp.setClassName(pcn); ccp.addField("public static java.lang.reflect.Method[] methods;"); ccp.addField("private " + InvocationHandler.class.getName() + " handler;"); ccp.addConstructor(Modifier.PUBLIC, new Class<?>[]{ InvocationHandler.class }, new Class<?>[0], "handler=$1;"); ccp.addDefaultConstructor(); Class<?> clazz = ccp.toClass(); clazz.getField("methods").set(null, methods.toArray(new Method[0])); // create Proxy class. String fcn = Proxy.class.getName() + id; ccm = ClassGenerator.newInstance(cl); ccm.setClassName(fcn); ccm.addDefaultConstructor(); ccm.setSuperClass(Proxy.class); ccm.addMethod("public Object newInstance(" + InvocationHandler.class.getName() + " h){ return new " + pcn + "($1); }"); Class<?> pc = ccm.toClass(); proxy = (Proxy)pc.newInstance();` pcn 命名为 com.alibaba.dubbo.common.bytecode.proxyX , X 是原子递增的, ccp.toClass() 会在 classPool 里放入它,接下来 ccm.toClass() 会使用到它,居然因为找不到就报错了?因为公司为了稳定,一直没有升级框架,使用的是当当 dubbox 2.84,底层依赖的是com.alibaba:dubbo:jar:2.5.3 -- 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: notifications-unsubscr...@dubbo.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@dubbo.apache.org For additional commands, e-mail: notifications-h...@dubbo.apache.org