Thursday, January 28, 2010

Running ColdFusion Under a Service Account on Windows Server and Null Pointer Errors

I was installing ColdFusion 8.01 on a new Windows Server 2003 VM yesterday, and since the application that will be running on this box needs access to network shares I had our network admins create a new domain service account under which to run ColdFusion. This is pretty commonplace for a lot of our apps, but for some reason when I switched the CF service to run under the service account I started getting a 500 error with the following details when any .cfm page was hit:


java.lang.NullPointerExceptionat jrun.servlet.JRunRequestDispatcher.invoke( jrun.servlet.ServletEngineService.dispatch( jrun.servlet.jrpp.JRunProxyService.invokeRunnable( jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(

This was even after I had assigned "full control" rights to the service account user to the application directory.

I asked around a bit since I'd never seen this before, and Dave Watts came up with the solution. (Thanks Dave!) In this case I logged onto the server via remote desktop using the service account, at which point I was forced to change my password. After I changed my password, the remote desktop login didn't proceed because that user didn't have RDP rights on the server. I didn't think that was an issue, but Dave suggested that there might be a problem if the service account didn't have a local profile created on the server, which of course happens the first time a user logs in.

I gave the service account RDP rights, logged in as that user, the local profile was created, and everything works now. So if you see null pointer errors when trying to run CF using a service account, this might be your problem.


Anonymous said...

you just saved my ass.... thanks. Why this suddenly started happening, I have no clue.

Matthew Woodward said...

Excellent. Glad this helped.

Rod Nolan said...

I can't wait to try this tomorrow... this problem has been nagging me for over a week!