Argon2 Extension - could not initialise class

Hi all,

Apologies if this is the wrong board, wanted to make sure I was posting to the forum before raising any issues.

I have installed the Argon2 extension in the Lucee admin panel and attempted to use the GenerateArgon2Hash() function but I don’t seem to be able to run this extension’s functions by default.

I’m using a totally fresh out the box Lucee install on a Linux box, and a previously configured one on Windows. Do I need to find/include the library myself?

Thanks,
nb2

Stacktrace below

lucee.runtime.exp.NativeException: Could not initialize class de.mkammerer.argon2.jna.Argon2Library
 at de.mkammerer.argon2.BaseArgon2.hashBytes(BaseArgon2.java:367)
 at de.mkammerer.argon2.BaseArgon2.hashBytes(BaseArgon2.java:359)
 at de.mkammerer.argon2.BaseArgon2.hash(BaseArgon2.java:77)
 at de.mkammerer.argon2.BaseArgon2.hash(BaseArgon2.java:60)
 at org.lucee.extension.argon2.GenerateArgon2Hash.invoke(GenerateArgon2Hash.java:90)
 at lucee.runtime.functions.FunctionHandlerPool.invoke(FunctionHandlerPool.java:40)
 at info_cfm$cf.call(/info.cfm:2)
 at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1114)
 at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1008)
 at lucee.runtime.listener.ClassicAppListener._onRequest(ClassicAppListener.java:66)
 at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:44)
 at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2806)
 at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2793)
 at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2764)
 at lucee.runtime.engine.Request.exe(Request.java:45)
 at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1174)
 at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1131)
 at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:99)
 at lucee.loader.servlet.jakarta.CFMLServlet.service(CFMLServlet.java:41)
 at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)
 at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
 at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:424)
 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)
 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)
 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
 at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)
 at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)
 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)
 at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class de.mkammerer.argon2.jna.Argon2Library
 ... 39 more
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.UnsatisfiedLinkError: Unable to load library 'argon2':
libargon2.so: cannot open shared object file: No such file or directory
libargon2.so: cannot open shared object file: No such file or directory
Native library (linux-x86-64/libargon2.so) not found in resource path (/opt/lucee/tomcat/bin/bootstrap.jar:/opt/lucee/tomcat/bin/tomcat-juli.jar) [in thread "ajp-nio-127.0.0.1-8009-exec-2"]
 at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:323)
 at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:483)
 at com.sun.jna.Library$Handler.<init>(Library.java:197)
 at com.sun.jna.Native.load(Native.java:622)
 at com.sun.jna.Native.load(Native.java:596)
 at de.mkammerer.argon2.jna.Argon2Library.<clinit>(Argon2Library.java:13)
 ... 39 more

Don’t forget to tell us about your stack!

OS: Linux (Debian 13) & Windows (Windows Server 2022 Standard)
Java Version: Apache Tomcat/11.0.15
Tomcat Version: 21.0.9 (Eclipse Adoptium) 64bit
Lucee Version: Lucee 7.0.1.100

Hi, this is a known issue with the current Argon2 extension.

Use the older version 1.0.0.6 instead.