Hi,
I have a ColdFusion application that uses a Flex app as a front end. Until
recently, everything worked smoothly. But now, I am getting a stack of
NullPointerException errors that seem to come from the gateway's serializer.
I am seeing this occur in both dev and production environments, and I have
determined that it happens with both ColdFusion 8 and ColdFusion 9.
Since it's a recent occurrence, there must be some issue with my application
code, possibly in the objects coming from Flex. But the errors do not happen
consistently - meaning, the same method call with the same parameters may
succeed or fail with the same error.
Unfortunately, the stack trace (this is from CF8) does not direct me to
anything in my code, or even to a specific method.
Here's a sample of many, identical exceptions:
===============================================
"Error","jrpp-37","02/12/10","14:47:57",,"java.lang.NullPointerException"
java.lang.RuntimeException: java.lang.NullPointerException
at
coldfusion.flash.messaging.io.amf.Translator.CFASSerializer.translate(CFASSerializer.java:341)
at
coldfusion.flash.messaging.io.amf.Translator.CFASSerializer.translate(CFASSerializer.java:81)
at
coldfusion.flash.messaging.io.amf.Translator.CFASSerializer.translate(CFASSerializer.java:140)
at
coldfusion.flash.messaging.io.amf.Translator.CFASSerializer.translate(CFASSerializer.java:85)
at
coldfusion.flash.messaging.io.amf.Translator.CFASSerializer.translate(CFASSerializer.java:512)
at
coldfusion.flash.messaging.io.amf.Translator.CFASSerializer.translate(CFASSerializer.java:494)
at
coldfusion.flash.filter.CFCInvokeFilter.invoke(CFCInvokeFilter.java:160)
at
coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:282)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at
coldfusion.flash.filter.CFCInvokePathFilter.invoke(CFCInvokePathFilter.java:70)
at
coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at
coldfusion.flash.messaging.ColdFusionAdapter.invoke(ColdFusionAdapter.java:223)
at
flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:173)
at
flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1165)
at
flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:757)
at
flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:117)
at
flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)
at
flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:48)
at
flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
at
flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:145)
at flex.messaging.endpoints.AMFEndpoint.service(AMFEndpoint.java:122)
at
flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:438)
at
coldfusion.flex.ColdFusionMessageBrokerServlet.service(ColdFusionMessageBrokerServlet.java:50)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
at
coldfusion.filter.FlashRequestControlFilter.doFilter(FlashRequestControlFilter.java:71)
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)
Caused by: java.lang.NullPointerException
====================================================
Has anyone seen anything like this, or can anyone suggest a way to determine
the cause?
I hate cross-posts, but I'm going to place this on both the CF-Talk and the
FlexCoders list, since it apparently deals with the interaction of the two.
Thanks in advance for any insight.
--
Thanks,
Tom
Tom McNeer
MediumCool
http://www.mediumcool.com
1735 Johnson Road NE
Atlanta, GA 30306
404.589.0560