首页 文章

在启动corda节点时出现空指针异常

提问于
浏览
0

我是corda的新手,在成功构建后使用 call 命令启动节点时,corda的一个节点抛出了我们这个空指针异常,如下所示

在co.paralleluniverse显示java.lang.NullPointerException在co.paralleluniverse.fibers.instrument.MethodDatabase $ ClassEntry.equals(MethodDatabase.java:557)在co.paralleluniverse.fibers.instrument.MethodDatabase.recordSuspendableMethods(MethodDatabase.java:265)位于co.paralleluniverse.fibers.instrument.SimpleSuspendableClassifier.isSuspendable(SimpleSuspendableClassifier.java)的co.paralleluniverse.fibers.instrument.MethodDatabase.getOrLoadClassEntry(MethodDatabase.java:183)上的.fibers.instrument.MethodDatabase.checkClass(MethodDatabase.java:327) :156)at co.paralleluniverse.fibers.instrument.DefaultSuspendableClassifier.isSuspendment(DefaultSuspendableClassifier.java:47)at co.paralleluniverse.fibers.instrument.CheckInstrumentationVisitor.visitMethod(CheckInstrumentationVisitor.java:130)at co.paralleluniverse.asm.ClassReader . b(未知来源)at co.paralleluniverse.asm.ClassReader.accept(未知来源)位于co.paralleluniverse.fib的co.paralleluniverse.asm.ClassReader.accept(未知来源) ers.instrument.MethodDatabase.checkFileAndClose(MethodDatabase.java:347)在co.paralleluniverse.fibers.instrument.MethodDatabase.checkClass(MethodDatabase.java:324)在co.paralleluniverse.fibers.instrument.MethodDatabase.getOrLoadClassEntry(MethodDatabase.java: 183)在co.paralleluniverse.fibers.instrument.MethodDatabase.isMethodSuspendable0(MethodDatabase.java:194)在co.paralleluniverse.fibers.instrument.MethodDatabase.isMethodSuspendable(MethodDatabase.java:161)在co.paralleluniverse.fibers.instrument.InstrumentMethod .isSuspendableCall(InstrumentMethod.java:231)位于co.paralleluniverse.asm的co.paralleluniverse.asm.ClassReader.a(未知来源)的co.paralleluniverse.fibers.instrument.LabelSuspendableCallSitesClassVisitor $ 1.visitMethodInsn(LabelSuspendableCallSitesClassVisitor.java:64) . Co.paralleluniverse.fibers.instrument.Quasa上co.paralleluniverse.asm.ClassReader.accept(未知来源)的co.paralleluniverse.asm.ClassReader.accept(未知来源)的ClassReader.b(未知来源) rInstrumentor.instrumentClass(QuasarInstrumentor.java:123)在co.paralleluniverse.fibers.instrument.QuasarInstrumentor.instrumentClass(QuasarInstrumentor.java:94)在co.paralleluniverse.fibers.instrument.JavaAgent $ Transformer.transform(JavaAgent.java:209)在sun.instrument.TransformerManager.transform(未知来源),位于java.lang.ClassLoader.defineClass1(本地方法)的sun.instrument.InstrumentationImpl.transform(未知来源),位于java的java.lang.ClassLoader.defineClass(未知来源) java.net.URLClassLoader.access的java.net.URLClassLoader.defineClass(未知来源)中的.security.SecureClassLoader.defineClass(未知来源)java.net.URLClassLoader上的$ 100(未知来源)$ 1.run(未知来源) .net.URLClassLoader $ 1.run(未知来源)位于java.security.AccessController.doPrivileged(本机方法)的java.net.URLClassLoader.findClass(未知来源),位于sun的java.lang.ClassLoader.loadClass(未知来源) . java.lang上的misc.Launcher $ AppClassLoader.loadClass(未知来源) . Sun.instrument.InstrumentationImpl.loadClassAndCallPremain(未知来源)[quasar]错误的sun.instrument.InstrumentationImpl.loadClassAndStartAgent(未知来源)的ClassLoader.loadClass(未知来源)错误:co.paralleluniverse上的java / lang / Thread java.lang.NullPointerException .fibers.instrument.MethodDatabase $ ClassEntry.equals(MethodDatabase.java:557)在co.paralleluniverse.fibers.instrument.MethodDatabase.recordSuspendableMethods(MethodDatabase.java:265)在co.paralleluniverse.fibers.instrument.MethodDatabase.checkClass(MethodDatabase的.java:327)在co.paralleluniverse.fibers.instrument.MethodDatabase.getOrLoadClassEntry(MethodDatabase.java:183)在co.paralleluniverse.fibers.instrument.SimpleSuspendableClassifier.isSuspendable(SimpleSuspendableClassifier.java:156)在co.paralleluniverse.fibers . instrument.DefaultSuspendableClassifier.isSuspendable(DefaultSuspendableClassifier.java:47)at co.paralleluniverse.fibers.instrument.CheckInstrumentationVisitor.visitMethod(CheckInstrumentationV) isitor.java:130)at co.paralleluniverse.asm.ClassReader.b(Unknown Source)at co.paralleluniverse.asm.ClassReader.accept(Unknown Source)at co.paralleluniverse.asm.ClassReader.accept(Unknown Source)at co .paralleluniverse.fibers.instrument.MethodDatabase.checkFileAndClose(MethodDatabase.java:347)at co.paralleluniverse.fibers.instrument.MethodDatabase.checkClass(MethodDatabase.java:324)at co.paralleluniverse.fibers.instrument.MethodDatabase.getOrLoadClassEntry(MethodDatabase) .java:183)at co.paralleluniverse.fibers.instrument.MethodDatabase.isMethodSuspendable0(MethodDatabase.java:194)at co.paralleluniverse.fibers.instrument.MethodDatabase.isMethodSuspendable(MethodDatabase.java:161)at atco.paralleluniverse.fibers.instrument.InstrumentMethod.isSuspendableCall(InstrumentMethod.java:231)at co.paralleluniverse.fibers.instrument.LabelSuspendableCallSitesClassVisitor $ 1.visitMethodInsn(LabelSuspendableCallSitesClassVisitor.java:64)at co.paralleluniverse.asm.ClassReader.a(Unknown源)在co.paralleluniverse.asm.ClassReader.b(来源不明)在co.paralleluniverse.asm.ClassReader.accept(来源不明)在co.paralleluniverse.asm.ClassReader.accept(来源不明)在co.paralleluniverse.fibers .instrument.QuasarInstrumentor.instrumentClass(QuasarInstrumentor.java:123)在co.paralleluniverse.fibers.instrument.QuasarInstrumentor.instrumentClass(QuasarInstrumentor.java:94)在co.paralleluniverse.fibers.instrument.JavaAgent $ Transformer.transform(JavaAgent.java :209)在sun.instrument.TransformerManager.transform(来源不明)在sun.instrument.InstrumentationImpl.transform(来源不明)在java.lang.ClassLoader.defineClass1(本机方法)在需要java.lang.ClassLoader.defineClass (来源不明)在java.security.SecureClassLoader.defineClass(来源不明)在java.net.URLClassLoader.defineClass(来源不明)在java.net.URLClassLoader.access $ 100(来源不明)在java.net.URLClassLoader的$ 1.run java.net.URLClassLoader上的java.net.URLClassLoader $ 1.run(未知源)的未知源(未知来源)java.lang.Classvilevile(Java)的java.seLC.Lomp(自然源)来源不明)在sun.misc.Launcher $ AppClassLoader.loadClass(来源不明)在java.lang.ClassLoader.loadClass(来源不明)在sun.instrument.InstrumentationImpl.loadClassAndStartAgent(来源不明)在sun.instrument.InstrumentationImpl.loadClassAndCallPremain(未知来源)

并且在一段短暂的时间之后,节点完成显示它的常用corda徽标,然后是H2控制台URL,作为正常节点 . 这是正常的行为吗?

我使用kotlin编程 .

2 回答

  • 2

    有可能

    • call 函数未使用 @Suspendable 进行批注

    • 你的一个函数 send / receive / subFlow 也调用发送/接收没有用 @Suspendable 注释

  • 3

    您可能错过了 @Suspendable 注释,或者在需要暂停的函数中包含了lambda .

相关问题