boolean: The value returned from function hasDefinition() is not of type boolean.

0 views
Skip to first unread message

Brian G

unread,
May 22, 2008, 8:47:34 PM5/22/08
to transfer-dev
Mark,

You asked and I shall oblige (or so I think). This is another startup
error I have gotten a handful of times. The first time I got it, I
thought I might not have updated my .transfer files but I'm absolutely
sure I have at this point. Here's the details:

boolean: The value returned from function hasDefinition() is not of
type boolean.

* /var/www/pukka/api-prod/transfer/com/dynamic/
DecoratorBuilder.cfc (63, CF_TEMPLATEPROXY)
* /var/www/pukka/api-prod/transfer/com/dynamic/DynamicManager.cfc
(53, CF_TEMPLATEPROXY)
* /var/www/pukka/api-prod/transfer/com/Transfer.cfc (73,
CF_TEMPLATEPROXY)
* /var/www/pukka/api-prod/transfer/com/Transfer.cfc (111,
CF_UDFMETHOD)
* /var/www/pukka/api-prod/model/auth/userService.cfc (55,
CF_TEMPLATEPROXY)
* /var/www/pukka/api-prod/model/session/sessionService.cfc (94,
CF_TEMPLATEPROXY)
* /var/www/pukka/api-prod/ModelGlue/actionpacks/security/
controller/AuthenticationController.cfc (96, CF_TEMPLATEPROXY)
* /var/www/pukka/api-prod/ModelGlue/unity/listener/Listener.cfc
(51, CFINVOKE)
* /var/www/pukka/api-prod/ModelGlue/unity/eventrequest/
MessageBroadcaster.cfc (57, CF_TEMPLATEPROXY)
* /var/www/pukka/api-prod/ModelGlue/unity/framework/ModelGlue.cfc
(387, CF_TEMPLATEPROXY)
* /var/www/pukka/api-prod/ModelGlue/unity/framework/ModelGlue.cfc
(320, CF_UDFMETHOD)
* /var/www/pukka/api-prod/ModelGlue/unity/framework/ModelGlue.cfc
(289, CF_UDFMETHOD)
* /var/www/pukka/api-prod/ModelGlue/unity/ModelGlue.cfm (126,
CF_TEMPLATEPROXY)
* /var/www/pukka/msr-prod/index.cfm (75, CFINCLUDE)

And the full Java trace if you need it:

coldfusion.runtime.UDFMethod$InvalidReturnTypeException: The value
returned from function hasDefinition() is not of type boolean. at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
311) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:254) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
56) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:207)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:169) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:194) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:146) at
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1634) at
cfDecoratorBuilder2ecfc240179935$funcCREATEDECORATOR.runFunction(/var/
www/pukka/api-prod/transfer/com/dynamic/DecoratorBuilder.cfc:63) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:344) at
coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
290) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:254) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
56) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:207)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:169) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:194) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:146) at
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1634) at
cfDynamicManager2ecfc1115317614$funcCREATEDECORATOR.runFunction(/var/
www/pukka/api-prod/transfer/com/dynamic/DynamicManager.cfc:53) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:344) at
coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
290) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:254) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
56) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:207)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:169) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:194) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:146) at
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1634) at
cfTransfer2ecfc123148285$funcNEW.runFunction(/var/www/pukka/api-prod/
transfer/com/Transfer.cfc:73) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:344) at
coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
290) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:254) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
56) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:207)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:169) at
coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:1807) at
cfTransfer2ecfc123148285$funcGET.runFunction(/var/www/pukka/api-prod/
transfer/com/Transfer.cfc:111) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:344) at
coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
290) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:254) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
56) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:207)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:169) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:194) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:146) at
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1634) at
cfuserService2ecfc1033458768$funcGETUSER.runFunction(/var/www/pukka/
api-prod/model/auth/userService.cfc:55) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:344) at
coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
290) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:254) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
56) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:207)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:169) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:194) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:146) at
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1634) at
cfsessionService2ecfc1191167938$funcGETUSER.runFunction(/var/www/pukka/
api-prod/model/session/sessionService.cfc:94) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:344) at
coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
290) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:254) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
56) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:207)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:169) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:194) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:146) at
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1634) at
cfAuthenticationController2ecfc463864967$funcDOISAUTHENTICATIONNEEDED.runFunction(/
var/www/pukka/api-prod/ModelGlue/actionpacks/security/controller/
AuthenticationController.cfc:96) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:344) at
coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
290) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:254) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
56) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:207)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:366) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:198) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:157) at
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1594) at
coldfusion.tagext.lang.InvokeTag.doEndTag(InvokeTag.java:345) at
cfListener2ecfc1990591005$funcINVOKELISTENER.runFunction(/var/www/
pukka/api-prod/ModelGlue/unity/listener/Listener.cfc:51) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:344) at
coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
290) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:254) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
56) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:207)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:366) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:198) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:157) at
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1594) at
cfMessageBroadcaster2ecfc2104586987$funcBROADCAST.runFunction(/var/www/
pukka/api-prod/ModelGlue/unity/eventrequest/MessageBroadcaster.cfc:57)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:344) at
coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
290) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:254) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
56) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:207)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:169) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:194) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:146) at
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1634) at
cfModelGlue2ecfc353430176$funcRUNEVENTHANDLER.runFunction(/var/www/
pukka/api-prod/ModelGlue/unity/framework/ModelGlue.cfc:387) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:344) at
coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
290) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:254) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
56) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:207)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:169) at
coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:1807) at
cfModelGlue2ecfc353430176$funcRUNEVENTREQUEST.runFunction(/var/www/
pukka/api-prod/ModelGlue/unity/framework/ModelGlue.cfc:320) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:344) at
coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at
coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:254) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
56) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:207)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:169) at
coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:1807) at
cfModelGlue2ecfc353430176$funcHANDLEEVENTREQUEST.runFunction(/var/www/
pukka/api-prod/ModelGlue/unity/framework/ModelGlue.cfc:289) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:344) at
coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at
coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:254) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
56) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:207)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:169) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:194) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:146) at
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1634) at
cfModelGlue2ecfm601653661.runPage(/var/www/pukka/api-prod/ModelGlue/
unity/ModelGlue.cfm:126) at
coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152) at
coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:349) at
coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:1915) at
cfindex2ecfm250899703.runPage(/var/www/pukka/msr-prod/index.cfm:75) at
coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152) at
coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:349) at
coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65) at
coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:219)
at
coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:
51) at coldfusion.filter.PathFilter.invoke(PathFilter.java:86) at
coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:69) at
coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:
28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at
coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at
coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:
115) at coldfusion.CfmServlet.service(CfmServlet.java:107) at
coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:
78) at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91) at
jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) at
jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:
257) at
jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:
541) at
jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:
204) at jrunx.scheduler.ThreadPool
$DownstreamMetrics.invokeRunnable(ThreadPool.java:318) at
jrunx.scheduler.ThreadPool
$ThreadThrottle.invokeRunnable(ThreadPool.java:426) at
jrunx.scheduler.ThreadPool
$UpstreamMetrics.invokeRunnable(ThreadPool.java:264) at
jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

Brian Kotek

unread,
May 22, 2008, 9:26:48 PM5/22/08
to transf...@googlegroups.com
I'd say the inner conditional check within the double checked lock needs an else?

if(NOT StructKeyExists(getWrittenFileCache(), arguments.object.getClassName()))
            {
                if(fileExists(getDefinitionPath() & getDefinitionFileName(arguments.object)))
                {
                    //put in an arbitrary value
                    StructInsert(getWrittenFileCache(), arguments.object.getClassName(), 1);

                    return true;
                }
                else
                {
                    return false;
                }
            }
else {
     return true;

Mark Mandel

unread,
May 22, 2008, 10:29:15 PM5/22/08
to transf...@googlegroups.com
Ah yes!

* Slaps forehead * That was stupid.

I'll fix that now.

Mark

--
E: mark....@gmail.com
W: www.compoundtheory.com

Mark Mandel

unread,
May 22, 2008, 11:07:51 PM5/22/08
to transf...@googlegroups.com
Fixed now.

Mark

Brian G

unread,
May 28, 2008, 12:31:54 AM5/28/08
to transfer-dev
On May 22, 8:07 pm, "Mark Mandel" <mark.man...@gmail.com> wrote:
> Fixed now.
>

Just rolled this out into prod and on app startup got this:


boolean: The value returned from function hasDefinition() is not of
type boolean.

If the component name is specified as a return type, the reason for
this error might be that a definition file for such component cannot
be found or is not accessible.

* /var/www/pukka/api-prod/transfer/com/dynamic/TransferBuilder.cfc
(64, CF_TEMPLATEPROXY)
* /var/www/pukka/api-prod/transfer/com/dynamic/DynamicManager.cfc
(47, CF_TEMPLATEPROXY)
* /var/www/pukka/api-prod/transfer/com/Transfer.cfc (69,
CF_TEMPLATEPROXY)
* /var/www/pukka/api-prod/transfer/com/Transfer.cfc (111,
CF_UDFMETHOD)
* /var/www/pukka/api-prod/model/member/memberService.cfc (84,
CF_TEMPLATEPROXY)
* /var/www/pukka/api-prod/model/session/sessionService.cfc (83,
CF_TEMPLATEPROXY)
* /var/www/pukka/msr-prod/controller/UserController.cfc (145,

Mark Mandel

unread,
May 28, 2008, 12:35:45 AM5/28/08
to transf...@googlegroups.com
Do me a favour, check your ObjectWriter.cfc, and see if the
hasDefinition() looks like this:

<cffunction name="hasDefinition" hint="Checks to see if the defintion
has been written" access="public" returntype="boolean" output="false">
<cfargument name="object" hint="BO of the Object"
type="transfer.com.object.Object" required="Yes">

<cfif NOT StructKeyExists(getWrittenFileCache(),
arguments.object.getClassName())>
<cflock name="transfer.Objectcache.hasDefinition.#object.getClassName()#"
throwontimeout="true" timeout="60">
<cfscript>


if(NOT StructKeyExists(getWrittenFileCache(),
arguments.object.getClassName()))
{
if(fileExists(getDefinitionPath() &
getDefinitionFileName(arguments.object)))
{
//put in an arbitrary value
StructInsert(getWrittenFileCache(), arguments.object.getClassName(), 1);

return true;
}
else
{
return false;
}
}

</cfscript>
</cflock>
</cfif>
<cfreturn true />
</cffunction>

I'm not seeing where that could possibly not return a boolean value?

Mark

--
E: mark....@gmail.com
W: www.compoundtheory.com

Brian G

unread,
May 28, 2008, 12:39:47 AM5/28/08
to transfer-dev

On May 27, 9:35 pm, "Mark Mandel" <mark.man...@gmail.com> wrote:
> Do me a favour, check your ObjectWriter.cfc, and see if the
> hasDefinition() looks like this:

Ah, I think my subversion commit on the svn:external for r495 bounced
for some reason (in my repo, not yours) so I just rolled 492 out into
prod again. I missed that in the commit noise... going to try this
again in a second.

Sorry about the false alarm!


Brian

Mark Mandel

unread,
May 28, 2008, 12:41:03 AM5/28/08
to transf...@googlegroups.com
No problem, always happy to get alarms, false or otherwise ;o)

Mark

--
E: mark....@gmail.com
W: www.compoundtheory.com

Reply all
Reply to author
Forward
0 new messages