relocation error when implementing my own elf loader - linux

I am currently implementing an elf loader to emulate binaries with the unicorn engine. To avoid implementing my own dynamic linker, I load the ld-linux-x86-64.so.2 (into the unicorn engine) and execute it with the path to my dynamic linked executable. Now here comes my problem:
I load the dynamic linker binary (/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) into the memory and launch it with the path to my executable (basically printf("Hello World")). After the loader loads the executable and the libc the following gets printed to the stdout:
./executable: ./executable: no version information available (required by ./executable)
./executable: relocation error: ./executable: symbol __libc_start_main, version GLIBC_2.2.5 not defined in file libc.so.6 with link time reference
I copied the binaries (ld and libc) from the system I compiled the hello_world program. It works when I execute the binary there:
$ /lib/x86_64-linux-gnu/ld-2.21.so ./executable
Hello World
Any idea why this should not work? Any idea where I should look for my error? (Note that I am using my custom loader)
Here is the 'strace' of the loader running in the unicorn-engine that is hopefully correctly executed (I need to simulate the kernel).
sys_brk(0x0)
sys_open(./executable)
sys_read(3, 0x7fff6c844868, 832)
sys_fstat(3, 0x7fff6c844718)
sys_getcwd(0x8888888800225738, 128)
sys_mmap2(0x400000, 4096, 5, 2066, 3, 0)
sys_mmap2(0x600000, 8192, 3, 2066, 3, 0)
sys_close(3)
sys_uname(0x7fff6c844a22)
sys_access(/etc/ld.so.nohwcap, 0)
sys_mmap2(0x0, 8192, 3, 34, -1, 0)
sys_access(/etc/ld.so.preload, 4)
sys_open(/etc/ld.so.cache)
sys_open(/lib/x86_64-linux-gnu/tls/x86_64/libc.so.6)
sys_stat(/lib/x86_64-linux-gnu/tls/x86_64, 140735013995640)
sys_open(/lib/x86_64-linux-gnu/tls/libc.so.6)
sys_stat(/lib/x86_64-linux-gnu/tls, 140735013995640)
sys_open(/lib/x86_64-linux-gnu/x86_64/libc.so.6)
sys_stat(/lib/x86_64-linux-gnu/x86_64, 140735013995640)
sys_open(/lib/x86_64-linux-gnu/libc.so.6)
sys_read(4, 0x7fff6c8445c8, 832)
sys_fstat(4, 0x7fff6c844478)
sys_close(4)
sys_writev(2, 7fff6c844538, 6)
=> ./executable: ./executable: no version information available (required by ./executable)
sys_mmap2(0x0, 4096, 3, 34, -1, 0)
sys_arch_prctl(4098, 0x6555555500001fc0)
sys_mprotect(0x600000, 4096, 1)
sys_writev(2, 7fff6c844220, 10)
=> ./executable: relocation error: ./executable: symbol __libc_start_main, version GLIBC_2.2.5 not defined in file libc.so.6 with link time reference
sys_exit(127)
And the strace on the machine I compiled the binaries:
$ strace /lib/x86_64-linux-gnu/ld-2.21.so ./dynamic_x86_64_print_args
execve("/lib/x86_64-linux-gnu/ld-2.21.so", ["/lib/x86_64-linux-gnu/ld-2.21.so", "./dynamic_x86_64_print_args"], [/* 23 vars */]) = 0
brk(0) = 0x5636dd9f3000
open("./dynamic_x86_64_print_args", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\2\0>\0\1\0\0\0#\4#\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=8528, ...}) = 0
getcwd("/vagrant/tdb/static", 128) = 20
mmap(0x400000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x400000
mmap(0x600000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x600000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc3a45e1000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
// ...
// SNIP 100 tries to load the libc.so.6 that is not there
// ...
open("/home/vagrant/villoc/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/home/vagrant/villoc", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=55962, ...}) = 0
mmap(NULL, 55962, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fc3a45d3000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\v\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1869392, ...}) = 0
mmap(NULL, 3972864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc3a4209000
mprotect(0x7fc3a43c9000, 2097152, PROT_NONE) = 0
mmap(0x7fc3a45c9000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c0000) = 0x7fc3a45c9000
mmap(0x7fc3a45cf000, 16128, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fc3a45cf000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc3a4208000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc3a4207000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc3a4206000
arch_prctl(ARCH_SET_FS, 0x7fc3a4207700) = 0
mprotect(0x7fc3a45c9000, 16384, PROT_READ) = 0
mprotect(0x600000, 4096, PROT_READ) = 0
mprotect(0x5636dba3b000, 4096, PROT_READ) = 0
munmap(0x7fc3a45d3000, 55962) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc3a45e0000
write(1, "arg 0 ./dynamic_x86_64_print_arg"..., 34arg 0 ./dynamic_x86_64_print_args
) = 34
exit_group(0) = ?
+++ exited with 0 +++

Looking at your syscalls...
sys_mmap2(0x400000, 4096, 5, 2066, 3, 0)
sys_mmap2(0x600000, 8192, 3, 2066, 3, 0)
You appear to have MAP_FIXED bit set.
MAP_FIXED is a dangerous tool - it will quite happily overwrite whatever else is at that address. Chances are, your loader is using those addresses. I know that /lib64/ld-linux-x86-64.so.2 uses MAP_FIXED - but...
> readelf --segments /lib64/ld-linux-x86-64.so.2
Elf file type is DYN (Shared object file)
Entry point 0x1140
There are 7 program headers, starting at offset 64
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000021960 0x0000000000021960 R E 200000
LOAD 0x0000000000021b40 0x0000000000221b40 0x0000000000221b40
0x0000000000001438 0x0000000000001610 RW 200000
DYNAMIC 0x0000000000021e00 0x0000000000221e00 0x0000000000221e00
0x0000000000000190 0x0000000000000190 RW 8
NOTE 0x00000000000001c8 0x00000000000001c8 0x00000000000001c8
0x0000000000000024 0x0000000000000024 R 4
GNU_EH_FRAME 0x000000000001eda4 0x000000000001eda4 0x000000000001eda4
0x0000000000000674 0x0000000000000674 R 4
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 10
GNU_RELRO 0x0000000000021b40 0x0000000000221b40 0x0000000000221b40
0x00000000000004c0 0x00000000000004c0 R 1
Section to Segment mapping:
Segment Sections...
00 .note.gnu.build-id .hash .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_d .rela.dyn .rela.plt .plt .text .rodata .stapsdt.base .eh_frame_hdr .eh_frame
01 .data.rel.ro .dynamic .got .data .bss
02 .dynamic
03 .note.gnu.build-id
04 .eh_frame_hdr
05
06 .data.rel.ro .dynamic .got
...it doesn't appear to be using the addresses it is using MAP_FIXED for. It's a clever beast.
> strace /lib64/ld-linux-x86-64.so.2 `which readelf` |& grep mmap
mmap(0x400000, 503808, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x400000
mmap(0x67a000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7a000) = 0x67a000
mmap(0x67d000, 10248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x67d000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0af3a38000
mmap(NULL, 313165, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f0af39eb000
mmap(NULL, 2109744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0af3614000
mmap(0x7f0af3816000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f0af3816000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0af39ea000
mmap(NULL, 3985920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0af3246000
mmap(0x7f0af3609000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c3000) = 0x7f0af3609000
mmap(0x7f0af360f000, 16896, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f0af360f000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0af39e8000
mmap(NULL, 106172832, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f0aecd04000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0af3a37000
If I use MAP_FIXED in a Bad Way™ on my own system, I get a somewhat similar message:
./myloader: symbol lookup error: ./myloader: undefined symbol:
But given we're just smashing memory up here, any number of things could happen.

Related

how is clock_gettime implemented on linux?

When I strace this:
#include <stdio.h>
#include <time.h>
int main()
{
struct timespec ts;
fprintf(stderr, "start!\n");
clock_gettime(CLOCK_REALTIME, &ts);
fprintf(stderr, "realtime %lu %lu\n", ts.tv_sec, ts.tv_nsec);
clock_gettime(CLOCK_MONOTONIC, &ts);
fprintf(stderr, "monotonic %lu %lu\n", ts.tv_sec, ts.tv_nsec);
return 0;
}
I get this:
execve("/tmp/x", ["/tmp/x"], [/* 72 vars */]) = 0
brk(NULL) = 0x13d0000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fed9a0d1000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=126501, ...}) = 0
mmap(NULL, 126501, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fed9a0b2000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\t\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1864888, ...}) = 0
mmap(NULL, 3967488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fed99ae5000
mprotect(0x7fed99ca5000, 2093056, PROT_NONE) = 0
mmap(0x7fed99ea4000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bf000) = 0x7fed99ea4000
mmap(0x7fed99eaa000, 14848, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fed99eaa000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fed9a0b1000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fed9a0b0000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fed9a0af000
arch_prctl(ARCH_SET_FS, 0x7fed9a0b0700) = 0
mprotect(0x7fed99ea4000, 16384, PROT_READ) = 0
mprotect(0x600000, 4096, PROT_READ) = 0
mprotect(0x7fed9a0d3000, 4096, PROT_READ) = 0
munmap(0x7fed9a0b2000, 126501) = 0
write(2, "start!\n", 7start!
) = 7
write(2, "realtime 1488919932 97097045\n", 29realtime 1488919932 97097045
) = 29
write(2, "monotonic 258985 170149836\n", 27monotonic 258985 170149836
) = 27
exit_group(0) = ?
+++ exited with 0 +++
There doesn't seem to be a system call involved in producing either CLOCK_REALTIME or CLOCK_MONOTONIC values. How is this implemented? I tried to step through it in assembler but I must've not noticed the critical part because I can't figure out how it's done.
This is a virtual system call. That is, calling it does not require switching to the kernel mode -- it is executed in user mode to improve performance. If you have ever wondered what does linux-vdso.so.1 mean in the ldd output, it is where these virtual system calls are implemented. You can learn more here.

lighttpd cannot be started on centos 7

on centos 7 system, when i tried to start the lighttpd it show: [OK] . However when i check it with service lighttpd status, it show following log:
[root#km15501 lighttpd]# service lighttpd status
● lighttpd.service - Lightning Fast Webserver With Light System Requirements
Loaded: loaded (/usr/lib/systemd/system/lighttpd.service; enabled; vendor preset: disabled)
Active: failed (Result: signal) since Tue 2016-03-15 02:19:11 CET; 6s ago
Process: 8583 ExecStart=/usr/local/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf (code=killed, signal=ABRT)
Main PID: 8583 (code=killed, signal=ABRT)
Mar 15 02:19:11 km15501.servernode.de systemd[1]: Started Lightning Fast Webserver With Light System Requirements.
Mar 15 02:19:11 km15501.servernode.de systemd[1]: Starting Lightning Fast Webserver With Light System Requirements...
Mar 15 02:19:11 km15501.servernode.de systemd[1]: lighttpd.service: main process exited, code=killed, status=6/ABRT
Mar 15 02:19:11 km15501.servernode.de systemd[1]: Unit lighttpd.service entered failed state.
Mar 15 02:19:11 km15501.servernode.de systemd[1]: lighttpd.service failed.
[root#km15501 lighttpd]
anyone has any idea with this kind of problem? i tried to change the port from 81 to 8080 and 8081 nothing worked.
UPDATE:
i run:
/usr/local/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
result:
Aborted
i run:
strace /usr/local/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
result:
execve("/usr/local/sbin/lighttpd", ["/usr/local/sbin/lighttpd", "-D", "-f", "/etc/lighttpd/lighttpd.conf"], [/* 23 vars */]) = 0
brk(0) = 0xd3f000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbc2670c000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=63292, ...}) = 0
mmap(NULL, 63292, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fbc266fc000
close(3) = 0
open("/lib64/libpcre.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\25\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=398272, ...}) = 0
mmap(NULL, 2490888, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc2628b000
mprotect(0x7fbc262eb000, 2093056, PROT_NONE) = 0
mmap(0x7fbc264ea000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5f000) = 0x7fbc264ea000
close(3) = 0
open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=19520, ...}) = 0
mmap(NULL, 2109744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc26087000
mprotect(0x7fbc2608a000, 2093056, PROT_NONE) = 0
mmap(0x7fbc26289000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fbc26289000
close(3) = 0
open("/lib64/libgthread-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\6\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=6928, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbc266fb000
mmap(NULL, 2101312, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc25e85000
mprotect(0x7fbc25e86000, 2093056, PROT_NONE) = 0
mmap(0x7fbc26085000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x7fbc26085000
close(3) = 0
open("/lib64/libglib-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\246\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1287944, ...}) = 0
mmap(NULL, 3368432, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc25b4e000
mprotect(0x7fbc25c83000, 2093056, PROT_NONE) = 0
mmap(0x7fbc25e82000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x134000) = 0x7fbc25e82000
mmap(0x7fbc25e84000, 1520, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fbc25e84000
close(3) = 0
open("/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\"\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=44096, ...}) = 0
mmap(NULL, 2128952, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc25946000
mprotect(0x7fbc2594d000, 2093056, PROT_NONE) = 0
mmap(0x7fbc25b4c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7fbc25b4c000
close(3) = 0
open("/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240l\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=142304, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbc266fa000
mmap(NULL, 2208864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc2572a000
mprotect(0x7fbc25740000, 2097152, PROT_NONE) = 0
mmap(0x7fbc25940000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7fbc25940000
mmap(0x7fbc25942000, 13408, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fbc25942000
close(3) = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \34\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2107816, ...}) = 0
mmap(NULL, 3932736, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc25369000
mprotect(0x7fbc2551f000, 2097152, PROT_NONE) = 0
mmap(0x7fbc2571f000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b6000) = 0x7fbc2571f000
mmap(0x7fbc25725000, 16960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fbc25725000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbc266f9000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbc266f7000
arch_prctl(ARCH_SET_FS, 0x7fbc266f7740) = 0
mprotect(0x7fbc2571f000, 16384, PROT_READ) = 0
mprotect(0x7fbc25940000, 4096, PROT_READ) = 0
mprotect(0x7fbc25b4c000, 4096, PROT_READ) = 0
mprotect(0x7fbc25e82000, 4096, PROT_READ) = 0
mprotect(0x7fbc26085000, 4096, PROT_READ) = 0
mprotect(0x7fbc26289000, 4096, PROT_READ) = 0
mprotect(0x7fbc264ea000, 4096, PROT_READ) = 0
mprotect(0x637000, 4096, PROT_READ) = 0
mprotect(0x7fbc2670d000, 4096, PROT_READ) = 0
munmap(0x7fbc266fc000, 63292) = 0
set_tid_address(0x7fbc266f7a10) = 16832
set_robust_list(0x7fbc266f7a20, 24) = 0
rt_sigaction(SIGRTMIN, {0x7fbc25730780, [], SA_RESTORER|SA_SIGINFO, 0x7fbc25739100}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7fbc25730810, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7fbc25739100}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(0) = 0xd3f000
brk(0xd60000) = 0xd60000
brk(0) = 0xd60000
getuid() = 0
getcwd("/etc/lighttpd", 1087) = 14
stat("/etc/lighttpd/lighttpd.conf", {st_mode=S_IFREG|0644, st_size=6396, ...}) = 0
open("/etc/lighttpd/lighttpd.conf", O_RDONLY) = 3
mmap(NULL, 6396, PROT_READ, MAP_SHARED, 3, 0) = 0x7fbc2670a000
close(3) = 0
munmap(0x7fbc2670a000, 6396) = 0
open("/dev/null", O_RDONLY) = 3
close(0) = 0
dup2(3, 0) = 0
close(3) = 0
open("/dev/null", O_WRONLY) = 3
close(1) = 0
dup2(3, 1) = 1
close(3) = 0
stat("/var/www/vhosts/youdive.eu/httpdocs", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat("/var/www/vhosts/youdive.eu/httpdocs", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat("/VAR/WWW/VHOSTS/YOUDIVE.EU/HTTPDOCS", 0x7fff464fee70) = -1 ENOENT (No such file or directory)
futex(0x7fbc2628a0d0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/usr/local/lib/mod_indexfile.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=40885, ...}) = 0
mmap(NULL, 2105560, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc25166000
mprotect(0x7fbc25168000, 2093056, PROT_NONE) = 0
mmap(0x7fbc25367000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7fbc25367000
close(3) = 0
mprotect(0x7fbc25367000, 4096, PROT_READ) = 0
open("/usr/local/lib/mod_access.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\v\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=40348, ...}) = 0
mmap(NULL, 2105488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc24f63000
mprotect(0x7fbc24f65000, 2093056, PROT_NONE) = 0
mmap(0x7fbc25164000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7fbc25164000
close(3) = 0
mprotect(0x7fbc25164000, 4096, PROT_READ) = 0
open("/usr/local/lib/mod_simple_vhost.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\r\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=41645, ...}) = 0
mmap(NULL, 2105536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc24d60000
mprotect(0x7fbc24d62000, 2093056, PROT_NONE) = 0
mmap(0x7fbc24f61000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7fbc24f61000
close(3) = 0
mprotect(0x7fbc24f61000, 4096, PROT_READ) = 0
open("/usr/local/lib/mod_secdownload.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=46386, ...}) = 0
mmap(NULL, 2109672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc24b5c000
mprotect(0x7fbc24b5f000, 2093056, PROT_NONE) = 0
mmap(0x7fbc24d5e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fbc24d5e000
close(3) = 0
mprotect(0x7fbc24d5e000, 4096, PROT_READ) = 0
open("/usr/local/lib/mod_flv_streaming.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\20\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=48258, ...}) = 0
mmap(NULL, 2109704, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc24958000
mprotect(0x7fbc2495a000, 2097152, PROT_NONE) = 0
mmap(0x7fbc24b5a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fbc24b5a000
close(3) = 0
mprotect(0x7fbc24b5a000, 4096, PROT_READ) = 0
open("/usr/local/lib/mod_h264_streaming.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\32\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=334898, ...}) = 0
mmap(NULL, 2167496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc24746000
mprotect(0x7fbc24757000, 2093056, PROT_NONE) = 0
mmap(0x7fbc24956000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0x7fbc24956000
close(3) = 0
mprotect(0x7fbc24956000, 4096, PROT_READ) = 0
open("/usr/local/lib/mod_accesslog.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\24\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=59433, ...}) = 0
mmap(NULL, 2113904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc24541000
mprotect(0x7fbc24545000, 2093056, PROT_NONE) = 0
mmap(0x7fbc24744000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fbc24744000
close(3) = 0
mprotect(0x7fbc24744000, 4096, PROT_READ) = 0
open("/usr/local/lib/mod_dirlisting.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\31\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=73805, ...}) = 0
mmap(NULL, 2118376, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc2433b000
mprotect(0x7fbc24340000, 2093056, PROT_NONE) = 0
mmap(0x7fbc2453f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7fbc2453f000
close(3) = 0
mprotect(0x7fbc2453f000, 4096, PROT_READ) = 0
open("/usr/local/lib/mod_staticfile.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \24\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=52229, ...}) = 0
mmap(NULL, 2109792, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc24137000
mprotect(0x7fbc2413a000, 2093056, PROT_NONE) = 0
mmap(0x7fbc24339000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fbc24339000
close(3) = 0
mprotect(0x7fbc24339000, 4096, PROT_READ) = 0
open("/usr/local/lib/mod_chunked.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\17\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=46895, ...}) = 0
mmap(NULL, 2109672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbc23f33000
mprotect(0x7fbc23f35000, 2097152, PROT_NONE) = 0
mmap(0x7fbc24135000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fbc24135000
close(3) = 0
mprotect(0x7fbc24135000, 4096, PROT_READ) = 0
open("/var/run/lighttpd.pid", O_WRONLY|O_CREAT|O_EXCL|O_TRUNC, 0644) = -1 EEXIST (File exists)
stat("/var/run/lighttpd.pid", {st_mode=S_IFREG|0644, st_size=6, ...}) = 0
open("/var/run/lighttpd.pid", O_WRONLY|O_CREAT|O_TRUNC, 0644) = 3
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=4*1024}) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 4
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(4, {sa_family=AF_INET, sin_port=htons(8080), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
listen(4, 1024) = 0
getgid() = 0
getuid() = 0
write(3, "16832\n", 6) = 6
close(3) = 0
open("/var/log/lighttpd/access.log", O_WRONLY|O_CREAT|O_APPEND, 0644) = 3
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
open("/var/log/lighttpd/error.log", O_WRONLY|O_CREAT|O_APPEND, 0644) = 5
fcntl(5, F_SETFD, FD_CLOEXEC) = 0
write(5, "log.c.142: (trace) server starte"..., 35) = 35
open("/dev/null", O_WRONLY) = 6
close(2) = 0
dup2(6, 2) = 2
close(6) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [], SA_RESTORER, 0x7fbc25739100}, NULL, 8) = 0
rt_sigaction(SIGINT, {0x409c00, [], SA_RESTORER|SA_SIGINFO, 0x7fbc25739100}, NULL, 8) = 0
rt_sigaction(SIGTERM, {0x409c00, [], SA_RESTORER|SA_SIGINFO, 0x7fbc25739100}, NULL, 8) = 0
rt_sigaction(SIGHUP, {0x409c00, [], SA_RESTORER|SA_SIGINFO, 0x7fbc25739100}, NULL, 8) = 0
rt_sigaction(SIGALRM, {0x409c00, [], SA_RESTORER|SA_SIGINFO, 0x7fbc25739100}, NULL, 8) = 0
rt_sigaction(SIGCHLD, {0x409c00, [], SA_RESTORER|SA_SIGINFO, 0x7fbc25739100}, NULL, 8) = 0
rt_sigaction(SIGUSR1, {0x409c00, [], SA_RESTORER|SA_SIGINFO, 0x7fbc25739100}, NULL, 8) = 0
brk(0) = 0xd60000
brk(0xd83000) = 0xd83000
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fbc23732000
mprotect(0x7fbc23732000, 4096, PROT_NONE) = 0
clone(child_stack=0x7fbc23f31fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7fbc23f329d0, tls=0x7fbc23f32700, child_tidptr=0x7fbc23f329d0) = 16833
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fbc22f31000
mprotect(0x7fbc22f31000, 4096, PROT_NONE) = 0
clone(child_stack=0x7fbc23730fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7fbc237319d0, tls=0x7fbc23731700, child_tidptr=0x7fbc237319d0) = 16834
futex(0x7fbc25e84488, FUTEX_WAKE, 1) = 1
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fbc22730000
mprotect(0x7fbc22730000, 4096, PROT_NONE) = 0
clone(child_stack=0x7fbc22f2ffb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7fbc22f309d0, tls=0x7fbc22f30700, child_tidptr=0x7fbc22f309d0) = 16835
futex(0x7fbc25e84488, FUTEX_WAKE, 1) = 1
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fbc21f2f000
mprotect(0x7fbc21f2f000, 4096, PROT_NONE) = 0
clone(child_stack=0x7fbc2272efb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7fbc2272f9d0, tls=0x7fbc2272f700, child_tidptr=0x7fbc2272f9d0) = 16836
futex(0x7fbc25e84488, FUTEX_WAKE, 1) = 1
mmap(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fbc266e6000
mprotect(0x7fbc266e6000, 4096, PROT_NONE) = 0
clone(child_stack=0x7fbc266f5fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7fbc266f69d0, tls=0x7fbc266f6700, child_tidptr=0x7fbc266f69d0) = 16837
futex(0x7fbc25e84488, FUTEX_WAKE, 1) = 1
fcntl(4, F_SETFD, FD_CLOEXEC) = 0
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0
write(2, "Attempt to unlock mutex that was"..., 44) = 44
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
tgkill(16832, 16832, SIGABRT) = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=16832, si_uid=0} ---
+++ killed by SIGABRT +++
Aborted
the lighttpd.conf is here:
http://pastebin.com/jRYSef2W

Cgroup mount failed using cgconfigparser when configuring jstorm with cgroups

I am trying load /etc/cgconfig.conf using cgconfigparser to configure cgroup properties of jstorm.
My OS is ubuntu 14.04, username is 'whaty' and I have installed libcgroup1, cgroup-bin, cgroup-lite. There is no cgconfig.conf in /etc. so I create it manually.
Here is my cgconfig.conf
mount {
cpu = /sys/fs/cgroup/cpu;
cpuset = /sys/fs/cgroup/cpuset;
}
group jstorm {
perm {
task {
uid = 1000;
gid = 1000;
}
admin {
uid = 1000;
gid = 1000;
}
}
cpuset {
cpuset.cpus = 0;
cpuset.mems = 0;
}
}
I try to load this config using:
sudo cgconfigparser -l /etc/cgconfig.conf
The result shows:
cgconfigparser; error loading /etc/cgconfig.conf: Cgroup mounting failed
Here is my /proc/cgroups:
#subsys_name hierarchy num_cgroups enabled
cpuset 12 5 1
cpu 3 5 1
cpuacct 0 1 1
memory 0 1 1
devices 0 1 1
freezer 0 1 1
blkio 0 1 1
perf_event 0 1 1
hugetlb 0 1 1
Here is my mount of cgroup:
whaty#whaty:/sys/fs/cgroup$ ls
blkio cpu cpuacct cpuset devices freezer hugetlb memory perf_event systemd
Here is the strace of cgconfigparsser:
execve("/usr/sbin/cgconfigparser", ["cgconfigparser", "-l", "/etc/cgconfig.conf"], [/* 24 vars */]) = 0
brk(0) = 0x1421000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6499e62000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=98553, ...}) = 0
mmap(NULL, 98553, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f6499e49000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/libcgroup.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2608\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=76872, ...}) = 0
mmap(NULL, 4640896, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f64997d4000
mprotect(0x7f64997e6000, 2093056, PROT_NONE) = 0
mmap(0x7f64999e5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x7f64999e5000
mmap(0x7f64999e7000, 2465920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f64999e7000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\37\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1840928, ...}) = 0
mmap(NULL, 3949248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f649940f000
mprotect(0x7f64995ca000, 2093056, PROT_NONE) = 0
mmap(0x7f64997c9000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x7f64997c9000
mmap(0x7f64997cf000, 17088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f64997cf000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0po\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=141574, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6499e48000
mmap(NULL, 2217264, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f64991f1000
mprotect(0x7f649920a000, 2093056, PROT_NONE) = 0
mmap(0x7f6499409000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7f6499409000
mmap(0x7f649940b000, 13616, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f649940b000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6499e47000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6499e45000
arch_prctl(ARCH_SET_FS, 0x7f6499e45b80) = 0
mprotect(0x7f64997c9000, 16384, PROT_READ) = 0
mprotect(0x7f6499409000, 4096, PROT_READ) = 0
mprotect(0x7f64999e5000, 4096, PROT_READ) = 0
mprotect(0x602000, 4096, PROT_READ) = 0
mprotect(0x7f6499e64000, 4096, PROT_READ) = 0
munmap(0x7f6499e49000, 98553) = 0
set_tid_address(0x7f6499e45e50) = 14211
set_robust_list(0x7f6499e45e60, 24) = 0
futex(0x7ffde9414310, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7f6499e45b80) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigaction(SIGRTMIN, {0x7f64991f79f0, [], SA_RESTORER|SA_SIGINFO, 0x7f6499201340}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7f64991f7a80, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f6499201340}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(0) = 0x1421000
brk(0x1442000) = 0x1442000
open("/etc/cgconfig.conf", O_RDONLY|O_CLOEXEC) = 3
mmap(NULL, 319488, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6499df7000
ioctl(3, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x7ffde9413840) = -1 ENOTTY (Inappropriate ioctl for device)
fstat(3, {st_mode=S_IFREG|0644, st_size=411, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6499e61000
read(3, "mount {\n cpu = /sys/fs/cgr"..., 8192) = 411
read(3, "", 4096) = 0
read(3, "", 8192) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x7ffde9413840) = -1 ENOTTY (Inappropriate ioctl for device)
close(3) = 0
munmap(0x7f6499e61000, 4096) = 0
stat("/sys/fs/cgroup/cpu", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
mount("cgroup", "/sys/fs/cgroup/cpu", "cgroup", 0, "cpu") = -1 EBUSY (Device or resource busy)
munmap(0x7f6499df7000, 319488) = 0
write(2, "cgconfigparser; error loading /e"..., 73cgconfigparser; error loading /etc/cgconfig.conf: Cgroup mounting failed
) = 73
exit_group(50021) = ?
+++ exited with 101 +++
It seems that certain resource is occupied and busy. What's wrong with my configuration?

Amazon EC2 Force umount Volume does not work

I am trying to detach an Amazon EC2 Volume, but It get stuck some where, here is the strace output, I tried fuser -km /mnt/web but none of the option is working.
I also tried ls /mnt/, and deleted the entry from /etc/fstab but it still won't work.
Strace Output
user#server:~$ sudo strace umount -l /mnt/web
execve("/bin/umount", ["umount", "-l", "/mnt/web"], [/* 14 vars */]) = 0
brk(0) = 0xa11000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc411613000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=30545, ...}) = 0
mmap(NULL, 30545, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fc41160b000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libblkid.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320^\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=155384, ...}) = 0
mmap(NULL, 2250504, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc4111cd000
mprotect(0x7fc4111ef000, 2097152, PROT_NONE) = 0
mmap(0x7fc4113ef000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7fc4113ef000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libmount.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260Z\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=154648, ...}) = 0
mmap(NULL, 2249736, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc410fa7000
mprotect(0x7fc410fcc000, 2093056, PROT_NONE) = 0
mmap(0x7fc4111cb000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x7fc4111cb000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\37\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1845024, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc41160a000
mmap(NULL, 3953344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc410be1000
mprotect(0x7fc410d9c000, 2097152, PROT_NONE) = 0
mmap(0x7fc410f9c000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bb000) = 0x7fc410f9c000
mmap(0x7fc410fa2000, 17088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fc410fa2000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libuuid.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\26\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=18936, ...}) = 0
mmap(NULL, 2113968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc4109dc000
mprotect(0x7fc4109e0000, 2093056, PROT_NONE) = 0
mmap(0x7fc410bdf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fc410bdf000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libselinux.so.1", O_RDONLY|O_CLOEXEC) = 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\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=134296, ...}) = 0
mmap(NULL, 2238192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc4107b9000
mprotect(0x7fc4107d9000, 2093056, PROT_NONE) = 0
mmap(0x7fc4109d8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f000) = 0x7fc4109d8000
mmap(0x7fc4109da000, 5872, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fc4109da000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libpcre.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\27\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=252032, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc411609000
mmap(NULL, 2347200, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc41057b000
mprotect(0x7fc4105b8000, 2093056, PROT_NONE) = 0
mmap(0x7fc4107b7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3c000) = 0x7fc4107b7000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14664, ...}) = 0
mmap(NULL, 2109744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc410377000
mprotect(0x7fc41037a000, 2093056, PROT_NONE) = 0
mmap(0x7fc410579000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fc410579000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc411608000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc411606000
arch_prctl(ARCH_SET_FS, 0x7fc411606880) = 0
mprotect(0x7fc410f9c000, 16384, PROT_READ) = 0
mprotect(0x7fc410579000, 4096, PROT_READ) = 0
mprotect(0x7fc4107b7000, 4096, PROT_READ) = 0
mprotect(0x7fc4109d8000, 4096, PROT_READ) = 0
mprotect(0x7fc410bdf000, 4096, PROT_READ) = 0
mprotect(0x7fc4113ef000, 12288, PROT_READ) = 0
mprotect(0x7fc4111cb000, 4096, PROT_READ) = 0
mprotect(0x60f000, 4096, PROT_READ) = 0
mprotect(0x7fc411615000, 4096, PROT_READ) = 0
munmap(0x7fc41160b000, 30545) = 0
statfs("/sys/fs/selinux", 0x7fff570957f0) = -1 ENOENT (No such file or directory)
statfs("/selinux", 0x7fff570957f0) = -1 ENOENT (No such file or directory)
brk(0) = 0xa11000
brk(0xa32000) = 0xa32000
open("/proc/filesystems", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc411612000
read(3, "nodev\tsysfs\nnodev\trootfs\nnodev\tr"..., 1024) = 374
read(3, "", 1024) = 0
close(3) = 0
munmap(0x7fc411612000, 4096) = 0
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1607664, ...}) = 0
mmap(NULL, 1607664, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fc41147d000
close(3) = 0
umask(022) = 022
getuid() = 0
geteuid() = 0
readlink("/mnt", 0x7fff57093710, 4096) = -1 EINVAL (Invalid argument)
readlink("/mnt/web",

getconf returns 32 bit on x86_64 architecture

In one of my system, I observed below output.
root#base0-0-0-1-0-11-1:/root> uname -a
Linux base0-0-0-1-0-11-1 2.6.34.12-kairos-ksc-dec02-1800 #2 SMP Mon Dec 2 17:48:50 IST 2013 x86_64 x86_64 x86_64 GNU/Linux
root#base0-0-0-1-0-11-1:/root> getconf LONG_BIT
32
root#base0-0-0-1-0-11-1:/root>
The output from uname says the system is 64 bit while getconf says its 32 bit. Is there any reason for this mismatch?
I confirmed in my other systems where no such mismatch was found.
Please suggest. Thanks.
You can confirm which files getconf is picking up by running it through strace.
$ strace getconf LONG_BIT
Example
From my 64-bit Fedora 19 installation.
$ strace getconf LONG_BIT
execve("/usr/bin/getconf", ["getconf", "LONG_BIT"], [/* 92 vars */]) = 0
brk(0) = 0x1114000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8b865b9000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=190823, ...}) = 0
mmap(NULL, 190823, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f8b8658a000
close(3) = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\34\242\213?\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2108632, ...}) = 0
mmap(0x3f8ba00000, 3932768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3f8ba00000
mprotect(0x3f8bbb6000, 2097152, PROT_NONE) = 0
mmap(0x3f8bdb6000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b6000) = 0x3f8bdb6000
mmap(0x3f8bdbc000, 16992, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3f8bdbc000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8b86589000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8b86587000
arch_prctl(ARCH_SET_FS, 0x7f8b86587740) = 0
mprotect(0x604000, 4096, PROT_READ) = 0
mprotect(0x3f8bdb6000, 16384, PROT_READ) = 0
mprotect(0x3f8b820000, 4096, PROT_READ) = 0
munmap(0x7f8b8658a000, 190823) = 0
brk(0) = 0x1114000
brk(0x1135000) = 0x1135000
brk(0) = 0x1135000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=106055264, ...}) = 0
mmap(NULL, 106055264, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f8b80062000
close(3) = 0
readlink("/usr/libexec/getconf/default", "POSIX_V6_LP64_OFF64", 21) = 19
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 4), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8b865b8000
write(1, "64\n", 364
) = 3
exit_group(0) = ?
+++ exited with 0 +++

Resources