Lucee 5.1.2.24 Error (missinginclude)

Hi Lucee team,

I have a question regarding: Lucee 5.1.2.24 Error (missinginclude)

My page: http://p-t01as01:8888/index.cfm (not reachable outside). As soon as i remove the port:8888 and set cfm in the end i get this error like: http://p-t01as01/test.cfm
In this case i have to restart always the server. My question to you is how to solve this problem i mean how to avoid it. In case i put html or php i get no issues but the message this page is not found, which is good.

Below the error code Thank you so much for your support

Lucee 5.1.2.24 Error (missinginclude)
Message Page /asdlfj.cfm [/home/tcc/www/asdlfj.cfm] not found
Mapping /
Java Stacktrace lucee.runtime.exp.MissingIncludeException: Page /asdlfj.cfm [/home/tcc/www/asdlfj.cfm] not found
at lucee.runtime.PageSourceImpl.loadPage(PageSourceImpl.java:908)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:919)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:838)
at lucee.runtime.listener.ClassicAppListener._onRequest(ClassicAppListener.java:63)
at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:44)
at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2394)
at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2385)
at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2353)
at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:907)
at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:102)
at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

what is your webserver configuration, mod_cfml/boncode, mappings etc?

Basically, when you put port 8888 you are having Tomcat serve the webpage from Tomcat’s www directory. Without it you are port 80 and your webserver serves the webpage from it’s own www directory

yeah, I understand all that, I’m asking what your configuration is, because it sounds like a mapping / context issue?

any reason your example is with index.cfm on port 8888 and test.cfm on port 80?

ps: any reason your using such an old release rather than 5.2.6?

@Zackster, @kabutotx, Any news or ideas how to solve this issue? i have the same behavior?

Can this be solved with adding a mapping? : https://docs.lucee.org/guides/cookbooks/filesystem-mapping/filesystem-mapping-define-mapping.html

Zac was attempting to get to the root of the issue asking how the OP set up their site - but the OP never responded with how. Judging by the port, I’m guessing they used the installer, but either didn’t install mod_cfml and never set up their contexts correctly.

So, the same question goes for you @Ratooo, how did you install Lucee, what options did you choose, what’s your setup (os, web server, etc?) and does the “Missing Include” error point to the right directory or is the directory it’s showing wrong for that site?

1 Like

@Jordan_Michaels, If I remove port 8888 in the URL, for example p-reto/somthing.cfm then I get the missinginclude. Somehow the application doesn’t find a cfm file, which makes sense because it’s not assigned to port 8888, but then it should only displayed the page can’t be found and not crash the server. After this action the whole page isn’t working and whole application need to be restarted… Installation is on websever. Question how to avoid this? thank you for the help.
What exactly is mod_cfml and for what is it used for?

You’re getting the “missinginclude” error because your Tomcat context (site config) isn’t getting set up correctly.

I don’t understand what you mean by “it should only displayed the page can’t be found and not crash the server”, but again, based on what you’re saying, it sounds like your contexts aren’t getting configured correctly.

mod_cfml is an adapter that ships with the Lucee installers that helps automate your Tomcat configuration. It takes the site information from your web server and passes it to Tomcat - which copies it and uses it to configure your site context. Details here: http://viviotech.github.io/mod_cfml/

If you want to try to configure your site context manually, you can do that by editing your /opt/lucee/tomcat/conf/server.xml file directly. The process is similar to editing an Apache config file, and the file is commented so you have examples to work with.

I’m guessing your web server isn’t set up correctly and it’s getting passed to Tomcat. You can either try to fix your web server config or you can configure your Tomcat context manually. Either of these methods should help you.

@Jordan_Michaels thank you for the reply! what i meant was once i call p-reto/index.cfm (every url without port 8888 and at the end cfm) i got a missinginclude. Afterwards, every url call with port 8888 it displayed missinclude. In order to use the port 8888 again example: p-reto:8888/index.cfm i need to restart lucee. I will try to install your recommendation and see if it works.

Ah, okay. That makes sense. That actually fits with what I was saying earlier, about how your site isn’t configured correctly in your web server. Perhaps you installed your site in Tomcat’s “root” folder or something along those lines? If you then hit your site through IIS, the incorrect config gets passed to mod_cfml, which tries to do it’s job and create the context but can’t since your web server config is wrong, and you end up with your missing include error.

If you have your site in C:\lucee\tomcat\webapps\root, try moving it to a more IIS-based convention like C:\inetpub\www.mysite.com, then configure IIS to use that folder for your site. Once yo do that, your config should get passed to Tomcat properly and mod_cfml can do it’s job. You can also hard-code that directory into Tomcat’s server.xml file yourself and your context would get created at Tomcat startup rather than on-the-fly.

Hope this helps!

@Jordan_Michaels thank you for your answer and support! I try to implement your suggestion.
Any advice how to change the webroot in Lucee console? Thank you for your support

Hi @Retooo,

You can either correct it in your web server (in IIS you bind a specific site to an IP and make sure the CFML handler is configured), or you can configure it manually in Tomcat’s server.xml file. Glad you’re making progress!

-JM

Hi @Jordan_Michaels, i configured manually in Tomcat’s server.xml file and finally i could change it. but i have still the missinginclude error if use p-reto/index.cfm without port 8888… any other ideas? thx for your support.

If it works on port 8888 (tomcat’s internal web server), but nor port 80/443, then your web server (IIS in this case) isn’t configured properly. That’s probably why mod_cfml wasn’t picking it up properly - because it wasn’t right in the web server.