OpenBD / openbd-core

The original open source Java powered GPL CFML runtime engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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