[Coldbox 3.5.0] Json issue

I just updated to the coldbox 3.5.0 and having some strange behavior.
I am trying to render data with type json. I had some many render JSON
types so i've decided to keep the old code and create a plugin from
forgebox in plugins folder. So the issue is every once in awhile the
json does not get rendered but it hard to reproduce this. After I
refresh the screen it goes away,but it now consistent

that how I do it

local.cData = getMyPlugin("JSON").encode(data=
rc.qryJson,stringNumbers = true,queryFormat = "array");

  event.renderData( data=local.cData, keyCase="LOWER",
jsonQueryFormat="array",contentType="application/json");

That looks fine though. Add some logging to see why it comes blank

Luis Majano
CEO
Ortus Solutions, Corp

ColdBox Platform: http://www.coldbox.org
Linked In: http://www.linkedin.com/pub/3/731/483
Social: twitter.com/ortussolutions | twitter.com/coldbox | twitter.com/lmajano

Does anybody have any suggestions

Ithout more information is like a needle in a haystack. You will need to add some data tracers

Hi Luis below is my stack trace

coldfusion.runtime.UndefinedElementException: Element /shared/plugins.json is undefined in a Java object of type class java.util.concurrent.ConcurrentHashMap.

at coldfusion.runtime.CfJspPage.ArrayGetAt(CfJspPage.java:961)

at coldfusion.runtime.CfJspPage._arrayGetAt(CfJspPage.java:972)

at coldfusion.runtime.CfJspPage._arrayGetAt(CfJspPage.java:967)

at cfSingleton2ecfc953726054$funcGETFROMSCOPE.runFunction(D:\Websites\testing\demo\coldbox\system\ioc\scopes\Singleton.cfc:48)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)

at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)

at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)

at cfInjector2ecfc45359936$funcGETINSTANCE.runFunction(D:\Websites\testing\demo\coldbox\system\ioc\Injector.cfc:262)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)

at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)

at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)

at cfPluginService2ecfc1722195702$funcNEW.runFunction(D:\Websites\testing\demo\coldbox\system\web\services\PluginService.cfc:133)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)

at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:517)

at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2547)

at cfPluginService2ecfc1722195702$funcGET.runFunction(D:\Websites\testing\demo\coldbox\system\web\services\PluginService.cfc:149)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)

at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)

at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)

at cfController2ecfc1827445041$funcGETPLUGIN.runFunction(D:\Websites\testing\demo\coldbox\system\web\Controller.cfc:326)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)

at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:517)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:496)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:355)

at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2301)

at cfFrameworkSupertype2ecfc429599580$funcGETMYPLUGIN.runFunction(D:\Websites\testing\demo\coldbox\system\FrameworkSupertype.cfc:182)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)

at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)

at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2582)

at cfehCalendar2ecfc1960890487$funcJSON_CALENDAR_TASKS.runFunction(D:\Websites\testing\shared\handlers\ehCalendar.cfc:3417)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)

at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:517)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:496)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:355)

at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2301)

at coldfusion.tagext.lang.InvokeTag.doEndTag(InvokeTag.java:389)

at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2723)

at cfController2ecfc1827445041$funcINVOKER.runFunction(D:\Websites\testing\demo\coldbox\system\web\Controller.cfc:699)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)

at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)

at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2582)

at cfController2ecfc1827445041$funcRUNEVENT.runFunction(D:\Websites\testing\demo\coldbox\system\web\Controller.cfc:584)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)

at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:517)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:496)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:355)

at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2301)

at cfColdbox2ecfc1028012577$funcPROCESSCOLDBOXREQUEST.runFunction(D:\Websites\testing\demo\coldbox\system\Coldbox.cfc:236)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)

at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)

at cfApplication2ecfc2055316061$funcONREQUESTSTART.runFunction(D:\Websites\testing\demo\Application.cfc:80)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)

at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)

at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)

at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)

at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)

at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:491)

at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:337)

at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:88)

at coldfusion.runtime.AppEventInvoker.onRequestStart(AppEventInvoker.java:258)

at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:349)

at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)

at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)

at coldfusion.filter.PathFilter.invoke(PathFilter.java:94)

at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)

at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)

at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)

at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)

at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)

at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)

at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)

at coldfusion.CfmServlet.service(CfmServlet.java:200)

at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)

at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)

at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)

at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)

at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)

at jrun.servlet.FilterChain.service(FilterChain.java:101)

at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)

at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)

at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)

at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)

at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)

at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)

at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)

at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)

at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

Also my singletonReload is set to false

Erik,

Like your previous posts you don’t give enough information for us to help you. You are saying that it doesn’t get rendered, so lets break that down some more shall we.

  1. Is this because ColdFusion is not returning the Json correctly?
  2. Is this because ColdBox is not returning the Json correctly?
  3. Are you just outputting the Json which is not being returned correctly?
  4. Are you using a JavaScript framework like ExtJS or JQuery, that is expecting the returned Json in the right format?

Now as a hunch as many others have had similar issues, and a google search may have helped on the resolution for you. But I am guessing that your problem is in number 4 listed above, but without more feedback from you on what you are saying is not happening, it is as Luis said, a needle in a hay stack problem.

Damn I should have added number 5, is an error being thrown…

Well it looks like you are referencing an object that is as it says NOT DEFINED.

Side note:

Wowsers, your event handler has over 3k lines! that’s a lot of code for 1 event handler…

Perhaps you should re-think the structure of your code. This doesn’t have any direct bearing on your current predicament, but just more of a best-practice type of thing…

-ben

Yeah I think this is a case where one should remind others that controllers, should be dumb and kept to a minimum, I think the old saying goes is that there is a chance that there is code in there that could be reused then move it into a service or library.

Now having said that, if there is 300 entry points then 3000 lines is nothing, and maybe a better solution would be a module that breaks it down further into smaller manageable parts.

Hi Andrew on my previous post on the top I have provided the stack output. To answer your questions

1.ColdFusion is returning Json
2.coldbox is not returnning the JSON (sometimes). So it does not works on occasion. I getting an error message
Element /shared/plugins.json is undefined in a Java object of type class java.util.concurrent.
ConcurrentHashMap.

  1. The JOSN returns correctly in the roper format.
    4 .I am using jquery but no problem there

Ok with the stack trace, it is a little clearer. So now you need to find out why it sometimes works and sometimes doesn’t.

This is where the line debugger comes handy, because if you know how to duplicate when it fails you can see what that might be the case.

The issue is hard to reproduce. It takes 20-30 clicks for the code to fail and it happens more in chrome than in any other browsers

Then might I suggest going to that line of code look at what it is doing and wrap it in a try/catch block and email yourself the standard scopes, and what might be expected.

By any chance could this be an Ajax request, if that is the case maybe the session is timing out.

do you use singleton reload?

Luis F. Majano
CEO
Ortus Solutions, Corp
www.ortussolutions.com

ColdBox Platform: http://www.coldbox.org
Linked In: http://www.linkedin.com/pub/3/731/483
Blog: http://www.luismajano.com
IECFUG Manager: http://www.iecfug.com

Social: twitter.com/lmajano facebook.com/lmajano

I did use singletonreload, but it set to false

Any other suggestions?