I think there may be something broken with the stable release of Axis 1 1.4.0.38. I did the upgrade from 1.4.0.38-SNAPSHOT to 1.4.0.38 and everything was fine - until I restarted tomcat10. Then the previous behaviour resurfaced, i.e. admin backend behaving extremely sluggish and error messages complaining about missing org.apache.commons.net-3.3.0.jar.
So I deleted
"webservice": {
"class": "org.lucee.extension.axis.Axis1Handler",
"bundleName": "org.lucee.axis.extension",
"bundleVersion": "1.4.0.38"
}
from .CFConfig.json and restarted tomcat. Error messages disappeared. I then tried to immediately install Axis 1 Webservices Extension Release 1.4.0.38 - this fails with an error message in the Admin UI:
Unable to resolve org.lucee.axis.extension [83](R 83.0): missing requirement [org.lucee.axis.extension [83](R 83.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.axis)(bundle-version>=1.4.0.0006L)) [caused by: Unable to resolve org.lucee.axis [84](R 84.0): missing requirement [org.lucee.axis [84](R 84.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.apache.commons.net)(bundle-version>=3.3.0))] Unresolved requirements: [[org.lucee.axis.extension [83](R 83.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.axis)(bundle-version>=1.4.0.0006L))]
lucee.runtime.exp.NativeException: Unable to resolve org.lucee.axis.extension [83](R 83.0): missing requirement [org.lucee.axis.extension [83](R 83.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.axis)(bundle-version>=1.4.0.0006L)) [caused by: Unable to resolve org.lucee.axis [84](R 84.0): missing requirement [org.lucee.axis [84](R 84.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.apache.commons.net)(bundle-version>=3.3.0))] Unresolved requirements: [[org.lucee.axis.extension [83](R 83.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.axis)(bundle-version>=1.4.0.0006L))] at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4398) at org.apache.felix.framework.Felix.startBundle(Felix.java:2308) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:1006) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:992) at lucee.loader.osgi.BundleUtil.start(BundleUtil.java:112) at lucee.runtime.osgi.OSGiUtil._start(OSGiUtil.java:1489) at lucee.runtime.osgi.OSGiUtil._startIfNecessary(OSGiUtil.java:1440) at lucee.runtime.osgi.OSGiUtil.startIfNecessary(OSGiUtil.java:1432) at lucee.runtime.osgi.OSGiUtil._loadBundle(OSGiUtil.java:740) at lucee.runtime.osgi.OSGiUtil.loadBundle(OSGiUtil.java:678) at lucee.runtime.osgi.OSGiUtil$BundleDefinition.getBundle(OSGiUtil.java:2103) at lucee.commons.lang.ClassUtil.loadClassByBundle(ClassUtil.java:184) at lucee.commons.lang.ClassUtil.loadClassByBundle(ClassUtil.java:168) at lucee.transformer.library.ClassDefinitionImpl.getClazz(ClassDefinitionImpl.java:211) at lucee.transformer.library.ClassDefinitionImpl.getClazz(ClassDefinitionImpl.java:203) at lucee.runtime.config.ConfigAdmin.setClass(ConfigAdmin.java:6808) at lucee.runtime.config.ConfigAdmin._updateWebserviceHandler(ConfigAdmin.java:2031) at lucee.runtime.config.ConfigAdmin.updateRHExtension(ConfigAdmin.java:5071) at lucee.runtime.config.ConfigAdmin.updateRHExtension(ConfigAdmin.java:4766) at lucee.runtime.config.ConfigAdmin._updateRHExtension(ConfigAdmin.java:4746) at lucee.runtime.tag.Admin.doUpdateRHExtension(Admin.java:4340) at lucee.runtime.tag.Admin._doStartTag(Admin.java:757) at lucee.runtime.tag.Admin.doStartTag(Admin.java:359) at ext_applications_cfm184$cf.call(/admin/ext.applications.cfm:57) 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.jakarta.CFMLServlet.service(CFMLServlet.java:49) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:663) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: org.osgi.framework.BundleException: Unable to resolve org.lucee.axis.extension [83](R 83.0): missing requirement [org.lucee.axis.extension [83](R 83.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.axis)(bundle-version>=1.4.0.0006L)) [caused by: Unable to resolve org.lucee.axis [84](R 84.0): missing requirement [org.lucee.axis [84](R 84.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.apache.commons.net)(bundle-version>=3.3.0))] Unresolved requirements: [[org.lucee.axis.extension [83](R 83.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.axis)(bundle-version>=1.4.0.0006L))] ... 68 more
There’s a couple more stack traces caused by the installation attempt in application.log, essentially a number of these two:
"Severity","ThreadID","Date","Time","Application","Message"
"ERROR","http-nio-8080-exec-1","04/11/2025","13:15:59","OSGi","/var/lucee/config/server/lucee-server/bundles/org.apache.commons.net-3.3.0.jar;java.nio.file.NoSuchFileException: /var/lucee/config/server/lucee-server/bundles/org.apache.commons.net-3.3.0.jar
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55)
at java.base/sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:171)
at java.base/sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99)
at java.base/java.nio.file.Files.readAttributes(Files.java:1854)
at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1445)
at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:724)
…
"ERROR","http-nio-8080-exec-1","04/11/2025","13:15:59","OSGi","The OSGi Bundle with name [org.apache.commons.net] in version [[3.3.0,]] for [org.lucee.axis:1.4.0.0006L] is not available locally [ (/var/lucee/config/server/lucee-server/bundles)] or from the update provider [ (https://update.lucee.org)].;org.osgi.framework.BundleException: The OSGi Bundle with name [org.apache.commons.net] in version [[3.3.0,]] for [org.lucee.axis:1.4.0.0006L] is not available locally [ (/var/lucee/config/server/lucee-server/bundles)] or from the update provider [ (https://update.lucee.org)].
at lucee.runtime.osgi.OSGiUtil._loadBundle(OSGiUtil.java:823)
at lucee.runtime.osgi.OSGiUtil.loadBundles(OSGiUtil.java:1557)
at lucee.runtime.osgi.OSGiUtil._start(OSGiUtil.java:1474)
at lucee.runtime.osgi.OSGiUtil._startIfNecessary(OSGiUtil.java:1440)
at lucee.runtime.osgi.OSGiUtil.startIfNecessary(OSGiUtil.java:1432)
at lucee.runtime.osgi.OSGiUtil._loadBundle(OSGiUtil.java:740)
at lucee.runtime.osgi.OSGiUtil.loadBundles(OSGiUtil.java:1557)
at lucee.runtime.osgi.OSGiUtil._start(OSGiUtil.java:1474)
at lucee.runtime.osgi.OSGiUtil._startIfNecessary(OSGiUtil.java:1440)
at lucee.runtime.osgi.OSGiUtil.startIfNecessary(OSGiUtil.java:1432)
at lucee.runtime.osgi.OSGiUtil._loadBundle(OSGiUtil.java:740)
at lucee.runtime.osgi.OSGiUtil.loadBundle(OSGiUtil.java:678)
at lucee.runtime.osgi.OSGiUtil$BundleDefinition.getBundle(OSGiUtil.java:2103)
at lucee.commons.lang.ClassUtil.loadClassByBundle(ClassUtil.java:184)
So I restarted tomcat, then I installed 1.4.0.38-SNAPSHOT - and this went fine, Lucee UI stayed responsive, even after another tomcat restart. Then, just to reproduce the issue, I upgraded the extension to the 1.4.0.38 release again and the issues reappeared.
So, running Lucee 6.2.1.112-RC I cannot install Axis 1 Release 1.4.0.38, I can however install Axis 1 1.4.0.38-SNAPSHOT. Upgrading from Axis 1 1.4.0.38-SNAPSHOT to Axis 1 1.4.0.38 Release breaks things again. Aaaand going back to 1.4.0.38-SNAPSHOT using the Admin UI and downgrading the extension puts everything back to working order again.
So I think that there must definitely be some difference between 1.4.0.38-SNAPSHOT and 1.4.0.38, the latter has the distinct feel of being one version behind instead of an upgrade.