Feedback
Did this article resolve your question/issue?

   

Article

Database Request Statement Cache the database crashed error 15750

« Go Back

Information

 
TitleDatabase Request Statement Cache the database crashed error 15750
URL Name000046074
Article Number000114207
EnvironmentProduct: OpenEdge
Version: 10.2Bx, 11.x
OS: All supported platforms
Other: Statement Caching
Question/Problem Description
After disabling Database Request Statement Cache the database crashed error 15750.
PROMON > R&D > 1. Status Displays > 18. Client Database-Request Statement Cache > 5. Deactivate For All Users
PROMON > R&D > 1. Status Displays > 18. Client Database-Request Statement Cache > 6. Deactivate For All Future Users


Prior to disabling connected users were hung waiting for STCA latch. 
Steps to Reproduce
Clarifying Information
DB Request Statement Cache previously activated for all users and all future users.
No core files generated.
No protrace files generated.
Error MessageSYSTEM ERROR 1: ST cache for user <num> is locked by pid/tid <pid>/<tid> and not by this user <num+x>
(15750) SYSTEM ERROR: Statement caching unlock operation performed without a prior lock operation.
Defect NumberDefect PSC00286145
Enhancement Number
Cause
A race condition between a user logging out and the management of the Statement Cache lock on that user control structure by another user:

A user querying the statement cache vstFetch() for another user that is in the process of logging out will without regard free the statement cache lock. While there is code to protect against a failure in this situation, however, since the lock is freed, it allows another user to lock that disconnected usrctl's statement cache. When the first user attempts to unlock the statement cache it previously had locked, it sees the lock owned by another user.
Resolution
Upgrade to OpenEdge 11.3.3 or later
Upgrade to OpenEdge 11.4.0 or later

The fix covers the following aspects:
  • Contention on Statement Cache locks when a user already being monitored via statement cache is logging out is fixed.
  • When clearing the usrctl for a user being monitored, any outstanding wait requests are awoken to prevent a hang situation, by performing a wakeup of statement lock waiters when clearing a usrctl at logout to prevent other client's being monitored from hanging on the STCA latch .
  • Additionally, a Statement Lock viewing option was added to PROMON to view the current lock status:
​​​PROMON > R&D > 1. Status Displays > 18. Client Database-Request Statement Cache > 10. Database statement cache locks
Workaround
Notes
Last Modified Date11/20/2020 7:24 AM
Attachment 
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.