Document ID:        34125.1
Subject:            Prevention of GPFs
Last Modified:      02 Apr 96 
Author:             DBOOTH


GPFs can occur if system resources (memory) run extremely low; for instance,
too many applications may be opened at the same time. e.g. telnet sessions,
word processors, spreadsheets, mail, WEB browsers, Oracle Forms, Oracle Reports.

Close all unwanted/unused applications.  Avoid opening and closing the same
application multiple times.  Some applications do not release system resources
even when they are closed - also refered to as 'memory leaks'.

WAYS TO MINIMIZE THE USE OF WINDOWS SYSTEM RESOURCES
----------------------------------------------------

1.  Do away with seldom-used icons and program groups in Program
Manager/Windows shell.  Although this may be trivial, it all adds up.

2.  Do not keep applications running unless you really need them, even if they
are minimized - they still cling onto system resources.

3.  Reduce the number of fonts loaded in Windows.  This not only reduces the
system's resource requirements, it also makes windows loads faster.  To see how
many fonts are loaded when Windows starts, review the WIN.INI file, the fonts
definitions are kept under the [fonts] section. Try to keep them under 100
fonts.

4.  Windows desktop wallpaper can be another determinent.  Avoid using complex
16 million/24-bit color wallpaper, they chew up resources.

5.  Ensure that the most current video/network driver is installed.  Some older
drivers may pose problems.  Check with your hardware manufacturer for updated
releases.

6.  Eliminate duplicate Dynamic Link Libraries (.dll) files stored in different
directories.  This will prevent applications from picking up the older file
(based on the search path).

7.  OLE 2.0 applications tend to make use of more system resources.  Make sure
that your system has enough resources when running OLE 2.0 applications.  You
can monitor your system resources by using third-party tools such as WinMem by
Bogus Software.

8.  Ensure that at least 450k of free conventional memory is available.
Loading device drivers onto Upper Memory Area (UMA) helps free up more
conventional memory.  Refer to MS DOS User's Guide for more infomation on UMA.

9.  Lastly, SAVE and BACKUP your work frequently.

WHAT TO DO IF GPF STRIKES
-------------------------

1.  Close the offending application, save any existing applications and exit
Windows.  The system has become unstable once a GPF is encountered.  Re-booting
the system helps.

2.  Check the file system for any file corruption, e.g. cross-linked files or
lost allocation.  Cross-linked files can cause GPFs.

If you're using MSDOS 6.x, issue the command on your local hardisk at the
command prompt,

           C:\> SCANDISK

otherwise issue,

           C:\> CHKDSK/F

For more info on 'SCANDISK'/'CHKDSK', type 'HELP ' in your DOS directory,
           C:\DOS> HELP CHKDSK      or
           C:\DOS> HELP SCANDISK

** NOTE: Running CHKDSK or SCANDISK alone does not ensure that the GPF will go
away.

3.  Next, try isolating the problem by "clean-booting" your system, i.e. by
removing device drivers (e.g. network drivers, SCSI...) and third-party memory
managers.

If you have ran 'MEMMAKER' (for those using MSDOS 6.x), remove additional
preceding parameters in the CONFIG.SYS and AUTOEXEC.BAT file left by the
utility; for example:

CONFIG.SYS
----------
     DEVICE=C:\DOS\HIMEM.SYS
     DEVICE=C:\DOS\EMM386.EXE NOEMS X=D800-D9FF
 --> DEVICEHIGH /L:1,12048 =C:\DOS\SETVER.EXE
 --> DEVICEHIGH /L:1,9072 =C:\DOS\ANSI.SYS
     ...

change lines 3 and 4 to:-

     DEVICEHIGH=C:\DOS\SETVER.EXE
     DEVICEHIGH=C:\DOS\ANSI.SYS

i.e. removing the parameters /L:x,xxxxx

** NOTE: HIMEM.SYS and EMM386.EXE must be loaded BEFORE all other device
drivers.  Do not load them high.  For more information on HIGHMEM, refer to
MSDOS User's Guide.

AUTOEXEC.BAT
------------
     ...
 --> lh /L:1,1453 =c:\pctcp\3c503.com -n 0x60 3 0x300
 --> lh /L:1,12088 =c:\msmouse\mouse.com
 --> lh /L:1,13420 =c:\dos\doskey
     ...

again, remove the parameters /L:x,xxxxx

4.  In the AUTOEXEC.BAT, make sure the following environmental variables are set
:

        SET TEMP=C:\TEMP         where C:\TEMP is VALID temporary directory
                                 in the file system.

        SET TMP=C:\TEMP          Reports 2.0.x requires this parameter to
                                 be set
#
                                 (Bug#195398, also Bulletin#107384.728)

If you are using CDE Tools or Developers/2000, remove SHARE.EXE from AUTOEXEC.
BAT. Use VSHARE.386 instead.  This should be loaded in the SYSTEM.INI file,
under the [386Enh] section.

SYSTEM.INI
----------
...
[386Enh]
display=*vdd,*vflatd
WinExclusive=0
...
device=vshare.386         <- make sure this is loaded
...

Make sure that this file exists in the \windows\system directory if local copy
of windows is installed.  Otherwise, this file should be located in the
\windows directory on the server if Windows are setup on the server.

The VSHARE.386 file is available in the CDE or Developers/2000 installation
media.

In the CONFIG.SYS, set the following:

         BUFFERS=60,0
         FILES=60

WHAT IF YOU STILL CONTINUE TO ENCOUNTER GPFS?
---------------------------------------------

Ask yourself the following questions:

1.  Are they consistently re-producable?

2.  Are the modules and the location of the fault the same everytime?

If you have answered 'YES' to the above questions, the GPF may be caused by a
bug.  And if you are sure and satisfied with your PC configuration (see above)
and software installation, call your local Oracle Support office and provide
the following information:

1.  The full version of Oracle product you are using.
    eg. Forms 4.5.6.0.7

2.  The full version of the Oracle server you are using.
    eg. Oracle 7.0.16.6.5A for Netware

3.  A *COMPLETE* step-by-step sequence to reproduce the GPF including the module

    and location where the crash occur.
    eg. F45DES caused a GPF in module TK21WIN at 001F:3979

SHOULD YOU SEND A TEST CASE?
----------------------------

After understanding the nature of your problem, the support will be able to
advise you accordingly.

If you have encountered a problem which has already been reported, and a known
workaround is available, the analyst will advice you accordingly.

If, however, the analyst is unsuccessful in reproducing your problem, or the
problem has not been reported, the analyst may request that you send in a
simplified reproducible testcase on floppy disk with detailed step-by-step
instructions.

ADDITIONAL REFERENCES (BULLETINS)
---------------------------------

* #107067.686 - WIN: CDE TOOLS AND GPF'S
* #104770.287 - GPF'S WITH SQL*NET FOR WINDOWS (SQL*NET v1.x)