Consultor Eletrônico



Kbase P47742: Error 3633 and the database crashes.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   11/12/2008
Status: Verified

SYMPTOM(s):

Database crashes with error 3633

SYSTEM ERROR: bkfndblk: dbkey <num> not locked. (3633)

Stack trace from _progres reads:

bmFindBuffer
cxSplit
cxSplit
cxPut
cxAddNL

proutil -C idxcheck against the database reveals index corruption.

FACT(s) (Environment):

Progress 9.1x
All Supported Operating Systems

CAUSE:

Error 3633 is generated by the database buffer manager when it is asked to locate a buffer already locked by the caller. This is used by the index manager when it is going to upgrade a lock on an index block that it will subsequently update, presumably while adding or deleting an index entry.

The index manager is performing the following sequence of operations:

1. find an index block with an intent to update lock.
2. do some other things, possibly finding other index blocks
3. get the address of the block found in step 1.
4. upgrade the lock from intent to exclusive
5. update the block
6. release the lock.

In step 3, the error occurs because the buffer manager cannot find the requested block.

FIX:

Run idxfix, which can be done online, or an index rebuild (database must be stopped).