Upgrade to 5.4.7.3 - lucee.runtime.tag.Admin.doGetSpoolerTasks NPE

Hi,
Trying to upgrade to 5.4.7.3 from 5.4.3.16. On one Linux Tomcat9 server with a relatively fresh install, it works. On another with an installation that has probably been upgraded a few times in the past, I’m getting issues.

Specifically, in the Lucee admin, the overview page and the tasks page both throw an exception.

"ERROR","ajp-nio-127.0.0.1-8009-exec-8","04/10/2025","16:01:52","","java.lang.NullPointerException;lucee.runtime.exp.NativeException
: java.lang.NullPointerException
        at lucee.runtime.tag.Admin.doGetSpoolerTasks(Admin.java:3971)
        at lucee.runtime.tag.Admin._doStartTag(Admin.java:664)
        at lucee.runtime.tag.Admin.doStartTag(Admin.java:364)
        at services_tasks_cfm414$cf.call(/admin/services.tasks.cfm:131)
        at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1057)
        at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:949)
        at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:930)
        at web_cfm$cf.call(/admin/web.cfm:570)
        at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1057)
        at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:949)
        at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:930)
        at server_cfm$cf.call(/admin/server.cfm:2)
        at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1057)
        at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:949)
        at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:219)
        at lucee.runtime.listener.ModernAppListener.onRequest(ModernAppListener.java:107)
        at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2494)
        at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2479)
        at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2450)
        at lucee.runtime.engine.Request.exe(Request.java:45)
        at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1215)
        at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1161)
        at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97)
        at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:354)
        at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:433)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1684)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.NullPointerException
        ... 47 more

I suspect I could fix this with a fresh install, but I’d rather find the cause.

There are many diffs under WEB-INF between the servers.
Both still have WEB-INF/lib/lucee-5.4.3.16.jar

Any ideas of where to focus? Thanks!

Lucee is open source, have a look at the line in stacktrace for clues?

as the spooler dir is \lucee\tomcat\lucee-server\context\remote-client, looks like something is going wrong there, maybe just delete it?

alas stacktraces on these older versions of java aren’t as informative as modern java versions

Thanks for replying. I’ve followed the code as far as I can. The reason for asking here is just in case someone says “ah! i had that too and this is the fix…”

The remote-client directory is empty and has appriopriate permissions.

Unless anyone else has any advice, we’ll try a fresh install.