Copy link to clipboard
Copied
I'm running CF9.01 on Win2k8R2 with IIS7.5.
I had multiple copies of the CFIDE and CFDOCS folders and deleted the wrong one (from an old install).
So I copied the 2 folders over from another CF9 machine (same platform) in order to get the proper files in place. Everything is working fine except for one thing. When I get an error in a template, the detailed error page is coming through encrypted. I've tried reinstalling CF9.01 over my current install, but that hasn't fixed the problem.
Any ideas on how I can fix this. It's very annoying.
Copy link to clipboard
Copied
What do you mean "encrypted"?
And when you say you are installing 9.01 over the current, are you sure that you're telling it to put the CFIDE into the place that your web site (and the CF Admin) is configured to find it?
When you start having multiple copies of CFIDE, this is a common problem (keeping them synced when you do a CF update). It's far better to not duplicate the files, but instead create a virtual directory (in the web server, in each site) that points to the one "real" location.
Hope that helps.
/charlie arehart
Providing CF troubleshooting services at carehart.org/consulting
charlie@carehart.org
Copy link to clipboard
Copied
That is exactly how my server is configured. Unfortunately, when moving files from an older server I was replacing, I ended up with 2 copies, and I deleted the wrong one. Everything seems to be fine, except for the error template. So, I'm left with a very secure machine, since you can't get any information by forcing an error. ]nfortunately, neither can I.
And when I do the reinstall (of the cf9.01 upgrade), I'm placing the files in the only CFIDE location I have (now). I'm guessing that the error template is not part of the upgrade and that is why the problem is not fixed. This makes me wonder what else might be messed up, but I just don't know it yet.
Is there any way to fix this without a complete reinstall?
Sent from my Samsung Epic™ 4G
Copy link to clipboard
Copied
But again, what do you mean by "encrypted"? And that you "can't get any information by forcing an error".
If it's that you're not seeing details like the line number and template in error, that's enabled by turning on the "robust exception information" in the CF Admin Debugging Output page. Sorry if you new that, and it's not the problem. I'm grasping at straws.
Let us know what you mean by encrypted, and maybe we can help better.
As for you "placing the files in the only CFIDE location I have", I can't tell if you mean you're telling the installer to put them there, or you're putting them there after it's done.
I'll say that you may think you "have only one location", but you could have more (such as the internal and external web server roots, depending on how you've configured things in the past).
More important, what matters is where your CF configuration thinks the CFIDE should be. If you look in your CF Admin, on the Mappings page, it has a CFIDE mapping. That's where it's looking. But if you specified that during the install, then it would seem the installer should have placed the files it needs there. And it would place all the files it needs there.
All this talk about "copying the CFIDE" files may be a red herring, though. Tell us more about the "encrypted" nature of the errors.
One last thing: it's possible that the error page you're seeing isn't provided by CF's built-in error template, but instead that your errors are being handled by either a site-wide error handler (if one is specified in the main Settings page of the CF Admin), or an application-level error handler (onError in application.cfc or CFERROR in application.cfm or any file), or of course try/catch handling on a page.
/charlie arehart
charlie@carehart.org
Providing CF and CFBuilder troubleshooting services
at http://www.carehart.org/consulting
Copy link to clipboard
Copied
OK, let me try to clarify.
1) There is only one CFIDE folder on my system. Checked and re-checked.
2) The following is what I get when there is a Coldfusion error. The result is the same whether Robust exception information is turned on or not. (Although it is shorter.) That is why I think that since the source of these templates is encrypted, that somehow the encryption key used to process them is wrong. (I could be wrong here, that's just a guess.)
3) I've tried fixing this by re-installing the CF9.01 upgrade on-top of my existing installation. Thinking that it might fix the problem, but it does not. The installer correctly finds my CFIDE directory.
4) I should mention that this all started because I had an old CFIDE directory that was moved to this server as part of a consolidation of 3 servers websites onto a new, more powerful machine. I was in the process of making sure I only had one physical CFIDE directory on the main IIS domain (and virtual directories for other domains) and I must have kept the one from the old server (which was running CF9, but not 9.01).
Hope that helps.
Copy link to clipboard
Copied
That's not a CF error template. Check you web server's default error files.
--
Adam
Copy link to clipboard
Copied
Yes it is. IIS 7.5 throws the 500 - Internal Server Error at the top and then appends the CF error template underneath. I have a client server that does the same thing.
Look, I've been using CF since v3.0. I've checked all of the usual suspects here. There is no Global Error handlers setup in the CF Admin and there is no sitewide error handling going on in my application.cfc (for now, it was, but I disable it during development). I've even created a new IIS site, with single cfm page that throws an error by trying to display a variable that doesn't exist just to make sure. Same thing. Like I said in my initial description, this all started when I moved some files around (my mistake, I know). The errors still get logged by CF and can be viewed through the admin, but not through the normal debugging template.
I guess I'm just going to have to uninstall the entire server tonight and start from scratch, because I've lost too much time on this already.
Copy link to clipboard
Copied
What do you mean by appends the CF error template underneath? You mean you're appending the source code of the error template (because a template is a source code file)? That sounds like an odd thing to do, so I am guessing it's not what you're doing.
But anyway, CF's exception templates are in WEB-INF/exception. None of mine - although I've only got CF8 installed in front of me right now - are encrypted, but it might pay to see if any of yours are, or maybe do a quick install of an ear file (so it doesn't interfere with your current install), unpack it, grab the files from that and replace your ones.
That said, if the encrypted stuff is spewing out on the screen it means you're outputting the file contents, not actually processing it. So this might be a symptom of a problem not the actual problem itself.
--
Adam
Copy link to clipboard
Copied
Not to worry that you are going insane. People around here over think things. I knew what you meant from the get-go.
Unfortunately the solution to this one is to do a clean install. When you do an upgrade it only overwrites the files that are changed with the new version. So this problem is with files that did not change. I don't think the error handler changed from 9 to 9.01 so you just need to start over. Pain in the butt, but that is what happens when you make a mistake.
The first step is : *face - keyboard* repeat until sins are purged
Throwing darts at Adam's picture sometimes helps too.
Adam Adam Adam. ColdFusion makes a generic header ("ERROR 500" for instance) and then APPENDS/ADDS/PLACES/PRINTS whatever the actual error to the file it displays to you. That is what he meant. So up there in his picture you see the header and then the appended encrypted (gibberish) error.
Copy link to clipboard
Copied
Yeah, I figured that...I just wish I could figure out what the root cause was/is. I don't mind re-installing, if I know that is the only way to fix this. However, the more I look at it, it doesn't appear that anything in the CFIDE directory is even used when a CF error occurs. And since that's where my admitted mistake occurred, I'm now starting to wonder if that is the root cause, or if something else is behind this.
Copy link to clipboard
Copied
"Dingus", your patronising tone would be better placed if you made any sense. Still: present yourself however you like.
The error msg Sean posted was not a standard CF error output, that's plain as the nose on anyone's face: CF-generated errors simply don't look like that. Whether or not IIS is doing "some other stuff" then supposedly outputting CF's error feedback as well, or something else is interfering, what's on that screen is not simply a CF error gone wrong. So I'm trying to isolate what is going on.
Sean, CF certainly does use those files I pointed you to to express its error messages, although as I said they're not in the CFIDE dir, they're in the WEB-INF dir. I've since got home and checked my CF9.0.1 install, and they are all still plain-text, so it's not like Adobe suddenly encrypted/compiled them, and you're being hit by that. Did you eyeball them?
Thinking about it some more, and checking some files, what you're seeing is neither what one gets when looking at an encrypted template, nor when one looks at a precompiled template. It's just binary. Or garbage.
Sean, if you hit the URL using the inbuilt JRun Web Server, do you see a clear CF error, or still this munged stuff?
The one sensible thing Dingus does suggest is that sometimes - where possible - it's easier to shrug and reinstall. Given it's a 10min job (so less time that we've invested in all this so far...), maybe just do that.
--
Adam
Copy link to clipboard
Copied
Oh Adam, you have failed again. My attitude to you comes from your attitude to others. Simple as that.
You are absolutely correct when you say what is coming out is NOT what CF is supposed to be showing. We all agreed on that. BUT to say it is NOT a CF error page is wrong. It is. But why is it garbled? That is the question.
The 500 error is saying something is wrong in the server. Something got corrupted. Do a clean install. Trying to troubleshoot will take far longer than starting over. Simple answer. Short, sweet, and right. Don't get caught up in whether or not that is a proper error page. It obviously isn't.
And learn to spell my name.
Copy link to clipboard
Copied
Adam,
I *think* I know what's going on....because those files are unencrypted, and the fact that it does display correctly through the built-in webserver....I'm guessing that what I'm seeing is GZipped output that is not being decompressed by IIS. I'm running out the door for a bit, but I'll post back later as to what I find.
Thanks,
Sean
Copy link to clipboard
Copied
PROGRESS!!!
Ok, so I'm not totally out of the woods with this yet, but I have made a major discovery....by unchecking "Enable HTTP status codes" in the CF admin, I get the proper Coldfusion error template. So that eliminates the problem or the thought that a corrupted template was the culprit. However, this is still not the normal behavior, because I should be able to have that checked, return the proper status code, AND see the error template.
Now, would anyone have any ideas on where to look now?
and BTW, even if a re-install did fix this, I am of the type that want to know why...because if I ever come across it again (or someone else), I'll have the answer.
Thanks all for your continued help.
Copy link to clipboard
Copied
PROGRESS!!!
Ok, so I'm not totally out of the woods with this yet, but I have made a major discovery....by unchecking "Enable HTTP status codes" in the CF admin, I get the proper Coldfusion error template. So that eliminates the problem or the thought that a corrupted template was the culprit. However, this is still not the normal behavior, because I should be able to have that checked, return the proper status code, AND see the error template.
Now, would anyone have any ideas on where to look now?
It might be worth having a look @ the HTTP headers for both a "working" and "not working" request and see if there are any significant differences. CF might be blitzing the header which identifies the content as being gzipped, or something. This is a complete stab in the dark, mind.
I cna't say I've ever messed with it, but is gzip either on or off for a website, or can you say "gzip 200-OK responses, but leave other ones be"?
--
Adam
Copy link to clipboard
Copied
Ok, so in a classic case of 'this shouldn't have worked, but it did'. I decided to upgrade my JVM to 6u21 (after playing with JRockit a bit). Whadda ya know, but that fixed the problem...templates now display as they should. Even stranger is that once I switched back to the version shipped with CF9, it worked as well. Go figure.
On another note, has anyone here ever played with JRockit? I got a great performance boost from it, not to mention the great tools for detecting memory leaks, etc. My only problem was that when an error occurs, it always reports it as on line 1. Not horrible, but not ideal for development either.
Copy link to clipboard
Copied
Weird. Glad you "fixed" it. It'd be good to know why that fixed it, but... well...
Interesting re JRockit. I haven't looked @ it, no. I've really only used JConsole for any performance analysis (which is a generous term for what I do), and on the whole have just stuck with CF's default JVMs (other than the odd update).
--
Adam