We had three WAS (v126.96.36.199) application servers running on an As400 iSeries box. A standard Java web application is installed on these servers.
They run under the same profile which is QEJBSVR.
Recently we added another instance which also runs under user profile QEJBSVR.
We noted that the application hung couple of times.
The error message which we got on the job log was:
Object domain or storage protection error for offset X'0000000000000010'
in object nameofourprofile 597315.
Message ID . . . . . . : MCH6801 Severity . . . . . . . : 40
Message type . . . . . : Escape
Date sent . . . . . . : dd/mm/yy Time sent . . . . . . : hh:mm:ss
Message . . . . : Object domain or storage protection error for offset
X'0000000000000010' in object IMAESTRONGQEJBSVR 597315.
Cause . . . . . : A program tried to use a blocked instruction, access a
system domain object, or make invalid use of a protected page. The violatio
type is 4. 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.
5-Execute protection error.
The space class is X'08'. The space class designates the type of space fo
a storage protection error or TESTPTA violation for a space pointer:
This article indicates that there could be an issue with permission
This indicates that as there are multiple JVMs being loaded for each of the servers, they all share the same class cache and it is possible that one of them is running under a different user profile.
Due to this there could be an issue with permission on reading/writing to the cache.
However we are sure that all these servers run under the same user profile - so not sure what is causing the permission issue.
Could it be that it is running out of memory?
or do we allocate different class caches for each server?