Setting pid in memcached.conf causes strange behavior
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| memcached (Ubuntu) |
Undecided
|
Unassigned |
Bug Description
In memcached.conf, if I set this line:
# pid file
-P /var/run/
Then when I run
sudo service memcached start
I observe two strange behaviors:
1) The following log lines appears:
WARNING: The pid file contained the following (running) pid: 19
Could not open the pid file /var/run/
(the second line only appears when I set the user to "-u memcache", rather than "-u root")
2) The sudo service memcached start command does not daemonize until I press <enter>
I'm running Ubuntu precise (12.04.2 LTS), with the most recent memcached package installed.
description: | updated |
description: | updated |
Johnny Shields (johnny-shields) wrote : | #2 |
$ ls -l /var/run
lrwxrwxrwx 1 root root 4 May 3 20:20 /var/run -> /run
$ less /etc/memcached.conf
# memcached default config file
# 2003 - Jay Bonci <email address hidden>
# This configuration file is read by the start-memcached script provided as
# part of the Debian GNU/Linux distribution.
# Run memcached as a daemon. This command is implied, and is not needed for the
# daemon to run. See the README.Debian that comes with this package for more
# information.
-d
# Log memcached's output to /var/log/memcached
logfile /var/log/
# pid file
-P /var/run/
# Be verbose (shows errors, warnings, and socket connections)
-v
# Be even more verbose (print client commands as well)
# -vv
# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
-m 768
# Override the size of each slab page in bytes, i.e. the maximum item size that
# memcached will accept. Recommended not to set above 1 MB for performance reasons.
# The default value is 1 MB.
-I 1048576
# Default connection port is 11211
-p 11211
# Run the daemon as root. The start-memcached will default to running as root if no
# -u command is present in this config file
-u memcache
# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
# -l 127.0.0.1
# Limit the number of simultaneous incoming connections. The daemon default is 1024
# -c 1024
# Lock down all paged memory. Consult with the README and homepage before you do this
# -k
# Return error when memory is exhausted (rather than removing items)
# -M
# Maximize core file limit
# -r
Paul McGoldrick (tac-pmcgoldrick) wrote : | #3 |
It would appear as though the init script is creating the pid with root:root ownership, irrespective of memcached.conf's contents, yet still passes the -P during memecached's exec. When the -P option is added to the config, it results in this error as memcached tries to create a pid that already exists, and doesn't have permissions to overwrite.
Johnny Shields (johnny-shields) wrote : | #4 |
How can we move forward on this?
Launchpad Janitor (janitor) wrote : | #5 |
[Expired for memcached (Ubuntu) because there has been no activity for 60 days.]
Changed in memcached (Ubuntu): | |
status: | Incomplete → Expired |
Johnny Shields (johnny-shields) wrote : | #6 |
Is there anything that can be done about this? Bug still affects me.
Changed in memcached (Ubuntu): | |
status: | Expired → Incomplete |
Launchpad Janitor (janitor) wrote : | #7 |
[Expired for memcached (Ubuntu) because there has been no activity for 60 days.]
Changed in memcached (Ubuntu): | |
status: | Incomplete → Expired |
Thanks for reporting this
Can you provide the configuration file for memcached, and describe us the permissions for the /var/run folder?