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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions