Cannot update/install any extensions

I’m trying to run Lucee 6 through CommandBox. Everything seems to load fine, but whenever I try to install or update any extension, I keep getting this error:

java.sql.ResultSetMetaData lucee.runtime.type.Query.getMetaData()

Details:

lucee.runtime.exp.NativeException: 'java.sql.ResultSetMetaData lucee.runtime.type.Query.getMetaData()' at lucee.runtime.type.QueryImpl.cloneQuery(QueryImpl.java:3376) at lucee.runtime.type.QueryImpl.duplicate(QueryImpl.java:1525) at lucee.runtime.op.Duplicator.duplicate(Duplicator.java:131) at lucee.runtime.type.StructImpl.copy(StructImpl.java:291) at lucee.runtime.type.StructImpl.duplicate(StructImpl.java:275) at lucee.runtime.op.Duplicator.duplicate(Duplicator.java:131) at lucee.runtime.cache.tag.http.HTTPCacheItem.duplicate(HTTPCacheItem.java:105) at lucee.runtime.op.Duplicator.duplicate(Duplicator.java:132) at lucee.runtime.cache.ram.RamCache.decouple(RamCache.java:288) at lucee.runtime.cache.ram.RamCache.put(RamCache.java:204) at lucee.runtime.cache.tag.timespan.TimespanCacheHandler.set(TimespanCacheHandler.java:92) at lucee.runtime.tag.Http._doEndTag(Http.java:1358) at lucee.runtime.tag.Http.doEndTag(Http.java:697) at ext_functions_cfm184$cf.udfCall3(/admin/ext.functions.cfm:617) at ext_functions_cfm184$cf.udfCall(/admin/ext.functions.cfm) 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:811) at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:773) at lucee.runtime.PageContextImpl.getFunction(PageContextImpl.java:2075) at ext_functions_cfm184$cf.udfCall2(/admin/ext.functions.cfm:583) at ext_functions_cfm184$cf.udfCall(/admin/ext.functions.cfm) 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:811) at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:773) at lucee.runtime.PageContextImpl.getFunction(PageContextImpl.java:2075) at ext_applications_cfm184$cf.call(/admin/ext.applications.cfm:65) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1112) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1006) at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:987) at web_cfm$cf.call_000007(/admin/web.cfm:521) at web_cfm$cf.call(/admin/web.cfm:515) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1112) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1006) at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:987) at index_cfm$cf.call(/admin/index.cfm:3) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1112) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1006) at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:213) at lucee.runtime.listener.ModernAppListener.onRequest(ModernAppListener.java:100) at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2810) at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2797) at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2768) at lucee.runtime.engine.Request.exe(Request.java:45) at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1109) at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1066) 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.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:75) 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:270) at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:129) at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:126) 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:250) at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:170) 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:169) at io.undertow.predicate.PredicatesHandler.handleRequest(PredicatesHandler.java:141) 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 io.undertow.server.handlers.accesslog.AccessLogHandler.handleRequest(AccessLogHandler.java:148) at runwar.undertow.LifecyleHandler.handleRequest(LifecyleHandler.java:145) at runwar.undertow.SiteDeployment$4.handleRequest(SiteDeployment.java:360) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:893) at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18) at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538) at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) at java.base/java.lang.Thread.run(Unknown Source) Caused by: java.lang.NoSuchMethodError: 'java.sql.ResultSetMetaData lucee.runtime.type.Query.getMetaData()' ... 101 more 

I am able to manually install extensions, but then I get the same error message when I load up my website, particularly when there’s code using the duplicate() function.

I’ve also tried Lucee 6.2.4.24, but have the same problem. Any help is much appreciated!

OS MacOS 26.2
Java Version: 11.0.29
Lucee Version: 6.2.1.122
CommandBox Version: 6.3.1
Tomcat Version:

I just updated Java to version 21.0.7 and still get the same error.

Can you try the latest 6.2.5 SNAPSHOT first?

Was this working on an older version of Lucee

Are you able to strip down an example to reproduce the problem?

Yes, will try 6.2.5 SNAPSHOT now.

I’m switching from Coldfusion to Lucee, so not sure about older versions.

What do you mean by “strip down an example”? Are you referring to the config file?

As in grab the code which throws the error, then progressively strip it back till you have a minimal example which reproduces the problem

It’s a bit of an art, something @micstriit has taught me over the years. I’m the Lucee triage nurse.

As a platform engineer most of my time is spent triage and creating a tiny testbox testcase to repo.

We have a fantastic set of tests built up over the years, makes innovating a lot easier

Just tried 6.2.5.34-SNAPSHOT and got the same error message.

And yes, I’ll get an example for you in a bit. The fastest test for me is to try to update/install any extension in the Lucee admin though.

My preferred way to triage is using script runner and these days my dear friend Claude code coz it’s super fucking fast

Thanks, I’ll check it out!

Why would installing extensions in the admin throw this error? Have you seen this before?

Dunno, you haven’t given me enough info to really say!

I.e which extension(s) / Code in question

Sorry about that, still trying to get some code for you.

As far as extensions, start the server, log in to admin and try to install MariaDB 3.5.3 extension. Or update mySQL.

The MySQL ext is better, the mariadb is how old?

latest is 9.5.0 yeah, bundled is 9.3.0 or 9.4.0 with 6.2 atm?

Does the bundled MySQL work?

No, I can’t update the MySQL extension either: “‘java.sql.ResultSetMetaData lucee.runtime.type.Query.getMetaData()’”

Looks like it’s something with Lucee’s duplicate() function. We have code that duplicates a component, and it throws this error.

I can’t post the code for the component, but I can also reproduce it with duplicating a simple query:

<CFQUERY NAME="getPage" DATASOURCE="#Application.DataSource#"  username="userRW" password="#Application.userRWPassword#">
    SELECT pagetype FROM pages WHERE pageid = 1
</CFQUERY>

<cfset copy = duplicate(getPage) />

I kind of figured out the problem - it was in my server.json file. I defined app.libDirs that points to a directory in our code. It has .jar and .class files in it.

I’m guessing it might be one of the files, but not sure. I was previously using this same server.json to spin up CF2016 and it worked just fine.