Did this article resolve your question/issue?



Unable to start a database with the -S parameter when the database is having more than 2000 extents under Linux/Solaris


TitleUnable to start a database with the -S parameter when the database is having more than 2000 extents under Linux/Solaris
URL Nameunable-to-start-a-database-with-the-s-parameter-when-the-database-is-having-more-than-2000-extents-under-linux-solaris
Article Number000115494
EnvironmentProduct: OpenEdge
Version: 10.x, 11.x
OS: Linux/Solaris
Question/Problem Description
Unable to start a database with the -S parameter when the database is having more than 2000 extents under Linux/Solaris.
Unable to load .df into database with self-service connection when the database has a large number of extents.
Data Dictionary load fails when loading .df into database with a large number of extents, when using a shared memory connection.

Steps to Reproduceproserve databaseName -S <port>
Clarifying Information
Database can be started when the -S parameter is not used.
Other databases having a similar amount of extents do start with the -S parameter.
strace output shows an apparent infinite loop in lseek.
Error MessageSYSTEM ERROR: Memory violation. (49)
SYSTEM ERROR: The broker is exiting unexpectedly, beginning Abnormal Shutdown. (5292)
drexit: Initiating Abnormal Shutdown
** Save file named core for analysis by Progress Software Corporation. (439)
The database will complete shutdown within approximately 60 seconds. : (15192)
Begin ABNORMAL shutdown code 2. (2249)
Removed shared memory with segment_id: (16869)
Defect/Enhancement NumberDefect PSC00362766
This is a memory corruption bug that was caused by the manipulation of a bit map (selmsk) which is only used by deprecated code (select() system call) on Unix.  The maintenance of this bitmap was therefore removed to solve the problem.

Windows still uses the select() system call, however it manages its file handles differently than UNIX (a list vs a bit map) so there is no change needed to the windows network layer.
Upgrade to OpenEdge Release 11.7.3 or later.
Upgrade to OpenEdge Release 12.0 or later.
Create larger extents so that the amount of extents do not exceed 1000 extents.
Last Modified Date9/24/2019 4:15 PM
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.