This one drives me nuts. Every few days, I will get the following error on a particular action of a ColdFusion app:
(class: cfact_getXYZ2ecfm174795703, method: runPage signature: ()Ljava/lang/Object;) Incompatible object argument for function call
It seems to happen at a lower level than a typical ColdFusion error because my normal cftry/cfcatch doesn't get triggered from what I can tell.
The template listed in the class is always the same template (the act_getXYZ…) even though this action includes several templates and CFC calls before and after that one.
When I check the server, the template (.cfm file) is there. It hasn't gone anywhere nor gotten overwritten.
Here's the kicker. All I have to do is make a change to the .cfm file, re-save, and it works again. And by change, I mean add and remove a space, or something else trivial.
Here is another kicker. This template is on three servers in a load-balanced environment, and it happens on every one of them.
Web searches have come up empty. Any ideas?
Another clue to this that might help solve the mystery: If this situation happens and I clear the template cache, it works again.
So, what would cause this? Why would I have to clear a cache regularly for this one template to get re-created? Any ideas?
The compiled class is getting corrupted in memory, so either touching the file or clearing the class from cache will force a recompile. So that explains that side of things.
As to how the thing is getting corrupted in the first place? No idea.
What is idiosyncratic about act_getXYZ.cfm? What's it's code?
--
Adam
North America
Europe, Middle East and Africa
Asia Pacific