Feedback
Did this article resolve your question/issue?

   

Article

Error 210 14684 running prostrct statistics after upgrading to 11.7.6 or 12.2

« Go Back

Information

 
TitleError 210 14684 running prostrct statistics after upgrading to 11.7.6 or 12.2
URL Name11-7-6-12-2-Error-210-14684-prostrct-statistics
Article Number000169776
EnvironmentProduct: OpenEdge
Version: 11.7.6, 12.2.0
OS: All supported platforms
Other: PROSTRCT STATISTICS
Question/Problem Description
After upgrading to 11.7.6 or 12.2 prostrct statistics fails with error 210 14684

PROSTRCT STATISTICS fails with reading a block 3414499000320 that cannot possibly be part of a 1945600 KByte area

stack from _dbutil reads:
dsmFatalMsgnCallBack
bmLocateBuffer2
dbStats
dbusProstrctStatistics
Steps to Reproduce$ prostrct statistics dbname
Clarifying Information
PROSTRCT STATISTICS does not fail on all databases
PROSTRCT STATISTICS only fails on large databases with Type II storage areas
There were no failed online or offline PROSTRCT database structure changes before upgrading
PROSTRCT STATISTICS works in previous versions

DBTOOL Option 5 , DBANALYS, PROBKUP are all clean (no block corruption)

Database Structure verified with PROSTRCT LIST (screen vs .st vs ls -lat)
Database meta-schema structure verified with VST's:
  •  _AreaExtent matches _area
  •  _Filelist reports all extents in each area
  •  _DBStatus is found and field content is not empty
PROSTRCT STATISTICS still crashes after rebuilding the Control Area with PROSTRCT BUILDDB
Error MessageSYSTEM ERROR: Attempt to read block 3414499000320 which does not exist in area 10, database <dbname>. (210) (14684)
Defect NumberDefect OCTA-22517 / CONT-7228
Enhancement Number
Cause
PROSTRCT STATISTICS will fail with error (210) (14684) when it scans Object Blocks for their statistical information. The object list block scanning fails when more than one object list block exists for a Type II storage area.

This issue will affect databases that have many objects in the same Type II storage area: 
  • ~ 300+ for 4K database blocksize
  • ~ 600+ for 8K database blocksize
This can be identified by running DBANALYS for an area. If the reported object list block(s) is greater than 1, PROSTRCT STATISTICS will fail.

This issue was introduced by a change to prostrct statstics to resolve dependencies between prostrct statistics and dbanalysis reporting the free blocks after deleting many records. For further information refer to Article:
Resolution
Upgrade to OpenEdge 11.7.7, 12.2.1, 12.3 or later where OCTA-22517 is fixed PROSTRCT STATISTICS object list block scanning.

A Documentation defect has been raised for the "Issues Fixed in OpenEdge 12.2.1", where OCTA-22517 is listed against ID reference "ADAS-22517", which is incorrect and relates to an unrelated and entirely different issue:  PASOE 18320 Error "An error occurred processing the POST request"
Workaround
Option 1: Use _dbutil from a previous version of the same Major/Minor version to run PROSTRCT STATISTICS
cp dlc1175/_dbutil wrk/_dbutil1175
wrk/_dbutil1175 prostrct statistics <dbname>

Option 2: Spread objects across additional storage areas so that only one object-list block is needed for fewer objects in the Type II area. This creates an opportunity for a database re-org that may be outstanding.
  • Less than 300 database objects for 4KB database blocksize
  • Less than 600 database objects for 8KB database blocksize
Notes
Last Modified Date10/26/2021 8:57 PM
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.