-
Bug
-
Resolution: Not an Issue
-
P4
-
None
-
22
-
generic
-
generic
ADDITIONAL SYSTEM INFORMATION :
openjdk version "22.0.1" 2024-04-16
OpenJDK Runtime Environment (build 22.0.1+8-16)
OpenJDK 64-Bit Server VM (build 22.0.1+8-16, mixed mode, sharing)
A DESCRIPTION OF THE PROBLEM :
When I run the program I get:
D:\Workspace\Panama\minimal\jar>"c:\Program Files\openjdk-22.0.1_windows-x64_bin\jdk-22.0.1\bin\java.exe" -Djava.library.path="c:\Windows\System32" --enable-native-access=ALL-UNNAMED -jar minimal-1.0.jar
21:23:21,371 INFO Main - PKCS#11 starting. Library=QsmLib
Exception in thread "main" java.lang.UnsatisfiedLinkError: no QsmLib in java.library.path: c:\Windows\System32
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2439)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:916)
at java.base/java.lang.System.loadLibrary(System.java:2068)
at panama.Panama.<init>(Panama.java:16)
at panama.Main.main(Main.java:18)
Although the program is:
public Panama(String libraryName) {
this.libraryName = libraryName;
try {
System.loadLibrary(libraryName);
} catch (Exception e) {
LOGGER.fatal("Failed to load library {}: ", libraryName, e);
}
}
REGRESSION : Last worked in version 22.0.1
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the program
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Failed to load library {}:
ACTUAL -
no QsmLib in java.library.path:
---------- BEGIN SOURCE ----------
package panama;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Main {
private static final Logger LOGGER = LogManager.getLogger("Main");
private static String libraryName = "QsmLib";
private static Panama panama;
public static void main(String[] args) {
LOGGER.info("PKCS#11 starting. Library={}", libraryName);
panama = new Panama(libraryName);
}
}
package panama;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Panama {
private static final Logger LOGGER = LogManager.getLogger("Panama");
private String libraryName;
public Panama(String libraryName) {
this.libraryName = libraryName;
try {
System.loadLibrary(libraryName);
} catch (Exception e) {
LOGGER.fatal("Failed to load library {}: ", libraryName, e);
}
}
public String getLibraryName() {
return libraryName;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d{ABSOLUTE} %-5p %c{1} - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="DEBUG">
<AppenderRef level="INFO" ref="STDOUT"/>
</Root>
</Loggers>
</Configuration>
---------- END SOURCE ----------
FREQUENCY : always
openjdk version "22.0.1" 2024-04-16
OpenJDK Runtime Environment (build 22.0.1+8-16)
OpenJDK 64-Bit Server VM (build 22.0.1+8-16, mixed mode, sharing)
A DESCRIPTION OF THE PROBLEM :
When I run the program I get:
D:\Workspace\Panama\minimal\jar>"c:\Program Files\openjdk-22.0.1_windows-x64_bin\jdk-22.0.1\bin\java.exe" -Djava.library.path="c:\Windows\System32" --enable-native-access=ALL-UNNAMED -jar minimal-1.0.jar
21:23:21,371 INFO Main - PKCS#11 starting. Library=QsmLib
Exception in thread "main" java.lang.UnsatisfiedLinkError: no QsmLib in java.library.path: c:\Windows\System32
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2439)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:916)
at java.base/java.lang.System.loadLibrary(System.java:2068)
at panama.Panama.<init>(Panama.java:16)
at panama.Main.main(Main.java:18)
Although the program is:
public Panama(String libraryName) {
this.libraryName = libraryName;
try {
System.loadLibrary(libraryName);
} catch (Exception e) {
LOGGER.fatal("Failed to load library {}: ", libraryName, e);
}
}
REGRESSION : Last worked in version 22.0.1
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the program
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Failed to load library {}:
ACTUAL -
no QsmLib in java.library.path:
---------- BEGIN SOURCE ----------
package panama;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Main {
private static final Logger LOGGER = LogManager.getLogger("Main");
private static String libraryName = "QsmLib";
private static Panama panama;
public static void main(String[] args) {
LOGGER.info("PKCS#11 starting. Library={}", libraryName);
panama = new Panama(libraryName);
}
}
package panama;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Panama {
private static final Logger LOGGER = LogManager.getLogger("Panama");
private String libraryName;
public Panama(String libraryName) {
this.libraryName = libraryName;
try {
System.loadLibrary(libraryName);
} catch (Exception e) {
LOGGER.fatal("Failed to load library {}: ", libraryName, e);
}
}
public String getLibraryName() {
return libraryName;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d{ABSOLUTE} %-5p %c{1} - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="DEBUG">
<AppenderRef level="INFO" ref="STDOUT"/>
</Root>
</Loggers>
</Configuration>
---------- END SOURCE ----------
FREQUENCY : always