A Warning - The White Screen of Death with ColdFusion Builder 3

This post is more than 2 years old.

OK, so I'm loving ColdFusion Builder, but I just lost a few hours of my time to something related to ColdFusion Builder 3 and hopefully no one else makes the same mistake I did. When ColdFusion 11 was released, I updated my local copy of it as well as ColdFusion Builder. Everything was kosher. Then I wanted to test an extension. In order for it to work, I needed to work within web root, so I created a new ColdFusion project in CFB and pointed it to my ColdFusion web root.

Now - I should point out - I don't even use the ColdFusion web root. I've got a folder called testingzone where I put all my ad hoc files. It is huge. I tried to fix that by adding a trash folder where I could put files I knew were safe to delete, but, yeah, that folder is huge now too. Whatever. The point is this folder is a virtual directory on Dropbox and not in web root. Outside of testingzone I've got a set of ColdFusion sites in their own folders, all run via virtual hosts in Apache.

So as I was saying - I needed to build an extension - and they prefer web root. So I created a new CFB project and dropped my crap in there and got to work. Everything was cool. Over the next few days I did more crap in testingzone and everything was cool. But then... then I tried to run one of my virtual domains and got...

Ok, not really that - just a white page. Nothing. So I started going through my log files. Nothing. I then thought - what if my error handling is broken? So I put logging in my Application.cfc, everywhere, and nothing. I tried other virtual domains. Nothing. I removed and reconnected ColdFusion. Nothing.

And then... then... then I remembered something. When you create a new project in ColdFusion Builder 3, it will "help" you by adding an index.cfm file. I don't like this, and I complained about it, but honestly, I didn't think it was a big deal. But this was the issue! I never figured out why, but I've known for a while now that if you had file /X.cfm in your ColdFusion web root, and tried to run /X.cfm in virtual host so and so, then the one in the ColdFusion web root will break. I seem to remember this behavior for a while now so it isn't new to ColdFusion 11 (and I'm not running 11 as my primary CF server on the laptop yet). Since every site I tried used index.cfm (of course) they all ran the index.cfm which CFB had added to my web root. What did the file contain?

<!--- Please insert your code here --->

Since it was a CF comment it was stripped before being sent to the browser - hence I got nothing.

So yeah - that was it. *sigh* I should point out that CFB3 includes the ability to define templates for new projects - and that's kinda cool. I don't want to blame CFB3 for this as it was a combination of things - but hopefully other people don't get bit by this.

Raymond Camden's Picture

About Raymond Camden

Raymond is a senior developer evangelist for Adobe. He focuses on document services, JavaScript, and enterprise cat demos. If you like this article, please consider visiting my Amazon Wishlist or donating via PayPal to show your support. You can even buy me a coffee!

Lafayette, LA https://www.raymondcamden.com

Archived Comments

Comment 1 by WilGeno posted on 5/2/2014 at 1:30 AM

You got Minnesota? That looks like my house this past winter.

Comment 2 by Aaron Neff posted on 5/3/2014 at 10:17 AM

"if you had file /X.cfm in your ColdFusion web root, and tried to run /X.cfm in virtual host so and so, then the one in the ColdFusion web root will break"

Hi Ray,

Thanks for blogging that. I don't use CF's web root either and didn't know that. A few days ago, I'd created a simple hello world CF mobile app in CF's web root (b/c "Generate PhoneGap Build" seems to prefer apps to be in that dir - per #3751819). I just now tried loading an IIS site, housed in another folder, and got a white page. I viewed the source and saw cfclient's JS code and realized: that mobile app in CF's web root was trumping my request to view the IIS site.

IMO, I don't think x.cfm in CF's web root should trump x.cfm in a virtual host. That just leads to trouble. But I guess Adobe won't change it if it's always been that way. At least now I know (and hopefully I won't forget haha).