opalis: blank entries in log and log history
ran into a problem today with opalis. I had checked in a policy I was working with for testing and left it on overnight. I came in the next day and found that it didn't work like I had expected. I checked out the policy and tested it to make sure it was working. it did exactly what I expected.
I checked it again and started. this is when I noticed something strange. neither the log nor the log history had any information in it. usually, it would look something like this screenshot:
I checked my lab environment and found the same thing. I spent a few cycles reading logs, manuals, etc believing that I had missed a step setting it up somewhere or inadvertently turned something off. I ran across an access denied error that I quietly shuffled to the back for now. to rule out the ois client, I tried using the operator console. that didn't work either.
I checked the services on the server to see if it was started. that's when I found that the opalisactionservice wasn't started. (as for the mystery to the operator console, I completely forgot to set the operator console to the https://myserver:8443 port after securing the web install. it was working just fine.) :/
anyway, oddly enough, it was stopped in my lab and dev environment. I fired it up in the lab and stuff started working just fine! I tried the same thing in dev... not so much. it began to start and then dropped the hex bomb!
"error 0x80004005: unspecified error"
this lead to a hotfix article titled "error 0x80004005: unspecified error" returned when starting opalisactionservice service". convenient. this suggested that the problem was most like related to permissions to the database. remembering the error in the log I saw earlier, I tied this together. I went back to the opalisactionservice log and pulled up the details in it. looked like this:
Process ID: 1792
Version : 6.2.2.5229
Computer : OpalisDev
User : myDomain\myOpalisActionDev
2010-09-16 16:02:48 [292] 1 DBDataStore: ::Exception caught in long __stdcall CODBDataStore::GetActionServers(unsigned short *,struct tagVARIANT *):
C:\AutomatedBuild\IS5.Platform\Branches\6.2_Sanitized\Platform\DBDataStore\ODBDataStore.cpp(10480)
<Exception>
<Type>Opalis::Exception</Type>
<Location>
long __stdcall CODBDataStore::GetActionServers(unsigned short *,struct tagVARIANT *)
C:\AutomatedBuild\IS5.Platform\Branches\6.2_Sanitized\Platform\DBDataStore\ODBDataStore.cpp(10453)
</Location>
<MsgCode>_com_error</MsgCode>
<Params>
<Param>IDispatch error #3081</Param>
<Param>The SELECT permission was denied on the object 'ACTIONSERVERS', database 'Opalis', schema 'dbo'.</Param>
<Param>-2147217911</Param>
</Params>
</Exception>
2010-09-16 16:02:48 [292] 1 DBDataStore: ::Error #-2147217911
Description: The SELECT permission was denied on the object 'ACTIONSERVERS', database 'Opalis', schema 'dbo'.
Source: Microsoft OLE DB Provider for SQL Server
2010-09-16 16:02:48 [292] 1 Exception caught in long __thiscall COpalisActionService2Module::PreMessageLoop(int) throw()
C:\AutomatedBuild\IS5.Platform\Branches\6.2_Sanitized\Platform\OpalisActionService2\OpalisActionService2.cpp(105):
<Exception>
<Type>Opalis::Exception</Type>
<Location>
void __cdecl ActionServerRegistrar::registerActionServer(void)
C:\AutomatedBuild\IS5.Platform\Branches\6.2_Sanitized\Platform\OpalisActionService2\ActionServerRegistrar.cpp(194)
</Location>
<MsgCode>_com_error</MsgCode>
<Params>
<Param>Unspecified error</Param>
<Param></Param>
<Param>-2147467259</Param>
</Params>
</Exception>
I asked my database admin friend to have a look over the permissions to verify they were correct, having remembered that there was some shuffling around recently. after reviewing the permissions, he did find a problem. the action account had been granted schema ownership instead of role members. oops! this is what was applied:
and what should have been applied:
anyway, just thought I'd share in case you see this problem.
Comments
Post a Comment