
APAR= II09202
CA400WIN REFERENCE FOR MEMORY USAGE PROBLEMS WITH CLIENT ACCESS


** Last updated 4/22/96 **

This apar describes several memory problems that may appear
with the client access windows 3.1x client.  With the exception
of a few minor defects listed below, most problems are
related to incorrect error messages given out when the PC
is low on memory.
1) MSG5239, MSG5240, MSG5100, UNKNOWN NS ERROR
   Incorrect error messages when low on conventional memory.
 - Reference defect apar SA49918 to correct the error messages.
 - Reference II08661 for tips on how to modify your
   configuration to free addtional memory.
   See below for information on how to 'unload' the router.
2)  Unable to unload the cawin router from memory.
    See apar SA49905.
3) Problems with WIN32S programs and Client Access.
   WIN32S programs that use router or NOF api's
   may cause a reboot or hang of the PC when ending.
   - This is a very rare problem related to SA49905.
      Normally the CAWIN connection program or network
      driver loads and holds the router dll's in memory.
      However, if a WIN32S program that uses router or
      NOF api's is used instead, it may attempt to decrement the
      usage count to zero when unloading.  WIN32S unloads
      dll's in a different order then 16 bit programs
      and because of SA49905, this may cause a hang.
3) With CAWIN400 loaded, approximately 15Meg of 'virtual
   memory' is lost.  This is often noticed with WIN32S
   programs receiving 'out of memory' errors even when
   windows resources shows a few Meg available.
  - 90% of the time, out of memory errors refer to
    conventional memory (see II08661) but there is
    another problem that can appear with programs that
    do huge memory allocations (> 4Meg).  This seems
    to be more common with win32s applications.
    The problem here is with the amount of page locked
    memory.  A brief, simplified summary of the problem
    is that windows total address space is approx 4*
    physical memory (assuming a swapper file set to
    maximum).  VXD's (and WIN32S) do NOT use the global
    heap but allocate memory directly from this
    linear address space.  VMM will reject a memory
    request if too much memory is paged locked (although
    address space is available).  Client Access page
    locks between 3 and 4 Meg of memory.  This takes approx.
    16Meg from available address space that windows will give
    out.  If you have a requirement to run memory intensive
    applications (> 4Meg), you will need more physical
    RAM then the MINIMUM specified in the Client Access
    manual (6Meg).
4) Client Access's conventional memory use.
     There are no firm plans to decrease the
     conventional memory use of the router.  The common
     library dll's (EHNCLxxx) will be rewritten in a
     future version to save some conventional memory.
