hyperledger-cacti / cacti

Hyperledger Cacti is a new approach to the blockchain interoperability problem
https://wiki.hyperledger.org/display/cactus
Apache License 2.0
345 stars 286 forks source link

Error in Corda build #208

Closed lucianoacsilva closed 4 years ago

lucianoacsilva commented 4 years ago

Hello,

Got this error when trying build the Corda Network:

[quasar] ERROR: java/util/List java.lang.IllegalArgumentException at co.paralleluniverse.asm.ClassReader.(Unknown Source) at co.paralleluniverse.asm.ClassReader.(Unknown Source) at co.paralleluniverse.asm.ClassReader.(Unknown Source) at co.paralleluniverse.fibers.instrument.MethodDatabase.checkFileAndClose(MethodDatabase.java:344) 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 co.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 Source) 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.QuasarInstrumentor.instrumentClass(QuasarInstrumentor.java:123) at co.paralleluniverse.fibers.instrument.QuasarInstrumentor.instrumentClass(QuasarInstrumentor.java:94) at co.paralleluniverse.fibers.instrument.JavaAgent$Transformer.transform(JavaAgent.java:209) at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:246) at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188) at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:563) at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151) at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at java.base/java.lang.Class.getDeclaredMethods0(Native Method) at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3171) at java.base/java.lang.Class.getMethodsRecursive(Class.java:3312) at java.base/java.lang.Class.getMethod0(Class.java:3298) at java.base/java.lang.Class.getMethod(Class.java:2111) at java.base/sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:816) at java.base/sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:675)

Does someone know what could be the reason?

petermetz commented 4 years ago

@lucianoacsilva What OS? What command did you run to do the build?

lucianoacsilva commented 4 years ago

Hello, @petermetz ,

macOS Catalina 10.15.5,

I ran the command npm run corda:build

petermetz commented 4 years ago

Hello, @petermetz ,

macOS Catalina 10.15.5,

I ran the command npm run corda:build

@lucianoacsilva Alright, let's see. If you run this, does that work? (takes a long time and needs at least 16 GB RAM in your machine)

CI_NO_CORDA=true ./contribs/Accenture-BIF/core/tools/ci.sh
lucianoacsilva commented 4 years ago

@petermetz , does it really needs 16 GB of RAM on host machine? Mine has only 8 GB.

petermetz commented 4 years ago

@petermetz , does it really needs 16 GB of RAM on host machine? Mine has only 8 GB.

@lucianoacsilva Yeah, unfortunately the old CI script is pretty resource hungry. It's a coin toss if it will run on 8 GB and not fail in some unexpected way that traces back to the amount of RAM you have.

lucassaldanha commented 4 years ago

@petermetz I believe your msg was meant to be sent to @lucianoacsilva :)

Yeah, unfortunately the old CI script is pretty resource hungry. It's a coin toss if it will run on 8 GB and not fail in some unexpected way that traces back to the amount of RAM you have.

petermetz commented 4 years ago

@petermetz I believe your msg was meant to be sent to @lucianoacsilva :)

Yeah, unfortunately the old CI script is pretty resource hungry. It's a coin toss if it will run on 8 GB and not fail in some unexpected way that traces back to the amount of RAM you have.

Oops, apologies. Fixed now. :-)

lucianoacsilva commented 4 years ago

Thanks, @petermetz

lucianoacsilva commented 4 years ago

@petermetz , to test the Fabric to Quorum scenario (or vice-versa), is it necessary to have Corda blockchain working? Because I cannot run it, my host machine has only 8 GB of RAM.

lucianoacsilva commented 4 years ago

Hello, @petermetz , macOS Catalina 10.15.5, I ran the command npm run corda:build

@lucianoacsilva Alright, let's see. If you run this, does that work? (takes a long time and needs at least 16 GB RAM in your machine)

CI_NO_CORDA=true ./contribs/Accenture-BIF/core/tools/ci.sh

I am using java 12. I try to change to Java 8 here on my Mac, but the machine does not change Java Version.

lucianoacsilva commented 4 years ago

@petermetz , I ran this command here and did not work.

CI_NO_CORDA=true ./contribs/Accenture-BIF/core/tools/ci.sh

petermetz commented 4 years ago

@petermetz , I ran this command here and did not work.

CI_NO_CORDA=true ./contribs/Accenture-BIF/core/tools/ci.sh

@lucianoacsilva Unfortunately it might have been broken recently by external factors: https://stackoverflow.com/a/62862682 Will look into this, but the much higher priority at the moment is to have the same (or similar) asset transfer examples up and running with the new architecture (e.g. the code under the ./packages/ directory)

lucianoacsilva commented 4 years ago

@petermetz , I ran this command here and did not work. CI_NO_CORDA=true ./contribs/Accenture-BIF/core/tools/ci.sh

@lucianoacsilva Unfortunately it might have been broken recently by external factors: https://stackoverflow.com/a/62862682 Will look into this, but the much higher priority at the moment is to have the same (or similar) asset transfer examples up and running with the new architecture (e.g. the code under the ./packages/ directory)

I see, @petermetz . So, the examples under simple-asset-transfer folder are not made according to the architecture explained in the README.md in the root of the repo?

petermetz commented 4 years ago

@lucianoacsilva Sorry for the tardy reply. That's right, everything under ./contribs is the old codebases that new ./packages/ is being built from on a conceptual level, but there's no technical connection between the two.

petermetz commented 4 years ago

@lucianoacsilva

TLDR: Please track these for progress as the current issue is being superseded by them: https://github.com/hyperledger/cactus/issues/143 https://github.com/hyperledger/cactus/issues/280 https://github.com/hyperledger/cactus/issues/189

Because we started having issues with the old codebase related to OSS licensing as well, it was determined that it's just easier to retire it completely and go full throttle on the new examples that will demonstrate similar functionality but in a way that works much more consistently and is less resource intensive (hardware, especially RAM).

yochliu8 commented 4 years ago

@petermetz , does it really needs 16 GB of RAM on host machine? Mine has only 8 GB.

@lucianoacsilva Yeah, unfortunately the old CI script is pretty resource hungry. It's a coin toss if it will run on 8 GB and not fail in some unexpected way that traces back to the amount of RAM you have.