KEY: errno 22 Reattaching shared memory
- Article Type: General
- Product: Voyager
- Product Version: 7.0.2
Description:
Bug Report Form for Issue 16384-8609
Module(s): keysvr
Server platform(s) affected: Solaris
PC OS (if applicable): N/A
Browser & version (if applicable): N/A
Release(s) replicated in: 7.1.0
Last version without bug (if applicable): N/A
Expected results:
Keysvr should not fail to reattach to an already allocated shared memory segment
Actual results:
Keysvr logs the following error in log.voyager:
keysvr[23752] - ERROR - Tue Sep 29 03:00:07 2009
- sharedmemory::ReAttach - sharedmemory.cpp[220]
shmmat failure for shid = 67108897 - dir "/m1/voyager/unadb/data" code = 0 errno = 22
Notes:
Errno 22 == EINVAL. One of the conditions that causes this is attempting to do a shmat() to a shared memory segment that was attached using SHM_SHARE_MMU, without specifying the same flag in the subsequent call. The code in question appears to behave this way on Solaris, as the initial attach is conditionally compiled to use this flag under Solaris, however the reattachment code does not specify this flag. The code is broken by inspection.
Workflow implications: Causes customers to worry because of the error.
Replication steps: Unknown, but can see evidence of this having occurred multiple times on customer as well as internal servers
Resolution:
- Article last edited: 3/24/2015