Here’s the final update. Sorry it took so long. Having isolated the problem and put in a quick fix through rectification of the database entries, we needed time to run through our codes to locate the point(s) of failure.
Turns out, the error was not caused by Coldfusion after all. We have a piece of code in our application which generates the breadcrumb which flag to users their current location on the site. Unfortunately, the code did not cater for adnormal situations.
An example of such would be when a child page (which exists), is related to a parent page which doesn’t. This is what happened.
During our troubleshooting:
- We walked through the database entries to identify any corrupted or errornous data, and didn’t find any.
- We also checked for possible updates applicable to the web server, application server and jrun, but decided to implement this if all else failed.
- Various server settings were changed to improve the system performance, but this didn’t solve the problem.
There has not been any changes to the application since 2005.
It seemed the application ended up in a loop still looking for a parent which its never able to find. Yup, we didn’t see this coming at all, as each time a child page is added, we would relate it with a parent which exists…
Unfortunately there is a hardcoded value within one of the pages which contributed to this error. That page references a hardcoded url. And although that page exists, it didn’t have a parent associated with it in this particular site. (The page is shared across our sites).
So it’s down to the nitty gritty. Janice helped me to search for the fault and finally able to locate it after sifting through our various .cfc and .cfm codes, doing dry runs based on the faulty data.
durr… So this is ultimately a case of human error. But that is no excuse, so we have added in the check into the application. Well, we live and learn.
The upside is, our application now handles the anomoly, it was a good learning experience for the team as we have never tweaked any of our coldfusion server settings before, and we are all aware of possible problems that can arise from the settings plus our current server capacity.