[CentOS] Starting emacs gives "shmget failed: error 28" message

Thu Sep 3 18:24:17 UTC 2015
Robert Nichols <rnicholsNOSPAM at comcast.net>

On 09/03/2015 04:00 AM, Nicolas Thierry-Mieg wrote:
> On 09/03/2015 03:04 AM, Robert Nichols wrote:
>> In CentOS 6.7, if I start emacs from a terminal session, I always see
>> a message, "(emacs:{PID}): Gdk-WARNING **: shmget failed: error 28 (No
>> space left on device)"
>>
>> The message is also logged to .xsession-errors, and that occurs
>> regardless of how emacs is started. The same thing occurs with
>> SELinux in permissive mode.
>>
>> Emacs version is emacs-23.1-28.el6.x86_64 .
>>
>> Output from strace shows:
>>     shmget(IPC_PRIVATE, 393216, IPC_CREAT|0600) = -1 ENOSPC (No space
>> left on device)
>>
>> /proc/mounts contains:
>>     tmpfs /dev/shm tmpfs rw,seclabel,relatime 0 0
>>
>> and "df /dev/shm" shows:
>>     Filesystem     1K-blocks  Used Available Use% Mounted on
>>     tmpfs            8194164   172   8193992   1% /dev/shm
>>
>> I can't identify any behavior problems that I can relate to this,
>> but it seems that something is wrong.  Any clues as to what?
>>
>
> just a shot in the dark, but what do you have in
> /proc/sys/kernel/shmmni ?
>
> According to man shmget:
> ENOSPC All possible shared memory IDs have been taken  (SHMMNI),  or
> allocating  a  segment  of  the requested  size  would  cause  the
> system  to  exceed  the system-wide limit on shared memory (SHMALL).

"cat /proc/sys/kernel/shmmni" shows 4096.

And, I find that "wc -l /proc/sysvipc/shm" shows that they are indeed
all in use. A badly coded java game appears to be the culprit. It's
grabbing SHM IDs by the thousands.

Thanks for the pointer.  Your shot in the dark was right on target.

-- 
Bob Nichols     "NOSPAM" is really part of my email address.
                 Do NOT delete it.