I have a set of solutions for an application that were to be upgraded to a new release. I use a setup feature that activates/re-activates necessary features, runs som jobs, modifies web.config etc. All this to minimize failures caused by manual implementation. The hosting company just re-installs the solutions, activates the activate setup and everything is up'n running in a minute. Perfect.
But this upgrade failed. When activated using stsadm, we didn't get any errors but my logfiles constantly reported AccessDenied exceptions. When activated using the Central Administration UI, a ThreadAborted exception was thrown.
After looking into my loggfiles I noticed that everthing didn't actually fail. Some features were actually activated and timerjobs started successfully. A little more digging showed me that every read operation in the site collection worked fine, but the write operations failed with an AccessDenied exception.
Permission errors? Not very likely, I tried to run the process using all possible accounts including the farm account. The ULS log didn't provide much help. Only a line with the AccessDenied exception.
Ok, turn on verbose logging... The ULS said something like "PermissionMask check failed. asking for 0x00000005 ... "
But it gave me the answer:
The site collection was locked, presumably after a server failure. Unlocked the site and everything ran smoothly!