Consultor Eletrônico



Kbase P4049: database to crash after Can't find table lock for table number 1
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   12/16/2008
Status: Verified

SYMPTOM(s):

SYSTEM ERROR: Can't find table lock for table number 1

SYSTEM ERROR: Can't find table lock for table number <n>

SYSTEM ERROR: Can't find table lock for table number 7 recid 11786913 owner 47

SYSTEM ERROR: Can't find table lock for table number <n> recid <n> owner <userid>

** Save file named core for analysis by Progress Software Corporation. (439)

Database performance drops until it is too slow to use any longer

Error results in the database taking a very long time to be shutdown

Database re-starts without further errors

FACT(s) (Environment):

Progress 9.1C
All Supported Operating Systems

CHANGE:

New release of application code to client

CAUSE:

There are two conditions that cause this behavior:

1) The lock all chain macro fails to take into consideration table lock chains, causing race conditions throughout the enablement / disablement of the table locking mechanism.

2) When table locks were enabled, there are outstanding purge locks on the table locks that were associated with the purge locks and these were released at the end of the transaction, even if a record lock outside the transaction needed that table lock.

This causes the database to crash when the second record lock is released as the database manager interprets this as a potential data integrity violation that needs to be managed.

When re-starting the database, roll back recovery ensures that the outstanding transaction has been rolled back.

FIX:

This issue was addressed in Progress 9.1C patches. Progress 9.1C12 was the last patch that this issue was resolved in. As Progress 9.1C is considered a retired version, the last 9.1C patches are avaiable through Technical Support, provided that certain caveats are agreed. Otherwise upgrade to a later version.