Problems with ColdFusion 9.0.2

I’ve been put in charge of evaluating some blogging engine options that are CFML based, and I’ve hit upon ContentBox being the best fit for the functionality required. I like BlogCFC, but it’s about as spartan as one can get… and beyond relating posts, there’s no content creator “easy” way to link HTML to existing links/posts. So, with ContentBox supporting this, plus being able to import from Wordpress I thought I had a slam dunk.

However, I just cannot make this thing work for me on CF 9.0.2.28541 (never created the tables and bombed before getting the install screen). I tried going to cumulative hotfix 1 last night (same as no hot fixes). I tried on Railo (I’m still on the older 3.5.x branch, and it bombed on the install). I tried going back to 1.6 of ContentBox (timed out after 500 seconds during the install). I tried MSSQL Express 2008 SP2 as the database. I tried MySQL 5.x. Nothing I tried locally resolved the various issues. However, all that really isn’t an issue as I installed on another machine with CF10 and MSSQL Express 2008 SP2.

This brings me to today. I’ve got a working install on a CF10 box and MSSQL. The issue, however, is the production box is going to be CF9. I packed all the files up and moved them to my 9.0.2 install. It’s still failing. However, I think I finally get why. I use apache as my web server. I have Adobe CF and Railo on the same machine, as I support different clients that require one or the other. Apache, however, cannot load a module more than once. So in the main apache config I have my JRUN and Railo modules load. The site, using virtual mappings, then calls the appropriate proxy… whether that be caucho or mod_jrun. For whatever reason, ColdBox (I presume) is seeing the install as being Railo based and thus includes some of the Railo caching bits that Adobe doesn’t support (in terms of what’s passed in for params).

Anyone have a thought to force ColdBox into seeing the requests as Adobe CF? I’m pasting the full error below.

The following information is meant for the website developer for debugging purposes.

Error Occurred While Processing Request

Parameter validation error for cacheGetAllIds function.

The function allows 1 parameters, but found 2.

The error occurred inD:/cf_dev/projects/blogging_test/blog/coldbox/system/cache/providers/RailoProvider.cfc: line 226

224 : 			}
225 : 			
**226 : 			return cacheGetAllIds( "", getConfiguration().cacheName );**
227 : 		}
228 : 		catch(Any e){

ContentBox is certainly a better choice than BlogCFC in my opinion. BlogCFC hasn’t seen active development in years and is very limited.

Now, for your error. According to the stack trace, CF is getting metadata for every CFC to see which ones are ORM entities. To do that, it must compile them, and ACF can’t compile Railo-specific code. So, the first place I would check is your this.ormSettings.cfclocation and make sure it isn’t including your entire web root, or at least not the ColdBox system folder.

By default, it’s set to [ “model”, “modules” ]

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

Also, make sure the following setting is true:

// THIS IS ADDED SO OTHER CFML ENGINES CAN WORK WITH CONTENTBOX
ormsettings.skipCFCWithError = true;

signature0.jpg

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

Just a straight “zip to install” case here. I’d not touched any of the files that came from the site at that point, and so this was set to be the default, as was the ormsettings.skipCFCWithError (to answer Luis’s question). The steps to fix this in the end:

Hi Matthew,

Few observations below:

Just a straight “zip to install” case here. I’d not touched any of the files that came from the site at that point, and so this was set to be the default, as was the ormsettings.skipCFCWithError (to answer Luis’s question). The steps to fix this in the end:

  • Started a second instance of Apache that does NOT include the module loading for Caucho. I didn’t really want to do this, but it’s dev, so I can live with the non-default port for just this blog piece.

Not sure there, I use acf9, 10, 11 and railo 4 + resin on the same apache

  • Both CF 9.0.1.x and 9.0.2.x require changing line 1248 in modules\contentbox\plugins\CBHelper.cfc. Straight out of the zip it’s got “string default” as the passed in variable name. This appears to be a reserved word conflict on CF9, but NOT CF10. I changed this to “string default2” and it started to work.

Yes, this was reported, and fixed for the upcoming 2.1 release. We changed it to defaultValue due to this stupid cf9 bug.

  • Ensure that debug output is OFF. Yeesh, does this slow down the world to intolerable levels.

Yes, also make sure “Report Execution Times” is off on ACF>

Can you confirm for sure that it works with Coucho disabled, but doesn’t work when Coucho is enabled? I wonder if the web root is just getting screwed up or something.

The ticket in question that has been fixed for 2.1.0 is here:
https://ortussolutions.atlassian.net/browse/CONTENTBOX-518

Specifically, debug output will not slow down a Coldbox application, it’s the report execution times setting specifically that Luis mentioned. That setting only applies if debugging is enabled, so turning off debugging obviously disabled it. (Note, restricting debugging output by IP still runs the debugging). So, the long story short is you can enable debugging as long as you make sure the “report execution times” bit is off.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

I went ahead and added the .so to the new apache instance, and it didn’t break. Oy. So I went ahead and visited the :80 address to the same codebase, and it still worked. Further oy. At some point I turned off the built in server monitor (which I had turned on for a different project). Lo, life is good. I cannot fathom why that would interfere so terribly with the operation of things, but it’s unable to complete a request with the server monitor turned on.

Is this the ColdFusion Server Monitor? I rarely use it, but don’t EVER enable memory monitoring. That will crash your site faster than anything.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

Correct. Oddly, I’ve never had an issue locally until now. I don’t use it on any production systems. For that I use Fusion-Reactor. I just don’t have the resources to burn a license for that locally, however.

Mathew. Great to hear

I pushed a 2.1 beta to bleeding edge if you want to auto update once installed.

Would you consider 2.1 to be production ready at this point? I may, or may not… depending on how the wind blows, end up being the gatekeeper of the app once it’s live. The guy I’m contracting out to is likely going to manage things day to day after it’s all set up and such. But he’s always on the overly busy side of things, so it may just be my “thing” for the foreseeable future.

When 2.1 is “production ready” it will be pushed to our stable release channel :slight_smile:

When you update ContentBox from inside the administrator, click “Dashboard” > “Updates”

There you can select if you want to check for updates on the “Stable Release” or “Bleeding Edge Release” channel.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com