Twitter: raymondcamden


Address: Lafayette, LA, USA

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

05-01-2014 3,730 views ColdFusion 2 Comments

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.

2 Comments

  • Commented on 05-01-2014 at 4:30 PM
    You got Minnesota? That looks like my house this past winter.
  • Commented on 05-03-2014 at 1: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).

    Thanks!,
    -Aaron

Post Reply

Please refrain from posting large blocks of code as a comment. Use Pastebin or Gists instead. Text wrapped in asterisks (*) will be bold and text wrapped in underscores (_) will be italicized.

Leave this field empty