Finding out which page is erroring out from nested cfoutput tags?

31 views
Skip to first unread message

Sean S.

unread,
Feb 7, 2017, 5:46:20 PM2/7/17
to Lucee
Is there any way to figure out from the exception and application errors which page is erroring out because of nesting cfoutput tags on the page?  

"Severity","ThreadID","Date","Time","Application","Message"
"ERROR","ajp-nio-8009-exec-5","02/07/2017","13:50:55","",";Nesting of tags cfoutput with attribute query is not allowed;lucee.runtime.exp.TemplateException: Nesting of tags cfoutput with attribute query is not allowed
at lucee.transformer.cfml.evaluator.impl.Output.evaluate(Output.java:97)
at lucee.transformer.cfml.evaluator.EvaluatorPool.run(EvaluatorPool.java:79)
at lucee.transformer.cfml.tag.CFMLTransformer.transform(CFMLTransformer.java:329)
at lucee.transformer.cfml.tag.CFMLTransformer.transform(CFMLTransformer.java:149)
at lucee.runtime.compiler.CFMLCompilerImpl._compile(CFMLCompilerImpl.java:126)
at lucee.runtime.compiler.CFMLCompilerImpl.compile(CFMLCompilerImpl.java:74)
at lucee.runtime.PageSourceImpl._compile(PageSourceImpl.java:360)
at lucee.runtime.PageSourceImpl.compile(PageSourceImpl.java:327)
at lucee.runtime.PageSourceImpl.loadPhysical(PageSourceImpl.java:280)
at lucee.runtime.PageSourceImpl.loadPageThrowTemplateException(PageSourceImpl.java:181)
at lucee.runtime.PageSourceImpl.loadPage(PageSourceImpl.java:884)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:880)
at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:833)
at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:828)
at lucee.runtime.listener.ClassicAppListener._onRequest(ClassicAppListener.java:62)
at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:44)
at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2293)
at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2284)
at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2252)
at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:891)
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:108)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
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.ajp.AjpProcessor.service(AjpProcessor.java:476)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
"

Thanks,

Sean

Phillip Vector

unread,
Feb 7, 2017, 6:01:27 PM2/7/17
to lu...@googlegroups.com
Scroll down a bit and it will tell you the page and line where it is.

Even better, don't nest cfoutput tags. Use cfloop.
> --
> You received this message because you are subscribed to the Google Groups
> "Lucee" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to lucee+un...@googlegroups.com.
> To post to this group, send email to lu...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/lucee/f88852cc-932b-4619-ac49-a45e2418e679%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Sean S.

unread,
Feb 7, 2017, 6:09:08 PM2/7/17
to Lucee, vec...@mostdeadlygame.com
I'm migrating over a site from BlueDragon where you could do that and a few other things that don't work in Lucee. 

I've  looked and looked at that output, and I don't see where it shows the file and line number.  It almost looks like it errors out before it can log and show what file / line number the error occurred on.

Sean

Phillip Vector

unread,
Feb 7, 2017, 6:12:48 PM2/7/17
to lu...@googlegroups.com
When you see the error page, is that all you see? Because I have a
part below that showing the steps it took to get to the error showing
files and line numbers.
> https://groups.google.com/d/msgid/lucee/9ed05608-5ce5-4350-a181-ccf8b8c93c70%40googlegroups.com.

Sean S.

unread,
Feb 7, 2017, 6:20:47 PM2/7/17
to Lucee, vec...@mostdeadlygame.com
From the error file I posted, this is the error chain. It does the include, it tries to load it, and throw an Exception. It doesn't show or log what page it was loading.

at lucee.runtime.PageSourceImpl.loadPageThrowTemplateException(PageSourceImpl.java:181)
at lucee.runtime.PageSourceImpl.loadPage(PageSourceImpl.java:884)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:880)

This is the same section from another exception log on a failed db query. It does the include, then it shows that the page got loaded, and did an end query tag on the query that failed that eventually errored out. So I can figure out what file it is and what line number.

at lucee.runtime.tag.Query.doEndTag(Query.java:594)
at somedir.somefile$cf.call(/somedir/somefile.cfm:113)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:888)

I've been trying to figure out other ways through debugging or anything, to track back what file it was, and so far nothing.

Sean

Phillip Vector

unread,
Feb 7, 2017, 6:26:13 PM2/7/17
to lu...@googlegroups.com
Ah.. You are looking at stack trace. I find that worthless as a
debugger. Easier to dump out variables.cause.

http://prntscr.com/e5uzpt

That part below is what you should be dumping out and pulling the
messages from. Take a look at TagContext array and it will be much
easier to trace down the issue.
> https://groups.google.com/d/msgid/lucee/b29e07b0-4e95-48ed-a126-c15cc959f298%40googlegroups.com.

Sean S.

unread,
Feb 7, 2017, 6:46:09 PM2/7/17
to Lucee, vec...@mostdeadlygame.com
Is there a way to run a stack trace on page you aren't actually running? I'm not actually running the pages that are erroring out which is part of the whack-a-mole strategy in getting the site switched over. Looking at the error logs is the one thing I've found that has shown that there was a problem on a page that ran.

Sean

Phillip Vector

unread,
Feb 7, 2017, 6:48:36 PM2/7/17
to lu...@googlegroups.com
OnError in the Application.cfc

Have it cfdump there :)
> https://groups.google.com/d/msgid/lucee/26fd79fa-875c-4f75-8056-87d9821e05c3%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages