ObjectStore Memory Allocation Failure

If there is insufficient contiguous address space available for ObjectStore to start, you will see an error message when you try to start Transformer, Impromptu Administrator, or Impromptu Web Reports.

On Windows®, you may see an error message such as the following:

ObjectStore internal error.

VirtualAlloc failed to allocate at any address - not enough storage is available to process this command (8)

With IWR on UNIX®, you may see an error message such as the following:

No handler for exception:

ObjectStore internal error

Fatal error Invalid argument(errno = 22)

<maint-0006-0027>mmap failed: _Mmap_node::mmap addr 50000000, len 0x20000000, prot 0, share 37, fd 18, off 0

(err_internal)

If you experience the problem, we recommend that you do one of the following:

  • Close some programs to release contiguous address space, then try to start your IBM Cognos product again.

  • Decrease the amount of contiguous address space requested by ObjectStore using the steps outlined below, then try to start your IBM Cognos product again. Remember to test using small decrements: if you decrease the amount of virtual address space too dramatically, this can adversely affect your system.

Steps
  1. On Windows, from the Control panel, click System and, on the Advanced tab, click Environment Variables.

    On UNIX, edit $INSTALL_ROOT/bin/iwrserver.sh

  2. Ensure that an OS_AS_START variable is not defined. That allows ObjectStore to automatically determine an optimal base address for its PSR (Persistent Storage Region) client address space.

  3. If there is not already a system environment variable called OS_AS_SIZE, create one.

  4. Set the OS_AS_SIZE environment variable to a value that is smaller than the default.

    Note: OS_AS_SIZE uses different defaults with different operating systems. If you do not see a setting for this environment variable, then the default is automatically being used. On some operating systems, such as HP-UX, the system default is automatically overridden by a more suitable value, as determined by IBM Cognos performance testing.

  5. Reduce the value of the OS_AS_SIZE variable, in steps of 64 MB each, rebooting your computer and retesting until the problem no longer occurs.

    Note: The environment variable OS_AS_SIZE specifies a hexadecimal number, which controls the amount of contiguous address space allocated. To translate the hexadecimal value 0x20000000 into its equivalent in megabytes, cut 5 trailing zeroes to divide by 0x100000 (which represents a megabyte). The result is the number of megabytes in hexadecimal notation.

    For example, 0x20000000 divided by 0x100000 equals 0x200, which in decimal notation represents (2x16x16) =512 MB, the current Windows default.

    The current UNIX operating system defaults are as follows:

    • AIX: 0x40000000 (1024 MB)

    • Solaris: 0x0C000000 (192 MB)

    • HP-UX: 0x0C000000 (192 MB), modified by IBM Cognos to 0x20000000 (512 MB)

    To decrease the size of the requested address space from 512MB to 320MB, for example, change the OS_AS_SIZE setting from 0x20000000 to 0x14000000.

444518, 459228, 529680