Regression: Argon2 Extension: cannot find class with Lucee 6
Description
Environment
The argon2 extension DOES work in release 6.0.4.10
It does NOT work in any RELEASE after that.
I have tested (with failure) with Lucee versions:
6.1.0.243
6.1.1.118
6.2.1.29-SNAPSHOT
6.2.0.316-RC
Below is the stack trace from 6.1.1.118:
lucee.runtime.exp.NativeException: de/mkammerer/argon2/Argon2Factory$Argon2Types
at org.lucee.extension.argon2.GenerateArgon2Hash.invoke(GenerateArgon2Hash.java:33)
at lucee.runtime.functions.FunctionHandlerPool.invoke(FunctionHandlerPool.java:40)
at handlers.staffdetails_cfc$cf.udfCall(/handlers/StaffDetails.cfc:166)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:112)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:357)
at lucee.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:214)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:716)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:588)
at lucee.runtime.ComponentImpl.callWithNamedValues(ComponentImpl.java:2052)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithNamedValues(VariableUtilImpl.java:909)
at lucee.runtime.functions.dynamicEvaluation.Invoke.call(Invoke.java:54)
at system.web.controller_cfc$cf.udfCall4(/coldbox/system/web/Controller.cfc:1257)
at system.web.controller_cfc$cf.udfCall(/coldbox/system/web/Controller.cfc)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:112)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:357)
at lucee.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:214)
at lucee.runtime.type.scope.UndefinedImpl.callWithNamedValues(UndefinedImpl.java:800)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithNamedValues(VariableUtilImpl.java:875)
at lucee.runtime.PageContextImpl.getFunctionWithNamedValues(PageContextImpl.java:2024)
at system.web.controller_cfc$cf.udfCall3(/coldbox/system/web/Controller.cfc:1006)
at system.web.controller_cfc$cf.udfCall(/coldbox/system/web/Controller.cfc)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:112)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:357)
at lucee.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:214)
at lucee.runtime.type.scope.UndefinedImpl.callWithNamedValues(UndefinedImpl.java:800)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithNamedValues(VariableUtilImpl.java:875)
at lucee.runtime.PageContextImpl.getFunctionWithNamedValues(PageContextImpl.java:2024)
at system.web.controller_cfc$cf.udfCall3(/coldbox/system/web/Controller.cfc:713)
at system.web.controller_cfc$cf.udfCall(/coldbox/system/web/Controller.cfc)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:112)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:357)
at lucee.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:214)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:716)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:588)
at lucee.runtime.ComponentImpl.callWithNamedValues(ComponentImpl.java:2052)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithNamedValues(VariableUtilImpl.java:875)
at lucee.runtime.PageContextImpl.getFunctionWithNamedValues(PageContextImpl.java:2024)
at coldbox.system.bootstrap_cfc$cf.udfCall1(/coldbox/system/Bootstrap.cfc:290)
at coldbox.system.bootstrap_cfc$cf.udfCall(/coldbox/system/Bootstrap.cfc)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:112)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:357)
at lucee.runtime.type.UDFImpl.call(UDFImpl.java:224)
at lucee.runtime.type.scope.UndefinedImpl.call(UndefinedImpl.java:782)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:796)
at lucee.runtime.PageContextImpl.getFunction(PageContextImpl.java:1992)
at coldbox.system.bootstrap_cfc$cf.udfCall1(/coldbox/system/Bootstrap.cfc:506)
at coldbox.system.bootstrap_cfc$cf.udfCall(/coldbox/system/Bootstrap.cfc)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:112)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:357)
at lucee.runtime.type.UDFImpl.call(UDFImpl.java:224)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:715)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:588)
at lucee.runtime.ComponentImpl.call(ComponentImpl.java:2033)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:796)
at lucee.runtime.PageContextImpl.getFunction(PageContextImpl.java:1992)
at application_cfc$cf.udfCall(/Application.cfc:186)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:112)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:357)
at lucee.runtime.type.UDFImpl.call(UDFImpl.java:224)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:715)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:588)
at lucee.runtime.ComponentImpl.call(ComponentImpl.java:2033)
at lucee.runtime.listener.ModernAppListener.call(ModernAppListener.java:476)
at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:129)
at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:41)
at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2725)
at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2712)
at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2683)
at lucee.runtime.engine.Request.exe(Request.java:45)
at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1159)
at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1116)
at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97)
at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
at org.cfmlprojects.regexpathinfofilter.RegexPathInfoFilter.doFilter(RegexPathInfoFilter.java:54)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at runwar.undertow.SSLCertHeaderHandler.handleRequest(SSLCertHeaderHandler.java:161)
at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:257)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchToPath(ServletInitialHandler.java:182)
at io.undertow.servlet.spec.RequestDispatcherImpl.forwardImpl(RequestDispatcherImpl.java:189)
at io.undertow.servlet.spec.RequestDispatcherImpl.forwardImplSetup(RequestDispatcherImpl.java:137)
at io.undertow.servlet.spec.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:100)
at org.cfmlprojects.regexpathinfofilter.RegexPathInfoFilter.doFilter(RegexPathInfoFilter.java:52)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at runwar.undertow.SSLCertHeaderHandler.handleRequest(SSLCertHeaderHandler.java:161)
at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:275)
at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:79)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:134)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:131)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:255)
at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:175)
at io.undertow.server.handlers.HttpContinueReadHandler.handleRequest(HttpContinueReadHandler.java:69)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at runwar.undertow.WelcomeFileHandler.handleRequest(WelcomeFileHandler.java:49)
at io.undertow.server.handlers.PathHandler.handleRequest(PathHandler.java:104)
at runwar.undertow.SiteDeployment$1.handleRequest(SiteDeployment.java:164)
at io.undertow.predicate.PredicatesHandler.handleRequest(PredicatesHandler.java:141)
at io.undertow.predicate.PredicatesHandler.handleRequest(PredicatesHandler.java:141)
at io.undertow.server.handlers.SetAttributeHandler.handleRequest(SetAttributeHandler.java:119)
at io.undertow.server.handlers.builder.RewriteHandlerBuilder$2$1.handleRequest(RewriteHandlerBuilder.java:92)
at io.undertow.predicate.PredicatesHandler.handleRequest(PredicatesHandler.java:113)
at io.undertow.predicate.PredicatesHandler.handleRequest(PredicatesHandler.java:113)
at io.undertow.server.handlers.DisallowedMethodsHandler.handleRequest(DisallowedMethodsHandler.java:62)
at io.undertow.predicate.PredicatesHandler.handleRequest(PredicatesHandler.java:113)
at io.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
at runwar.undertow.LifecyleHandler.handleRequest(LifecyleHandler.java:143)
at runwar.undertow.SiteDeployment$4.handleRequest(SiteDeployment.java:354)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:854)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2019)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1558)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1423)
at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: de/mkammerer/argon2/Argon2Factory$Argon2Types
... 144 more
Caused by( java.lang.ClassNotFoundException: de.mkammerer.argon2.Argon2Factory$Argon2Types not found by argon2.extension [64]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1591)
at org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1976)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 144 more
is caused by
relates to
Activity
Gavin Baumanis 25 February 2025 at 04:14
Sorry @Zac Spitzer
I tries with Java 11 and 21 - but it seems that you worked that…again sorry I missed it in the report.
I can confirm that downgrading to 1.0.0.6 with Java 21 and Lucee 6.1.1.118 works correctly, too.
Zac Spitzer 24 February 2025 at 15:17Edited
Try 1.0.0.6 it should be fine, the latest version 1.0.0.7 has the above problems
Zac Spitzer 24 February 2025 at 11:07
ok seems to be failing CI with 6.1 / java 11
https://github.com/lucee/extension-argon2/actions/runs/13496516430
and 6.2 java 21
https://github.com/lucee/extension-argon2/actions/runs/13496553161/job/37705046530
Zac Spitzer 24 February 2025 at 11:01
@Gavin Baumanis what platform / environment / jre / extension version?
Details
Assignee
Michael OffnerMichael OffnerReporter
Gavin BaumanisGavin BaumanisPriority
NewNew Issue warning screen
Before you create a new Issue, please post to the mailing list first https://dev.lucee.org
Once the issue has been verified, one of the Lucee team will ask you to file an issue
Sprint
Affects versions
Details
Details
Assignee
Reporter
Priority
New Issue warning screen
Before you create a new Issue, please post to the mailing list first https://dev.lucee.org
Once the issue has been verified, one of the Lucee team will ask you to file an issue
The argon2 extension DOES NOT work in release AFTER 6.0.4.10
Argon Extension 1.0.0.7 isn’t working, use 1.0.0.6 instead