Setting pid in memcached.conf causes strange behavior

Bug #1176178 reported by Johnny Shields
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
memcached (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

In memcached.conf, if I set this line:

# pid file
-P /var/run/memcached.pid

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/memcached.pid for writing: permission denied

(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
Revision history for this message
Yolanda Robla (yolanda.robla) wrote :

Thanks for reporting this
Can you provide the configuration file for memcached, and describe us the permissions for the /var/run folder?

Changed in memcached (Ubuntu):
status: New → Incomplete
Revision history for this message
Johnny Shields (johnny-shields) wrote :

$ 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/memcached/memcached.log

# pid file
-P /var/run/memcached.pid

# 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

Revision history for this message
Paul McGoldrick (tac-pmcgoldrick) wrote :

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.

Revision history for this message
Johnny Shields (johnny-shields) wrote :

How can we move forward on this?

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for memcached (Ubuntu) because there has been no activity for 60 days.]

Changed in memcached (Ubuntu):
status: Incomplete → Expired
Revision history for this message
Johnny Shields (johnny-shields) wrote :

Is there anything that can be done about this? Bug still affects me.

Changed in memcached (Ubuntu):
status: Expired → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for memcached (Ubuntu) because there has been no activity for 60 days.]

Changed in memcached (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.