Kbase P125035: Database shutdown abnormally with error 5292 after disconnecting dead user with error 432 and 5142
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  9/2/2008 |
|
Status: Verified
SYMPTOM(s):
Database shutdown abnormally with error 5292 after disconnecting dead user with error 432 and 5142
SYSTEM ERROR: lkcncl: invalid call. (432)
SYSTEM ERROR: lkrend called with active transaction (5142)
Disconnecting dead user <number>. (2527)
SYSTEM ERROR: The broker is exiting unexpectedly, beginning Abnormal Shutdown. (5292)
Client terminates their session abnormally
Stack trace from _progres or _mprosrv reads:
dsmFatalMsgnCallBack
lkcncl
lkrmwaits
FACT(s) (Environment):
All Supported Operating Systems
OpenEdge 10.1B
CAUSE:
Bug# OE00151942
CAUSE:
In 10.1B was first introduced a performance enhancement to the user lock queue functionality.
When a dead user is cleaned up, any current transactions they held are backed out, releasing any locks involved in the transaction. Shared locks are also allowed to be acquired outside the scope of a transaction, so there may still be locks to release for this dead user.
A bug in this implementation was found, such that, cleaning up this user's locks will also release any other locks in the same lock chain.
So, when the rightful owners of those locks need to release them, the lkcncl: invalid call. (432) message results as these locks are no longer in the chain.
FIX:
As a workaround, use -lkrela database startup parameter to revert the database engine to use the previous lock release mechanism.
FIX:
Upgrade to OpenEdge 10.1B03.