Problem running memcached on AMD64 and CentOS 3.6

Jonathan Chong ashburrn at gmail.com
Mon Dec 26 23:27:56 UTC 2005


Hi Brad

I've been working on this all weekend, and still can't see where the
problem is. I've followed some advice from the libevent list, but that
hasn't resolved the issue.

I've uninstalled the rpms, and reinstalled libevent and memcached from source.

This is the strace when I try to run memcached, the error message is
different this time, but memcached is not running.

execve("/usr/local/bin/memcached", ["/usr/local/bin/memcached", "-d",
"-m", "512", "-p", "11211", "-u", "root"], [/* 25 vars */]) = 0
uname({sys="Linux", node="vps.arsenal-mania.com", ...}) = 0
brk(0)                                  = 0x509000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2aaaaaac0000
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=89932, ...}) = 0
mmap(NULL, 89932, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2aaaaaac1000
close(3)                                = 0
open("/usr/local/lib/libevent-1.1a.so.1", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0,\0\0\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0755, st_size=87309, ...}) = 0
mmap(NULL, 1083608, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x2aaaaabc1000
mprotect(0x2aaaaabca000, 1046744, PROT_NONE) = 0
mmap(0x2aaaaacc9000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED, 3, 0x8000) = 0x2aaaaacc9000
close(3)                                = 0
open("/lib64/tls/libc.so.6", O_RDONLY)  = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\322"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0755, st_size=1669760, ...}) = 0
mmap(NULL, 2376104, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x2aaaaacca000
mprotect(0x2aaaaae06000, 1081768, PROT_NONE) = 0
mmap(0x2aaaaaf05000, 20480, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED, 3, 0x13b000) = 0x2aaaaaf05000
mmap(0x2aaaaaf0a000, 16808, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaf0a000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2aaaaaf0f000
arch_prctl(ARCH_SET_FS, 0x2aaaaaf0f720) = 0
munmap(0x2aaaaaac1000, 89932)           = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
setrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
fcntl(3, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [30064771073], 4) = 0
setsockopt(3, SOL_SOCKET, SO_KEEPALIVE, [30064771073], 4) = 0
setsockopt(3, SOL_SOCKET, SO_LINGER, {onoff=0, linger=0}, 8) = 0
bind(3, {sa_family=AF_INET, sin_port=htons(11211),
sin_addr=inet_addr("0.0.0.0")}, 16) = 0
listen(3, 1024)                         = 0
getuid()                                = 0
brk(0)                                  = 0x509000
brk(0x52a000)                           = 0x52a000
brk(0)                                  = 0x52a000
socket(PF_FILE, SOCK_STREAM, 0)         = 4
connect(4, {sa_family=AF_FILE, path="/var/run/.nscd_socket"}, 110) =
-1 ENOENT (No such file or directory)
close(4)                                = 0
open("/etc/nsswitch.conf", O_RDONLY)    = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=1686, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2aaaaaac1000
read(4, "#\n# /etc/nsswitch.conf\n#\n# An ex"..., 4096) = 1686
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0x2aaaaaac1000, 4096)            = 0
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=89932, ...}) = 0
mmap(NULL, 89932, PROT_READ, MAP_PRIVATE, 4, 0) = 0x2aaaaaac1000
close(4)                                = 0
open("/lib64/libnss_files.so.2", O_RDONLY) = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200%\0\0"..., 640) = 640
fstat(4, {st_mode=S_IFREG|0755, st_size=59376, ...}) = 0
mmap(NULL, 1096328, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x2aaaaaf10000
mprotect(0x2aaaaaf1c000, 1047176, PROT_NONE) = 0
mmap(0x2aaaab01b000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED, 4, 0xb000) = 0x2aaaab01b000
close(4)                                = 0
munmap(0x2aaaaaac1000, 89932)           = 0
open("/etc/passwd", O_RDONLY)           = 4
fcntl(4, F_GETFD)                       = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fstat(4, {st_mode=S_IFREG|0644, st_size=2118, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2aaaaaac1000
read(4, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2118
close(4)                                = 0
munmap(0x2aaaaaac1000, 4096)            = 0
setgid(0)                               = 0
setuid(0)                               = 0
clone(child_stack=0,
flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD,
child_tidptr=0x2aaaaaf0f7b0) = 10940
exit_group(0)                           = ?

I'd appreciate it if you can shed any light on this.

Thanks.


On 26/12/05, Brad Fitzpatrick <brad at danga.com> wrote:
> Exact same thing:
>
> epoll_ctl_old(0x4, 0x1, 0x3, 0x7fffff8970a0) = -1 ENOSYS (Function not implemented)
>
> My guess is your libevent is using the old 64-bit epoll ABI and CentOS
> phased that out?  You probably have to rebuild libevent to use the newer
> epoll system calls, but I know nothing about that.
>
> - Brad
>
>
> On Mon, 26 Dec 2005, Jonathan Chong wrote:
>
> > If it helps, this is the strace after the changes:
> >
> > execve("/usr/bin/memcached", ["memcached", "-u", "nobody", "-m",
> > "128", "-l", "127.0.0.1", "-p", "11211"], [/* 24 vars */]) = 0
> > uname({sys="Linux", node="vps.arsenal-mania.com", ...}) = 0
> > brk(0)                                  = 0x508000
> > mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> > 0) = 0x2aaaaaac0000
> > open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
> > open("/etc/ld.so.cache", O_RDONLY)      = 3
> > fstat(3, {st_mode=S_IFREG|0644, st_size=89977, ...}) = 0
> > mmap(NULL, 89977, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2aaaaaac1000
> > close(3)                                = 0
> > open("/usr/lib64/libevent.so.0", O_RDONLY) = 3
> > read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300)\0\0"..., 640) = 640
> > fstat(3, {st_mode=S_IFREG|0755, st_size=31872, ...}) = 0
> > mmap(NULL, 1079224, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x2aaaaabc1000
> > mprotect(0x2aaaaabc9000, 1046456, PROT_NONE) = 0
> > mmap(0x2aaaaacc8000, 4096, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED, 3, 0x7000) = 0x2aaaaacc8000
> > close(3)                                = 0
> > open("/lib64/tls/libc.so.6", O_RDONLY)  = 3
> > read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\322"..., 640) = 640
> > fstat(3, {st_mode=S_IFREG|0755, st_size=1669760, ...}) = 0
> > mmap(NULL, 2376104, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x2aaaaacc9000
> > mprotect(0x2aaaaae05000, 1081768, PROT_NONE) = 0
> > mmap(0x2aaaaaf04000, 20480, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED, 3, 0x13b000) = 0x2aaaaaf04000
> > mmap(0x2aaaaaf09000, 16808, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaf09000
> > close(3)                                = 0
> > mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> > 0) = 0x2aaaaaf0e000
> > arch_prctl(ARCH_SET_FS, 0x2aaaaaf0e720) = 0
> > munmap(0x2aaaaaac1000, 89977)           = 0
> > getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
> > setrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
> > socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
> > fcntl(3, F_GETFL)                       = 0x2 (flags O_RDWR)
> > fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
> > setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [30064771073], 4) = 0
> > setsockopt(3, SOL_SOCKET, SO_KEEPALIVE, [30064771073], 4) = 0
> > setsockopt(3, SOL_SOCKET, SO_LINGER, {onoff=0, linger=0}, 8) = 0
> > bind(3, {sa_family=AF_INET, sin_port=htons(11211),
> > sin_addr=inet_addr("127.0.0.1")}, 16) = 0
> > listen(3, 1024)                         = 0
> > getuid()                                = 0
> > brk(0)                                  = 0x508000
> > brk(0x529000)                           = 0x529000
> > brk(0)                                  = 0x529000
> > socket(PF_FILE, SOCK_STREAM, 0)         = 4
> > connect(4, {sa_family=AF_FILE, path="/var/run/.nscd_socket"}, 110) =
> > -1 ENOENT (No such file or directory)
> > close(4)                                = 0
> > open("/etc/nsswitch.conf", O_RDONLY)    = 4
> > fstat(4, {st_mode=S_IFREG|0644, st_size=1686, ...}) = 0
> > mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> > 0) = 0x2aaaaaac1000
> > read(4, "#\n# /etc/nsswitch.conf\n#\n# An ex"..., 4096) = 1686
> > read(4, "", 4096)                       = 0
> > close(4)                                = 0
> > munmap(0x2aaaaaac1000, 4096)            = 0
> > open("/etc/ld.so.cache", O_RDONLY)      = 4
> > fstat(4, {st_mode=S_IFREG|0644, st_size=89977, ...}) = 0
> > mmap(NULL, 89977, PROT_READ, MAP_PRIVATE, 4, 0) = 0x2aaaaaac1000
> > close(4)                                = 0
> > open("/lib64/libnss_files.so.2", O_RDONLY) = 4
> > read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200%\0\0"..., 640) = 640
> > fstat(4, {st_mode=S_IFREG|0755, st_size=59376, ...}) = 0
> > mmap(NULL, 1096328, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x2aaaaaf0f000
> > mprotect(0x2aaaaaf1b000, 1047176, PROT_NONE) = 0
> > mmap(0x2aaaab01a000, 4096, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED, 4, 0xb000) = 0x2aaaab01a000
> > close(4)                                = 0
> > munmap(0x2aaaaaac1000, 89977)           = 0
> > open("/etc/passwd", O_RDONLY)           = 4
> > fcntl(4, F_GETFD)                       = 0
> > fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
> > fstat(4, {st_mode=S_IFREG|0644, st_size=2118, ...}) = 0
> > mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> > 0) = 0x2aaaaaac1000
> > read(4, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2118
> > close(4)                                = 0
> > munmap(0x2aaaaaac1000, 4096)            = 0
> > setgid(99)                              = 0
> > setuid(99)                              = 0
> > getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
> > epoll_create(1024)                      = 4
> > fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
> > socketpair(PF_FILE, SOCK_STREAM, 0, [5, 6]) = 0
> > fcntl(5, F_SETFD, FD_CLOEXEC)           = 0
> > fcntl(6, F_SETFD, FD_CLOEXEC)           = 0
> > mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
> > -1, 0) = 0x2aaaab01b000
> > rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
> > epoll_ctl_old(0x4, 0x1, 0x3, 0x7fffff8970a0) = -1 ENOSYS (Function not
> > implemented)
> > write(2, "failed to create listening conne"..., 37failed to create
> > listening connection) = 37
> > exit_group(1)                           = ?
> >
> >
> > --
> > Jonathan Chong
> >
> > http://www.arsenal-now.com/
> > http://www.arsenal-mania.com/
> > http://www.ashburrn.com/
> > http://www.jonathan-chong.com/
> >
> >
>


--
Jonathan Chong

http://www.arsenal-now.com/
http://www.arsenal-mania.com/
http://www.ashburrn.com/
http://www.jonathan-chong.com/


More information about the memcached mailing list