How to use -catchStop to trap error 8812 and provide more information about the record locked by another user at the time
When eventually the Lock wait timeout expires it is useful to know the table name that the session was waiting on for further application code debugging
How to further debug concurrency issues due to locked records exceeding -lkwtmo
Lock wait timeout of <seconds> expired (8812)
When a record is not available since locked, who is holding that record and which table?
When the record is still locked by another user after the -lkwtmo interval has elapsed, a STOP condition is thrown within the program the lock was attempted and 8812 is raised without sufficient information to troubleshoot the issue after the fact.
proGetStack will include the list of Persistent procedures/Classes, to narrow down the list to find where in your code you are accessing the affected table, the table name needs to be known from the 8812 stop condition