-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Description
hello there,
I'll been trying to create a simple vanilla deeplearning4j application using Wildfly 29 in both Windows and Linux (Docker container) but I'm getting the same error:
2025-04-30 17:31:28,633 ERROR [stderr] (default task-1) Caused by: java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "org.bytedeco.javacpp.indexer.Raw.putLong(long, long)" because "org.bytedeco.javacpp.indexer.LongRawIndexer.RAW" is null
2025-04-30 17:31:28,633 ERROR [stderr] (default task-1) at deployment.sa-deeplearning-1.0.0-M2.1.war//org.nd4j.linalg.api.buffer.BaseDataBuffer.readContent(BaseDataBuffer.java:1678)
2025-04-30 17:31:28,633 ERROR [stderr] (default task-1) at deployment.sa-deeplearning-1.0.0-M2.1.war//org.nd4j.linalg.api.buffer.BaseDataBuffer.read(BaseDataBuffer.java:1572)
2025-04-30 17:31:28,633 ERROR [stderr] (default task-1) ... 55 more
2025-04-30 17:31:28,633 ERROR [stderr] (default task-1) Caused by: java.lang.NullPointerException: Cannot invoke "org.bytedeco.javacpp.indexer.Raw.putLong(long, long)" because "org.bytedeco.javacpp.indexer.LongRawIndexer.RAW" is null
2025-04-30 17:31:28,633 ERROR [stderr] (default task-1) at deployment.sa-deeplearning-1.0.0-M2.1.war//org.bytedeco.javacpp.indexer.LongRawIndexer.putRaw(LongRawIndexer.java:107)
2025-04-30 17:31:28,633 ERROR [stderr] (default task-1) at deployment.sa-deeplearning-1.0.0-M2.1.war//org.bytedeco.javacpp.indexer.LongRawIndexer.put(LongRawIndexer.java:111)
2025-04-30 17:31:28,633 ERROR [stderr] (default task-1) at deployment.sa-deeplearning-1.0.0-M2.1.war//org.nd4j.linalg.api.buffer.BaseDataBuffer.put(BaseDataBuffer.java:1268)
2025-04-30 17:31:28,633 ERROR [stderr] (default task-1) at deployment.sa-deeplearning-1.0.0-M2.1.war//org.nd4j.linalg.api.buffer.BaseDataBuffer.putByDestinationType(BaseDataBuffer.java:1035)
2025-04-30 17:31:28,633 ERROR [stderr] (default task-1) at deployment.sa-deeplearning-1.0.0-M2.1.war//org.nd4j.linalg.api.buffer.BaseDataBuffer.readContent(BaseDataBuffer.java:1630)
2025-04-30 17:31:28,633 ERROR [stderr] (default task-1) ... 56 more
I tried with all the tricks I could find in the web from adding the platform attribute during maven building:
mvn -Djavacpp.platform=windows-x86_64 clean install
To create an uber Jar file in both Windows and Linux but I'm still getting the same error, sometimes I get the ND4J backend error but that's fixed by adding the proper dependency:
<dependency>
<groupId>org.nd4j</groupId>
<artifactId>nd4j-native</artifactId>
<version>${dl4j-master.version}</version>
</dependency>
When I execute the test directly with Java everything works perfect on both my local Windows machine and in Docker terminal, the example is able to create the model, fit the training data and store the model + normalizer, but when I try to ether train the new model or load the saved model in WildFly I'm always getting this error, please help 🤕