nitrite-java icon indicating copy to clipboard operation
nitrite-java copied to clipboard

Compatibility with GraalVM

Open Gillani0 opened this issue 4 years ago • 2 comments

Hi, I'd love to use this awsome library with the native graalVM support.

Currently I'm fixing the similar issue as described here. Following are my error logs:

Detailed message:
Trace: Object was reached by 
        reading field java.security.SecureRandom.secureRandomSpi of
                constant java.security.SecureRandom@45c5e218 reached by 
        scanning method org.dizitart.no2.Security.getNextSalt(Security.java:140)
Call path from entry point to org.dizitart.no2.Security.getNextSalt(): 
        at org.dizitart.no2.Security.getNextSalt(Security.java:139)
        at org.dizitart.no2.Security.createSecurely(Security.java:59)
        at org.dizitart.no2.NitriteBuilder.openOrCreateInternal(NitriteBuilder.java:459)
        at org.dizitart.no2.NitriteBuilder.openOrCreate(NitriteBuilder.java:415)
        at com.wattsense.config.DbTemplate.init(DbTemplate.kt:37)
        at com.wattsense.config.DbTemplate.onStart(DbTemplate.kt:22)
        at com.wattsense.config.DbTemplate_Observer_onStart_fd71b5e0b207b7d1ef838b94eaeff75e52b8f463.notify(DbTemplate_Observer_onStart_fd71b5e0b207b7d1ef838b94eaeff75e52b8f463.zig:147)
        at io.quarkus.arc.impl.EventImpl$DeferredEventNotification.run(EventImpl.java:426)
        at com.oracle.svm.core.jdk.RuntimeSupport.executeHooks(RuntimeSupport.java:125)
        at com.oracle.svm.core.jdk.RuntimeSupport.executeStartupHooks(RuntimeSupport.java:75)
        at com.oracle.svm.core.JavaMainWrapper.runCore(JavaMainWrapper.java:141)
        at com.oracle.svm.core.JavaMainWrapper.run(JavaMainWrapper.java:184)
        at com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_5087f5482cc9a6abc971913ece43acb471d2631b(generated:0)

com.oracle.svm.core.util.UserError$UserException: No instances of sun.security.provider.NativePRNG are allowed in the image heap as this class should be initialized at image runtime. To see how this object got instantiated use -H:+TraceClassInitialization.
Detailed message:
Trace: Object was reached by 
        reading field java.security.SecureRandom.secureRandomSpi of
                constant java.security.SecureRandom@45c5e218 reached by 
        scanning method org.dizitart.no2.Security.getNextSalt(Security.java:140)
Call path from entry point to org.dizitart.no2.Security.getNextSalt(): 
        at org.dizitart.no2.Security.getNextSalt(Security.java:139)
        at org.dizitart.no2.Security.createSecurely(Security.java:59)
        at org.dizitart.no2.NitriteBuilder.openOrCreateInternal(NitriteBuilder.java:459)
        at org.dizitart.no2.NitriteBuilder.openOrCreate(NitriteBuilder.java:415)
        at com.wattsense.config.DbTemplate.init(DbTemplate.kt:37)
        at com.wattsense.config.DbTemplate.onStart(DbTemplate.kt:22)
        at com.wattsense.config.DbTemplate_Observer_onStart_fd71b5e0b207b7d1ef838b94eaeff75e52b8f463.notify(DbTemplate_Observer_onStart_fd71b5e0b207b7d1ef838b94eaeff75e52b8f463.zig:147)
        at io.quarkus.arc.impl.EventImpl$DeferredEventNotification.run(EventImpl.java:426)
        at com.oracle.svm.core.jdk.RuntimeSupport.executeHooks(RuntimeSupport.java:125)
        at com.oracle.svm.core.jdk.RuntimeSupport.executeStartupHooks(RuntimeSupport.java:75)
        at com.oracle.svm.core.JavaMainWrapper.runCore(JavaMainWrapper.java:141)
        at com.oracle.svm.core.JavaMainWrapper.run(JavaMainWrapper.java:184)
        at com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_5087f5482cc9a6abc971913ece43acb471d2631b(generated:0)

Gillani0 avatar Dec 09 '20 10:12 Gillani0

I have not tested it with GraalVM. But any community contribution is more than welcome.

anidotnet avatar Dec 09 '20 10:12 anidotnet

Have you got any progress on this issue?

anidotnet avatar Jun 06 '21 18:06 anidotnet