Another Way to Get 500 Null in ColdFusion MX 7
Today I wanted to change the VM that ColdFusion runs under so I started in to set it to use the jvm 1.5.0_06. I entered the ColdFusion administrator, changed the path to the base path where the jvm lived. Everything seemed to go well, ColdFusion took the new path. I restarted ColdFusion, popped open a browser on my non-server computer, and I saw the dreaded 500 null. Unlike everywhere else I had been seeing it, this time it wasn't accompanied by any data.
The really eerie thing about this is that I checked the cfserver.log file and I saw that none of my datasources were able to connect. I'd attribute that to not having a viable JVM, however all of my java apps worked. After a few hours of tinkering with it, I had decided that enough was enough and I wanted to go back to the old JVM. I couldn't get into the Administrator anymore, so I had to find another way.
Macromedia / Adobe have been good enough to give us a sort of back door, knowing that this is a pandora's box of problems for ColdFusion administrators. Whenever you change your JVM path, they back up the jvm.config file for you. The backup is called jvm.bak. I just did a cp jvm.bak jvm.config and voila, I had the old JVM set up again. I went through my gyrations, shutting down ColdFusion, and then restarting it. Same thing, 500 null. I cleared out all of the old java class files that were being held by the system and everything. Nothing I try has any effect. I found a post on Adobe's ColdFusion forum talking about this problem. Apparently if you change a }/ to a }/../ they think it will help. Well, I tried that and it didn't work.
It looks like I'm back to square one. I'll start up again tomorrow trying to fix this. If I had known it would have been this much trouble, I would never have tried to change the JVM in the first place. I can tell you though, I'll never try to change it again, unless Adobe explicitly tells everyone that it is completely safe. Fortunately the problem is only on my developer's sandbox, and not on the main development server, or any of the production servers. It'd be a nightmare to have this happen to a production box.