private method in onRequestStart causes an internal server error when called from 127.0.0.1 but not localhost
laserbyte opened this issue · comments
This works:
http://localhost:8080/explosion/hello.cfm
This does not:
http://127.0.0.1:8080/explosion/hello.cfm
OpenBD Internal Server Error
Need some help? Visit our manual http://openbd.org/manual/
The page you were executing caused an internal server error
Request /explosion/hello.cfm
File Trace /jetty-openbd-3.1.0/webapps/openbd/explosion/hello.cfm
|
+-- /jetty-openbd-3.1.0/webapps/openbd/explosion/Application.cfc
Type Internal
Tag Context CFQUERY (/jetty-openbd-3.1.0/webapps/openbd/explosion/Application.cfc, Line=43, Column=3)
|
+-- CFFUNCTION (/jetty-openbd-3.1.0/webapps/openbd/explosion/Application.cfc, Line=42, Column=2)
|
+-- CFSET (/jetty-openbd-3.1.0/webapps/openbd/explosion/Application.cfc, Line=37, Column=3)
|
+-- CFFUNCTION (/jetty-openbd-3.1.0/webapps/openbd/explosion/Application.cfc, Line=34, Column=2)
Source
40: </cffunction>
41: <!--- ================================================================================================ --->
42: <cffunction name="explode" returntype="boolean" output="false" access="private">
43: <cfquery>
44: SELECT COUNT(*) dummy FROM dual
^ Snippet from underlying CFML source
Stack Trace
java.lang.AbstractMethodError
at com.naryx.tagfusion.cfm.sql.cfSQLQueryData.execute(Unknown Source)
at com.naryx.tagfusion.cfm.sql.cfSQLQueryData.runQuery(Unknown Source)
at com.naryx.tagfusion.cfm.sql.cfQUERY.executeStatement(Unknown Source)
at com.naryx.tagfusion.cfm.sql.platform.java.cfQueryImplSQL.render(Unknown Source)
at com.naryx.tagfusion.cfm.sql.cfQUERY.render(Unknown Source)
at com.naryx.tagfusion.cfm.tag.cfTag.coreRender(Unknown Source)
at com.naryx.tagfusion.cfm.tag.cfTag.renderToString(Unknown Source)
at com.naryx.tagfusion.cfm.tag.cfFUNCTION.realRun(Unknown Source)
at com.naryx.tagfusion.cfm.tag.cfFUNCTION.run(Unknown Source)
at com.naryx.tagfusion.cfm.tag.cfFUNCTION.run(Unknown Source)
at com.naryx.tagfusion.cfm.parser.script.userDefinedFunction.execute(Unknown Source)
at com.naryx.tagfusion.cfm.parser.CFFunctionExpression.Eval(Unknown Source)
at com.naryx.tagfusion.cfm.parser.runTime.run(Unknown Source)
at com.naryx.tagfusion.cfm.parser.runTime.runExpression(Unknown Source)
at com.naryx.tagfusion.cfm.parser.runTime.runExpression(Unknown Source)
at com.naryx.tagfusion.cfm.tag.cfSET.render(Unknown Source)
at com.naryx.tagfusion.cfm.tag.cfTag.coreRender(Unknown Source)
at com.naryx.tagfusion.cfm.tag.cfTag.renderToString(Unknown Source)
at com.naryx.tagfusion.cfm.tag.cfFUNCTION.realRun(Unknown Source)
at com.naryx.tagfusion.cfm.tag.cfFUNCTION.run(Unknown Source)
at com.naryx.tagfusion.cfm.tag.cfFUNCTION.run(Unknown Source)
at com.naryx.tagfusion.cfm.parser.script.userDefinedFunction.execute(Unknown Source)
at com.naryx.tagfusion.cfm.engine.cfComponentData.invokeComponentFunction(Unknown Source)
at com.naryx.tagfusion.cfm.engine.cfComponentData.invokeApplicationFunction(Unknown Source)
at com.naryx.tagfusion.cfm.engine.cfSession.onRequestStart(Unknown Source)
at com.naryx.tagfusion.cfm.engine.cfSession.onRequestStart(Unknown Source)
at com.naryx.tagfusion.cfm.engine.cfEngine.service(Unknown Source)
at com.naryx.tagfusion.cfm.cfServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1359)
at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:77)
at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:144)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330)
at com.newatlanta.filters.SearchEngineFriendlyURLFilter.doFilter(Unknown Source)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:478)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:483)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:941)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:312)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
at org.eclipse.jetty.server.Server.handle(Server.java:345)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)
at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:919)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:582)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
at java.lang.Thread.run(Thread.java:722)
The datasource is a MySQL database running a dummy query for demonstration purposes.
Application.cfc
<cfcomponent name="Application" output="false" >
<cfset this.name = "example" & Hash( GetCurrentTemplatePath() )>
<cfset this.sessionManagement = "true">
<cfset this.clientManagement = "false">
<cfset this.scriptProtect = "false">
<cfset this.datasource = "example" />
<!---======================================================================================================--->
<cffunction name="onApplicationStart" returntype="boolean" output="false">
<cfreturn true>
</cffunction>
<!--- ================================================================================================ --->
<cffunction name="onApplicationEnd" returnType="void" output="false">
<cfargument name="ApplicationScope" required="true">
</cffunction>
<!--- ================================================================================================ --->
<cffunction name="onSessionStart" returnType="void" output="false">
<!--- This function is blank for a reason! --->
</cffunction>
<!--- ================================================================================================ --->
<cffunction name="onSessionEnd" returnType="void" output="false">
<cfargument name="SessionScope" required="true" />
<cfargument name="ApplicationScope" required="true" />
</cffunction>
<!--- ================================================================================================ --->
<cffunction name="onRequest" returntype="boolean" output="true">
<cfargument name="targetPage" required="true">
<cfinclude template="#ARGUMENTS.TargetPage#" />
<cfreturn true>
</cffunction>
<!--- ================================================================================================ --->
<cffunction name="onRequestStart" returntype="boolean" output="false">
<cfargument name="targetPage" required="true">
<cfset explode() />
<cfreturn true>
</cffunction>
<!--- ================================================================================================ --->
<cffunction name="explode" returntype="boolean" output="false" access="private">
<cfquery>
SELECT COUNT(*) dummy FROM dual
</cfquery>
</cffunction>
<!--- ================================================================================================ --->
<cffunction name="onRequestEnd" returntype="void" output="false">
<cfargument name="targetPage" required="true">
</cffunction>
</cfcomponent>
hello.cfm
hello world