Listener fails with error MCH6801 - Object domain or storage protection error

Date:27 March 2008
Product/Release:LANSA for iSeries
Abstract:Listener fails with message MCH6801 in joblog
Submitted By:LANSA Technical Support

Description:

When trying to start the LANSA Listener, the Listener fails and error message MCH6801 - Object domain or storage protection error for offset &5 in object &1 appears in the job log.

Example:

MCH6801    Escape     40   26/03/08  16:01:09.187648  < ckMiObject   00066C   LCOLIST     DCXPGMLIB   *STMT
From Program  . . . . . . . :   RmslLockMiObject
To module . . . . . . . . . :   LCOLIST
To procedure  . . . . . . . :   createQueue
Statement . . . . . . . . . :   22           *PRCLT
Message . . . . :   Object domain or storage protection error for offset
X'0000000000000000' in object DCXCOMLIB.
Cause . . . . . :   A program tried to use a blocked instruction, access a
system domain object, or make invalid use of a protected page. The violation
type is 3. The violation type indicates the type of error: 1-Object domain
violation. 2-Test Pointer Target Addressability (TESTPTA) violation. 3-Read
protection error. 4-Write protection error. The space class is X'00'. The
space class designates the type of space for a storage protection error or
TESTPTA violation for a space pointer: 00-primary associated space (includes
space objects). 01-secondary associated space. 02-implicit process space for
automatic storage. 03-implicit process space for static storage. 04-implicit
process space for activation group-based heap storage. 05-constant space.
06-space for handle-based heap storage. 07-teraspace offset
X'0000000000000000'. 08-teraspace for OS/400 PASE memory address
X'0000000000000000'. X'00000000000000000000000000000000' is a pointer to the
storage for a protection error or TESTPTA violation for a space pointer.
Some violations may be suppressed at low system security levels.

This can happen when the LANSA Listener has not ended normally. This might be caused, for example, if a power failure occurs. In this scenario, the next time the startup program attempts to start the LANSA Listener, the User Queue that is created for the Listener already exists causing the Listener to fail. This is because this User Queue, which is normally deleted when the Listener is ended, has not been deleted due to the power failure.

Solution:

Delete the existing User Queue for the Listener and the Listener should then start correctly. 

To find the name of the User Queue, on a command line specify:

<LANSA program library>/LANSA REQUEST(CONFIGURE)

This will display the Work with Configuration Items screen. From this screen:

  1. Select configuration COMMS_EXTENSIONS and a list of configuration items is displayed.
  2. On this screen, select configuration item COMMS_DEFINITIONS to review LANSA communications definitions.

Example:

LANSA communications definitions screen