Bug 27279

GemStone/S

6.7, 6.6.5, 6.6.4, 6.6.3.3, 6.6.3.2, 6.6.3, 6.6.2, 6.6.1, 6.6, 6.5.8, 6.5.7.5, 6.5.7, 6.5.6, 6.5.5, 6.5.4, 6.5.2, 6.5.1, 6.5, 6.3.1, 6.3, 6.1.5, 6.1.4, 6.1.2, 6.1.1, 6.1, 6.0

Windows

Limit on number of netldi spawned process on Windows

On Windows 2000 and Windows XP with a default application desktop heap,
there is a limit on the number of processes a netldi can spawn. This has
the effect of limiting the number of rpc logins, since the netldi must
spawn a gem for each rpc login. Other factors that limit the number of
gems is if the netldi process is owned by LocalSystem, or the gemnetobject
script is used to spawn gems.

After this limit has been reached, logins will fail with GemStone error
4042 and a message similar to this:

  GemStone: Error         Fatal
  Unable to create a GemStone session.
  Netldi 'netldi60' on host 'donkey' reports the request 'gemnetobject'
failed: Your netldi request timed out after 30 seconds.
  If a gem or page server log file was created for this request it will
contain information on why this request failed.
  Otherwise check the netldi log 'c:/GemStone60/product/log/netldi60.log'
for information.
  Error Category: [GemStone] Number: 4042 Arg Count: 0

There may also be a popup dialog on the server machine stating "The application
failed to initialize properly (0xc0000142). Click ok to terminate the application".

Note that GemStone changes in version 6.0.1 avoiding this problem. However,
due to side effects, the changes were backed out in GemStone/S 6.1.

Workaround

Limited desktop heap is a known cause of this problem (there are other
factors).  See
   http://support.microsoft.com/default.aspx?scid=kb;en-us;Q126962

This can be fixed by increasing the size of the desktop heap. This requires
using regedit and rebooting.  Contact your system administrators or backup
your registry and use extreme caution in editing your registry as you can
make your machine unusable.

The value of the registry setting
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows

is a long string that contains the substring "SharedSection", which may
look similar to
    SharedSection=1024,3072,512

the final parameter (in this example 512), if provided, specifies the desktop
heap assigned to non-interactive sessions. Increasing this to a larger
value, such as 1024, should provide enough heap to allow a much greater
number of logins.


Last updated: 7/19/06