Skip to content

Cannot be loaded under Oracle 23ai #467

@bozsikarmand

Description

@bozsikarmand

Describe the bug
Password4j 1.8.2 cannot be loaded under Oracle 23ai free because most of the time ora-29532 java call terminated by uncaught java exception java.lang.noclassdeffounderror org/slf4j/loggerfactory happens.

To Reproduce
Try to load slf4j-api and then password4j 1.8.2/1.8.3 into Oracle database via

loadjava -r -v -f -s -g "$SCHEMA_NAME" -resolve -user "$SCHEMA_NAME/$SCHEMA_PASSWORD@$CONTAINER_NAME" "$jar_file"
loadjava -r -v -f -s -g "$SCHEMA_NAME" -append-resolver "((* -))" -jarsasdbobjects -user "$SCHEMA_NAME/$SCHEMA_PASSWORD@$CONTAINER_NAME" "$jar_file"
loadjava -v -thin -user "$SCHEMA_NAME/$SCHEMA_PASSWORD@$CONTAINER_NAME" "$jar_file"

(The examples are from a shell script of mine)

You will most likely get

ora-29532 java call terminated by uncaught java exception java.lang.noclassdeffounderror org/slf4j/loggerfactory

when you try to run an Argon2 implementation from Password4j, even though slf4j-api is loaded. I did not experience any change by upgrading to 1.8.3, sadly. Maybe I do something not the way it meant to be. With the -v -thin -user flags it works under 19c.

Expected behavior
I expect to use Password4j library in my project after load.

Environment:

OS: Oracle Linux 8 in docker
DB: Oracle 23ai free
JDK version:

In the database:
SELECT dbms_java.get_ojvm_property(PROPSTRING=>'java.version') FROM dual
11.0.27

On OL8:

java -version
openjdk version "17.0.15" 2025-04-15 LTS
OpenJDK Runtime Environment (Red_Hat-17.0.15.0.6-2.0.1) (build 17.0.15+6-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-17.0.15.0.6-2.0.1) (build 17.0.15+6-LTS, mixed mode, sharing)

Additional context
Most of the classes are loaded as org.slf4j///org/slf4j/... but they should be org/slf4j/...

For instance:

org.slf4j///org/slf4j/loggerfactory and org/slf4j/LoggerFactory

If you need anyhing to uncover this, I will gladly help. Thanks! :) Would it be possible to load the jar normally, so without module info? Could you build a jar withou modules for testing purposes?

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions