Consultor Eletrônico



Kbase 13446: ERRORS 1174,1179 ON DEC ALPHA OSF/1 2.0 WITH 6.3C
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/05/1998
ERRORS 1174,1179 ON DEC ALPHA OSF/1 2.0 WITH 6.3C

On DEC Alpha machines with OSF/1 2.0, a patch from DEC is needed to
run Progress 6.3C. The patch is: OSFV20-124-1

Even when the patch is installed and the kernel rebuilt, you may see
the following errors when attempting to run proserve if the COMPAT
environment variable is not set:

SYSTEM ERROR: Invalid shared memory segment identified (1174)
SERVER: ** Please save file named core for analysis by PSC. (439)
SERVER: ** The server terminated due to signal 3. (801)

A second attempt to run proserve will yield the following error:

The shared memory does not have the correct MAGIC number (1179)
SERVER: ** The server terminated with exit code 2. (800)

The first attempt to start the server results in a partially created
shared memory segment left on the system. This causes the error to be
different upon subsequent attempts to start the server.

Once the first error (1174) is generated, the bad shared memory
segment must be removed. This must be done by root (superuser) using
the ipcrm utility.

For example, ipcs shows the following output:

# ipcs

Message Queues:
T ID KEY MODE OWNER GROUP
*** No message queues are currently defined ***

Shared Memory:
T ID KEY MODE OWNER GROUP
m 0 1234 --rw------- root system
m 501 16931797 --rw-rw-rw- root rdl

Semaphores:
T ID KEY MODE OWNER GROUP
*** No semaphores are currently defined ***


To remove the bad shared memory segment, do the following:
# ipcrm -m 501

COMPAT Environment Variable:
============================

The COMPAT environment variable is required for the DEC OSF/1 2.0
operating system. It must be set to "1". To set it, do the following

COMPAT=1; export COMPAT

If this setting still results in the errors, you must set COMPAT to
"01":

COMPAT=01; export COMPAT

Another option other than setting the environment variable on the
command line or in the user's .profile is to set up a wrapper or alias
for the proserve command to set the COMPAT environment variable before
invoking the real proserve script.

Patch OSFV20-124-1 details:
===========================
/sys/BINARY/ldr_exec.o (USG-00603 KAOB66021)
CHECKSUM: 32352 115
/sys/BINARY/svipc_msg.o
CHECKSUM: 00147 93
/sys/BINARY/svipc_shm.o
CHECKSUM: 30746 90
/sys/BINARY.rt/ldr_exec.o
CHECKSUM: 22024 120
/sys/BINARY.rt/svipc_msg.o
CHECKSUM: 53970 93
/sys/BINARY.rt/svipc_shm.o
CHECKSUM: 17783 91
---------------------

Patch ID:OSFV20-124-1

THIS CUSTOMIZATION WILL NOT BE AVAILABLE FOR V3.0. APPLICATION CODE M
AKING USE OF shmctl AND msgctl MUST BE RECOMPILED TO WORK PROPERLY ON
OSF/1 V3.0 and other future releases.

Changes in shmid_ds & msqid_ds structures between OSF/1 V1.3 and V2.0
break the binary compatibility of the shmctl & msgctl system calls.

In order to make the shmctl and msgctl calls SVID3 compliant in OSF/1
2.0, the data type of a number of fields in the shmid_ds and msqid_ds
data structures were changed from short to long. Application binaries
built on V1.3 which make use of these system calls will fail when run
on OSF/1 V2.0 Application failure modes will vary from outright
failure of these system calls when using the IPC_SET function to
completely unpredictable application behavior due to the overwriting
of memory adjacent to where the application stores shmid_ds and
msqid_ds structures when using the IPC_STAT function.

The database server component of Progress Software's Progress
application is known to be affected by this change to V2.0. When the
application image "proserve" is executed, an error message like the
ones listed above.

MAY-1996
CAO

Progress Software Technical Support Note # 13446