You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "502306764 (via GitHub)" <gi...@apache.org> on 2023/07/05 03:28:41 UTC

[GitHub] [dubbo] 502306764 opened a new issue, #12667: dubbo2.5.3,生产启动时报错,javassist.compiler.CompileError: no such class: com.alibaba.dubbo.common.bytecode.proxy1

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-unsubscribe@dubbo.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


Re: [I] dubbo2.5.4,flink 泛化调用dubbo启动时偶发报错,javassist.compiler.CompileError: no such class: com.alibaba.dubbo.common.bytecode.proxy1 [dubbo]

Posted by "AlbumenJ (via GitHub)" <gi...@apache.org>.
AlbumenJ closed issue #12667: dubbo2.5.4,flink 泛化调用dubbo启动时偶发报错,javassist.compiler.CompileError: no such class: com.alibaba.dubbo.common.bytecode.proxy1
URL: https://github.com/apache/dubbo/issues/12667


-- 
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-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


Re: [I] dubbo2.5.4,flink 泛化调用dubbo启动时偶发报错,javassist.compiler.CompileError: no such class: com.alibaba.dubbo.common.bytecode.proxy1 [dubbo]

Posted by "AlbumenJ (via GitHub)" <gi...@apache.org>.
AlbumenJ commented on issue #12667:
URL: https://github.com/apache/dubbo/issues/12667#issuecomment-1987565246

   No news is good news. Please feel free to create a new issue if you have any question.


-- 
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-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] 502306764 commented on issue #12667: dubbo2.5.3,flink 泛化调用dubbo启动时偶发报错,javassist.compiler.CompileError: no such class: com.alibaba.dubbo.common.bytecode.proxy1

Posted by "502306764 (via GitHub)" <gi...@apache.org>.
502306764 commented on issue #12667:
URL: https://github.com/apache/dubbo/issues/12667#issuecomment-1621053376

   新版本的dubbo 中,javassist生成代理失败后抛出异常后会继续调用jdk生成代理, 所以应该不会出现该问题, 但这个问题总觉得很诡异。


-- 
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-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] AlbumenJ commented on issue #12667: dubbo2.5.4,flink 泛化调用dubbo启动时偶发报错,javassist.compiler.CompileError: no such class: com.alibaba.dubbo.common.bytecode.proxy1

Posted by "AlbumenJ (via GitHub)" <gi...@apache.org>.
AlbumenJ commented on issue #12667:
URL: https://github.com/apache/dubbo/issues/12667#issuecomment-1634158740

   javasssist 还涉及 classloader 可见的问题


-- 
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-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org