How to solve error frm-93552  cannot connect to runtime process

How to solve error frm-93552  cannot connect to runtime process

How to solve error frm-93552  cannot connect to runtime process

Titleimage

Posted by Patrick Hamou on 2016:04:13 19:27:22

Issue

Customer was experiencing FRM-93552 error at about 100 user sessions per server. Production system was Windows Server 2008 32-bit, Forms 11.1.1.4, with 8 Processors, 40GB RAM.

RAM Usage was low, only 15 out of 40GB used. CPU usage was averaging 5%. Thus system resources were not at the threshold.

Cause

At the time of the error, the following messages were logged in the Windows System Event Logs:

Event Type: Warning
Event source: Win32k
Event ID: 243
Description: A desktop heap allocation failed

OR

Event Type: Warning
Event Soure: Win32k
Event ID: 244
Description: Failed to create a desktop due to desktop heap exhaustion

OR

Description: Application startup failures (0xc0000142)…

The reason Windows is throwing the error above, because the Forms Server is creating “frmweb.exe” sessions per every user. Whom of which all fall under OPMN. As more forms user sessions were being created, more windows heap space was getting used. Depending on how much heap was allocated, how many sessions, and how much data those sessions use, the heap eventually got depleted and could not create any new frmweb.exe sessions.

Thus, we found that the Windows Desktop Heap for Non-Interactive Processes  was not sufficient enough to support the amount of end-users for the customer.

Resolution

Increased Non-Interactive Process Heap space from 512 to 4096. The amount of end-users that the system could support went from 100 to 1400 users. 

NOTE: This process requires a hardware/server reboot. Make sure the server is planned for an outage.

To update non-Interactive heap, do the following:

1. Open Regedit

2. Navigate to the following registry key path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems

3. Open the “Windows” key

4. Locate SharedSection=<some_number>,<some_number>,<some_number> example: SharedSection=1024,3072,512

5. Update the 3rd value of Shared Section. The following example increases non-interactive heap from 512KB to 4096KB

Before:
SharedSection=1024,3072,512

After:
SharedSection=1024,3072,4096

6. Save your changes to the key.

7. Restart the Server/Hardware.

NOTE: the maximum heap you can allocate between all 3 heaps, is 48MB. System will not accept anything higher than 48MB. For more on Windows Heap allocation: http://support.microsoft.com/kb/184802

Posted by Patrick Hamou on 2016:04:13 19:27:22

Return to Blog