Tuesday, November 13, 2012

FRM-92101 Error When Running Forms


FRM-92101 Error When Running Forms After 70-75 Concurrent Connections and No New Connection Possible

This problem is specific to MS Windows Operating Systems - normally Windows 2000 or 2003.  Although the occurrence of this issue is not common, it appears on both 32 and 64 bit windows.  You may receive the following error indications:
Forms 6i, 9.0.4.X, 10.1.2.X - FRM-92050 sometimes together with FRM-92101 or FRM-92102
Forms 9.0.4.X, 10.1.2.X - application.log shows FRM-93000
Forms 6i (Forms Listener Servlet) - jserv.log shows FRM-93000
Forms 6i (Forms Server) - error log shows ERROR 1444 - FORMS SERVICE STOPS UNEXPECTEDLY 1444
This happens with a small number of connections - the range may be 50 - 80. The specific number depends on operating system factors such as number of CPUs, processor speed, memory, etc.   The problem may occur even with less than 50.  

CAUSE

Windows has a memory resource called the Desktop Heap. A particular section of this  resource is running low and causes the problem.

SOLUTION

1. Change the logon-property from the responsible service to "[x] Allow service to interact with desktop" (using all the defaults of the registry!) and restart the service.

This forces the Apache Service (Forms 6i) or the Oracle Process Manager Service (OPMN) (Forms 9i and above) to use the IO Desktop heap which is larger than the Non-IO Desktop heap by default. The term "Desktop", here, is not to be confused with the normal Windows desktop, which holds your icons and your background, etc. In this context, it is Microsoft terminology for an area of memory.

Once verified that this increases the number of possible frmweb processes, then return this setting back to its default value - unchecked -  and modify the Non-IO Desktop Heap size in the Registry as it is used by the Middle Tier OPMN Service.
2. Modify the Non-IO Desktop Heap size variable in the registry. This should not be done unless:
- A backup has been made of the registry. Any error in modification of the registry can render the system unusable.

- Solution 1 has been tested and has increased the number of processes that will run successfully.


The following information applies to Windows NT, Windows 2000, Windows 2003.
Enter the Registry and go to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems.

Double click on the Windows node value in the right frame.  Increase the  appropriate SharedSection parameter which will be the third one.  For example, the SharedSection specifies the system and desktop heaps using the following format: 
SharedSection=xxxx,yyyy,zzzz The default values are normally 1024,3072,512

All the values are in kilobytes (KB).

xxxx = System-wide Heapsize. There is no need to modify this value and it is ignored for the rest of this discussion.

yyyy = IO Desktop Heapsize. This is the heap for memory objects in the IO Desktop and there is normally no need to modify this value. Programs that are run from a command line (.bat files) or an icon use this memory resource.

zzzz = Non-IO Desktop Heapsize. This is the heap for memory objects in the Non-IO Desktop and is used by programs that are spawned from a service. Therefore, this is the value that should be increased if the OPMN process is being started as a service which is the default for a windows installation of the Application Server. This number can be set as high as 30 MB (30720 KB). However, it is seldom necessary to set it this high.
If you change these values, you must reboot the system.
The values are recommended to be a multiples of 512, but this isn't necessary. There is a hard limit total of 48 Mb for the the total heap size for Windows.


If you increase the Non -IO Desktop heap and your server is dedicated to Forms
or some other server process , then you can safely decrease the IO Desktop heap
since that is just wasted. This isn't necessary, though.

In summary, if you are hitting this problem where your server can not create
any more processes, you should increase the heap size of the either the IO
Desktop or the Non-IO Desktop. The correct one depends on how you run your
application, whether from a service, or from an icon or command line.

You have to restart the all services from Oracle AS, after saving the changes.

Explanation


This is an Operating system limitation on the heap sizes.

2 comments:

  1. Hi I am student who installed oracle 10g
    Using firefox
    Java 1.6.0_45
    Windows 7

    I have an asignment on forms and I have been trying to run the test form but am getting this error.

    FRM 92101. There was a fairlure in the Forms Server during startup. This could happen due to invalid configuration.
    Please look into the web-server log file for details.


    I was trying to follow instructions.I have changed the details in the registry but I dont know how to get to that oracle process manager.


    Please help me as my assignment is due in a few days.

    Thanks,
    Mwiche.

    ReplyDelete
  2. Here is solution for windows environment

    http://mujahidalishahani.blogspot.ae/2014/10/frm-92101-there-was-failure-in-forms.html

    ReplyDelete