Article

Client process getting error 1720 in 10.1B attempting to attach to database in shared memory on Windows.

« Go Back

Information

 
EnvironmentProduct : OpenEdge
Version: 10.1B, 10.2x, 11.x
OS: All supported platforms
Question/Problem Description
Client process getting error 1720 in 10.1B and later when attempting to attach to database in shared memory on Windows.
Unable to attach shared memory Global\<shmname>, error 0. (1720)
Getting error 1176 when starting database server with large value for -B on Windows under 10.1B.
The data space of the process is not enough for the shm segment (1176)
Clarifying Information
Error Message
Defect/Enhancement Number
Cause
Changes to internal architecture of the 10.1B client code and 10.1B database internals have changed the memory requirements and some functional limits for many executables.

In 10.1Bx the client will most likely only be able to connect in shared memory to a database whose total allocated shared memory is around 1.4 Gig of RAM (or less).

Depending on parameters used to start the database the following are the values typical for -B dependent on database blocksize:
DB Blocksize   Approximate limit for -B value which
                      will allow shared memory connection
1k                   1400000
2k                   700000
4k                   350000
8k                   175000

These numbers are largely approximations. 
Changes to .dll versions within a system may increase or lower these suggested values.
Changes to some startup parameters which affect shared memory such as -B, -L, -Mxs, -shmsegsize, et al. will likely alter the above limits.

Though the database may be able to startup with values higher than those listed above, the client requires a much larger heap size in 10.1B compared to earlier versions and this added memory usage lowers the total memory that the client can attach to and still be within the addressable 32-bit memory limit for a client executable on Windows.
Resolution
Consider reducing the -B for the database startup.  A good starting point is to reduce the prior value by 10%.

The database must be restarted for this new setting to take effect and the client connection in shared memory should be attempted immediately after the database is started to see if the reduction in -B is sufficient to avoid the 1720 error.
Workaround
Notes
In 10.1B or later versions shared pointers are 64 bits wide for both 32-bit and 64-bit versions of Progress / OpenEdge.
In prior versions shared pointers were only 64 bits wide on 64-bit versions of Progress / OpenEdge.
This is one of the factors which has increased the size of client and server memory space in 10.1B and later but it is necessary for manipulation of 64-bit structures.
Attachment 
Feedback
 
Was this article helpful?

   

Your feedback is appreciated.

Please tell us how we can make this article more useful.



Characters Remaining: 255

 



Copyright © 1993-2014. Progress Software Corporation. All Rights Reserved. See the next generation of application development and data connectivity software, try now!