OK.. This looks harder than I thought, it needs some debugging. I
looked at your code and logs and have some questions

1. I presume this line
      err = cgroup_get_cgroup(group0); fails for you
2. Your cgroup_config_load_config() has succeeded, which I thought was
the original problem. If this step did succeed, what wa the mount
hierarchy it created?
  a. I can see a reference to CPU/FREEZER being mounted together and
groups rw/realtime/.. within that
3. Your sample seems to add more controllers than those that are mounted

For step1, I would recommend freeing group0 after creation and do a
cgroup_new_cgroup("grp_0"), don't add any controllers, then try to get
the cgroup with the API

Balbir Singh.

On Wed, Dec 17, 2014 at 4:16 PM, Alexandre LAURENT
<pro.laurent.alexan...@gmail.com> wrote:
> No problem.
>
> Here the complete results from the tests available in libcgroups :
> ---
> grep: @abs_top_srcdir@/config.h: Aucun fichier ou dossier de ce type
>
> Running first set of testcases
> ==============================
> TEST 1:PASS : cgroup_init() Ret Value = 50001
> Warning: libcgroup is not initialized
> TEST 2:PASS : cgroup_attach_task() Ret Value = 50014 Parameter nullcgroup
> TEST 3:PASS : cgroup_new_cgroup() Ret Value = 0
> TEST 4:PASS : cgroup_create_cgroup() Ret Value = 50014
> TEST 5:PASS : cgroup_delete_cgroup() Ret Value = 50014
> TEST 6:PASS : cgroup_create_cgroup() Ret Value = 50014
> TEST 7:PASS : cgroup_delete_cgroup() Ret Value = 50014
> TEST 8:PASS : cgroup_add_controller() Ret Value = 0
> TEST 9:PASS : cgroup_add_controller() Ret Value = 0
> TEST10:PASS : cgroup_add_controller() Ret Value = 0
>
> Running second set of testcases
> ==============================
> sanity check pass. cgroup
> TEST 1:PASS : cgroup_attach_task() Ret Value = 50014 Parameter nullcgroup
> found cpu in rw,relatime,memory,cpu
> Found cgroup option rw,relatime,memory,cpu, count 0
> found memory in rw,relatime,memory,cpu
> Found cgroup option rw,relatime,memory,cpu, count 1
> TEST 2:PASS : cgroup_init() Ret Value = 0
> TEST 3:PASS : cgroup_attach_task() Ret Value = 0 Task found in group/s
> Warning: cannot write tid -1 to /dev/cgroup_controllers-1//tasks:Invalid
> argument
> TEST 4:PASS : cgroup_attach_task_pid() Ret Value = 50016
> TEST 5:PASS : cgroup_new_cgroup() Ret Value = 0
> setting /dev/cgroup_controllers-1/group1/cpu.shares to "260000", pathlen 43
> TEST 6:PASS : cgroup_create_cgroup() Ret Value = 0 group found in filesystem
> TEST 7:PASS : cgroup_attach_task() Ret Value = 0 Task found in group/s
> TEST 8:PASS : cgroup_modify_cgroup() Ret Value = 0 Parameter same cgroup
> TEST 9:PASS : cgroup_new_cgroup() Ret Value = 0
> TEST10:PASS : cgroup_modify_cgroup() Ret Value = 0
> TEST11:PASS : cgroup_modify_cgroup() Ret Value = 50007
> TEST12:PASS : cgroup_new_cgroup() Ret Value = 0
> TEST13:PASS : cgroup_modify_cgroup() Ret Value = 0
> TEST14:PASS : cgroup_get_cgroup() Ret Value = 50007 Parameter nullcgroup
> TEST15:PASS : cgroup_get_cgroup() Ret Value = 50002 Parameter not created
> group
> TEST16:PASS : cgroup_get_cgroup() Ret Value = 0
> TEST 0:PASS : cgroup_new_cgroup() Ret Value = 0
> setting /dev/cgroup_controllers-1/group_a/cpu.shares to "260000", pathlen 44
> TEST 0:PASS : cgroup_create_cgroup() Ret Value = 0 group found in filesystem
> TEST17:FAIL : cgroup_get_cgroup() Ret Value = 50017
> path is /dev/cgroup_controllers-1/group_a/
> parent's name is /dev/cgroup_controllers-1/group_a//..
> group name is group_a
> parent's group name is .
> Removing group cpu:group_a
> TEST 0:PASS : cgroup_delete_cgroup() Ret Value = 0 Group deleted from
> filesystem
> path is /dev/cgroup_controllers-1/group1/
> parent's name is /dev/cgroup_controllers-1/group1//..
> group name is group1
> parent's group name is .
> Removing group cpu:group1
> TEST16:PASS : cgroup_delete_cgroup() Ret Value = 0 Group deleted from
> filesystem
> TEST17:PASS : cgroup_create_cgroup() Ret Value = 50007
> TEST18:PASS : cgroup_delete_cgroup() Ret Value = 50007
> TEST19:PASS : cgroup_compare_cgroup() Ret Value = 50011 Parameter nullcgroup
> TEST20:PASS : cgroup_compare_cgroup() Ret Value = 0
> TEST21:PASS : cgroup_compare_cgroup() Ret Value = 50017
> Cleanup done
>
> Running third set of testcases
> ==============================
> sanity check pass. cgroup
> found cpu in rw,relatime,cpu
> Found cgroup option rw,relatime,cpu, count 0
> found memory in rw,relatime,memory
> Found cgroup option rw,relatime,memory, count 1
> TEST 1:PASS : cgroup_init() Ret Value = 0
> TEST 2:PASS : cgroup_attach_task() Ret Value = 0 Task found in group/s
> TEST 3:PASS : cgroup_new_cgroup() Ret Value = 0
> setting /dev/cgroup_controllers-1/ctl1_group1/cpu.shares to "260000",
> pathlen 48
> TEST 4:PASS : cgroup_create_cgroup() Ret Value = 0 group found in filesystem
> TEST 5:PASS : cgroup_new_cgroup() Ret Value = 0
> setting /dev/cgroup_controllers-2/ctl2_group1/memory.limit_in_bytes to
> "7000064", pathlen 59
> TEST 6:PASS : cgroup_create_cgroup() Ret Value = 0 group found in filesystem
> setting /dev/cgroup_controllers-2/ctl2_group1/memory.limit_in_bytes to
> "7000064", pathlen 59
> TEST 7:PASS : cgroup_create_cgroup() Ret Value = 0 group found in filesystem
> TEST 8:PASS : cgroup_attach_task() Ret Value = 0 Task found in group/s
> TEST 9:PASS : cgroup_attach_task() Ret Value = 0 Task found in group/s
> TEST10:PASS : cgroup_new_cgroup() Ret Value = 0
> TEST11:PASS : cgroup_attach_task() Ret Value = 50002 Parameter not created
> group
> TEST12:PASS : cgroup_new_cgroup() Ret Value = 0
> TEST13:PASS : cgroup_modify_cgroup() Ret Value = 0
> TEST14:PASS : cgroup_new_cgroup() Ret Value = 0
> TEST15:PASS : cgroup_modify_cgroup() Ret Value = 0
> path is /dev/cgroup_controllers-1/ctl1_group1/
> parent's name is /dev/cgroup_controllers-1/ctl1_group1//..
> group name is ctl1_group1
> parent's group name is .
> Removing group cpu:ctl1_group1
> TEST16:PASS : cgroup_delete_cgroup() Ret Value = 0 Group deleted from
> filesystem
> path is /dev/cgroup_controllers-2/ctl2_group1/
> parent's name is /dev/cgroup_controllers-2/ctl2_group1//..
> group name is ctl2_group1
> parent's group name is .
> Removing group memory:ctl2_group1
> TEST17:PASS : cgroup_delete_cgroup() Ret Value = 0 Group deleted from
> filesystem
> TEST18:PASS : cgroup_new_cgroup() Ret Value = 0
> setting /dev/cgroup_controllers-1/commongroup/cpu.shares to "260000",
> pathlen 48
> TEST19:PASS : cgroup_create_cgroup() Ret Value = 0 group found under both
> controllers
> TEST20:PASS : cgroup_attach_task() Ret Value = 0 Task found in group/s
> TEST21:PASS : cgroup_new_cgroup() Ret Value = 0
> TEST22:PASS : cgroup_modify_cgroup() Ret Value = 0 group modified under both
> controllers
> path is /dev/cgroup_controllers-1/commongroup/
> parent's name is /dev/cgroup_controllers-1/commongroup//..
> group name is commongroup
> parent's group name is .
> Removing group cpu:commongroup
> path is /dev/cgroup_controllers-2/commongroup/
> parent's name is /dev/cgroup_controllers-2/commongroup//..
> group name is commongroup
> parent's group name is .
> Removing group memory:commongroup
> TEST23:PASS : cgroup_delete_cgroup() Ret Value = 0 Group deleted from
> filesystem
> TEST 0:PASS : cgroup_new_cgroup() Ret Value = 0
> TEST24:PASS : cgroup_cgroup_add_controller() Ret Value = 0
> setting /dev/cgroup_controllers-1/group_a/cpu.shares to "260000", pathlen 44
> TEST 0:PASS : cgroup_create_cgroup() Ret Value = 0 group found in filesystem
> TEST25:FAIL : cgroup_get_cgroup() Ret Value = 50018
> path is /dev/cgroup_controllers-1/group_a/
> parent's name is /dev/cgroup_controllers-1/group_a//..
> group name is group_a
> parent's group name is .
> Removing group cpu:group_a
> path is /dev/cgroup_controllers-2/group_a/
> parent's name is /dev/cgroup_controllers-2/group_a//..
> group name is group_a
> parent's group name is .
> Removing group memory:group_a
> TEST 0:PASS : cgroup_delete_cgroup() Ret Value = 0 Group deleted from
> filesystem
> Cleanup done
> ---
>
>
> Also, I have done this test program (also attached) :
> ---
> #include <iostream>
> #include <unistd.h>
>
> #include <libcgroup.h>
>
> #define USE_CPU 0
> #define USE_BLKIO 0
> #define USE_MEMORY 0
> #define CGROUP_CONF_FILE "./cgconfig.conf"
>
> int main()
> {
>    int err = 0;
>    cgroup* group0 = NULL;
>    cgroup_controller* grp0_cpu_ctrl = NULL;
>    cgroup_controller* grp0_memory_ctrl = NULL;
>    cgroup_controller* grp0_blkio_ctrl = NULL;
>    cgroup_controller* grp0_freezer_ctrl = NULL;
>    cgroup* group1 = NULL;
>    cgroup_controller* grp1_cpu_ctrl = NULL;
>    cgroup_controller* grp1_memory_ctrl = NULL;
>    cgroup_controller* grp1_blkio_ctrl = NULL;
>    cgroup_controller* grp1_freezer_ctrl = NULL;
>
>    unsigned int i = 0;
>    char* freezerValue = NULL;
>    int64_t cpuValue = 0;
>    uint64_t memoryValue = 0;
>
> #if USE_CPU
>    fprintf(stdout, "Use cpu controller\n");
> #endif
> #if USE_BLKIO
>    fprintf(stdout, "Use blkio controller\n");
> #endif
> #if USE_MEMORY
>    fprintf(stdout, "Use memory controller\n");
> #endif
>
>    err = cgroup_config_load_config (CGROUP_CONF_FILE);
>    if(err != 0)
>    {
>       fprintf(stderr,"Error with cgroup_load_config() function :
> %s\n",cgroup_strerror(err));
>       exit(EXIT_FAILURE);
>    }
>
>    err = cgroup_init();
>    if(err != 0)
>    {
>       fprintf(stderr,"Error with cgroup_init() function :
> %s\n",cgroup_strerror(err));
>       goto unload;
>    }
>
>    // Create groups
>    group0 = cgroup_new_cgroup ("grp_0");
>    if ( group0 == NULL )
>    {
>       fprintf(stderr,"Error with cgroup_new_cgroup('grp_0') function :
> %s\n",cgroup_strerror(err));
>       goto clean_groups;
>    }
>
>    // Place controler
>    // Group 0
> #if USE_CPU
>    grp0_cpu_ctrl = cgroup_add_controller (group0,"cpu" );
>    if (grp0_cpu_ctrl == NULL )
>    {
>       fprintf(stderr,"Error with cgroup_add_controller(group0,'cpu')
> function : %s\n",cgroup_strerror(err));
>       goto clean_ctrl;
>    }
> #endif
>
> #if USE_BLKIO
>    grp0_blkio_ctrl = cgroup_add_controller (group0, "blkio");
>    if (grp0_blkio_ctrl == NULL )
>    {
>       fprintf(stderr,"Error with cgroup_add_controller(group0,'blkio')
> function : %s\n",cgroup_strerror(err));
>       goto clean_ctrl;
>    }
> #endif
>
>    grp0_freezer_ctrl = cgroup_add_controller (group0, "freezer");
>    if (grp0_freezer_ctrl == NULL )
>    {
>       fprintf(stderr,"Error with cgroup_add_controller(group0,'freezer')
> function : %s\n",cgroup_strerror(err));
>       goto clean_ctrl;
>    }
>
> #if USE_MEMORY
>    grp0_memory_ctrl = cgroup_add_controller (group0, "memory");
>    if (grp0_memory_ctrl == NULL )
>    {
>       fprintf(stderr,"Error with cgroup_add_controller(group0,'memory')
> function : %s\n",cgroup_strerror(err));
>       goto clean_ctrl;
>    }
> #endif
>
>       // Physically add cgroups
>    err = cgroup_create_cgroup (group0, 0);
>    if(err != 0)
>    {
>       fprintf(stderr,"Error with cgroup_create_cgroup(group0) function :
> %s\n",cgroup_strerror(err));
>       goto delete_groups;
>    }
>
>
>
>    group1 = cgroup_new_cgroup("grp_1");
>    if ( group1 == NULL )
>    {
>       fprintf(stderr,"Error with cgroup_new_cgroup('grp_0') function :
> %s\n",cgroup_strerror(err));
>       goto clean_groups;
>    }
>
>    // Group 1
> #if USE_CPU
>    grp1_cpu_ctrl = cgroup_add_controller (group1,"cpu" );
>    if (grp1_cpu_ctrl == NULL )
>    {
>       fprintf(stderr,"Error with cgroup_add_controller(group1,'cpu')
> function : %s\n",cgroup_strerror(err));
>       goto clean_ctrl;
>    }
> #endif
>
> #if USE_BLKIO
>    grp1_blkio_ctrl = cgroup_add_controller (group1, "blkio");
>    if (grp1_blkio_ctrl == NULL )
>    {
>       fprintf(stderr,"Error with cgroup_add_controller(group1,'blkio')
> function : %s\n",cgroup_strerror(err));
>       goto clean_ctrl;
>    }
> #endif
>
>    grp1_freezer_ctrl = cgroup_add_controller (group1, "freezer");
>    if (grp1_freezer_ctrl == NULL )
>    {
>       fprintf(stderr,"Error with cgroup_add_controller(group1,'freezer')
> function : %s\n",cgroup_strerror(err));
>       goto clean_ctrl;
>    }
>
> #if USE_MEMORY
>    grp1_memory_ctrl = cgroup_add_controller (group1, "memory");
>    if (grp1_memory_ctrl == NULL )
>    {
>       fprintf(stderr,"Error with cgroup_add_controller(group1,'memory')
> function : %s\n",cgroup_strerror(err));
>       goto clean_ctrl;
>    }
> #endif
>
>    err = cgroup_create_cgroup (group1, 0);
>    if(err != 0)
>    {
>       fprintf(stderr,"Error with cgroup_create_cgroup(group1) function :
> %s\n",cgroup_strerror(err));
>       goto delete_groups;
>    }
>
>    // We can start playing with cgroups
>    for (i = 0 ; i < 10 ; i++)
>    {
>       err = cgroup_get_cgroup(group0);
>       if ( err != 0 )
>       {
>          fprintf(stderr,"Error with cgroup_get_cgroup(group0) function : %s
> (error %d)\n",cgroup_strerror(err),err);
>       }
>
>       err = cgroup_get_value_string(grp0_freezer_ctrl, "freezer.state",
> &freezerValue);
>       if ( err != 0 )
>       {
>          fprintf(stderr,"Error with cgroup_get_value_string(group0,
> freezer.state) function : %s\n",cgroup_strerror(err));
>       }
>       fprintf(stdout,"FREEZER value group0 : %s\n",freezerValue);
>       free(freezerValue);
>
>
> #if USE_CPU
>       err = cgroup_get_value_int64(grp0_cpu_ctrl, "cpu.shares", &cpuValue);
>       if ( err != 0 )
>       {
>          fprintf(stderr,"Error with cgroup_get_value_uint64(group0,
> cpu.shares) function : %s\n",cgroup_strerror(err));
>       }
>       fprintf(stdout,"CPU value group0 : %ld\n",memoryValue);
> #endif
>
> #if USE_MEMORY
>       err = cgroup_get_value_uint64(grp0_memory_ctrl, "memory.failcnt",
> &memoryValue);
>       if ( err != 0 )
>       {
>          fprintf(stderr,"Error with cgroup_get_value_uint64(group0,
> memory.failcnt) function : %s\n",cgroup_strerror(err));
>       }
>       fprintf(stdout,"Memory value group0 : %ld\n",memoryValue);
>
>       err = cgroup_get_value_uint64(grp1_memory_ctrl, "memory.failcnt",
> &memoryValue);
>       if ( err != 0 )
>       {
>          fprintf(stderr,"Error with cgroup_get_value_uint64(group1,
> memory.failcnt) function : %s\n",cgroup_strerror(err));
>       }
>       fprintf(stdout,"Memory value group1 : %ld\n",memoryValue);
> #endif
>
>       usleep(2000000);
>    }
>
> delete_groups:
>    if (group1)
>    {
>       err = cgroup_delete_cgroup (group1, 0);
>    }
>    if (group0)
>    {
>       err = cgroup_delete_cgroup (group0, 0);
>    }
> clean_ctrl:
> clean_groups:
>    if (group1)
>    {
>       cgroup_free(&group1);
>    }
>    if (group0)
>    {
>       cgroup_free(&group0);
>    }
>
> unload:
>    err = cgroup_config_unload_config(CGROUP_CONF_FILE,
> CGFLAG_DELETE_IGNORE_MIGRATION);
>    if(err != 0)
>    {
>       fprintf(stderr,"Error with cgroup_config_unload_config() function :
> %s\n",cgroup_strerror(err));
>       exit(EXIT_FAILURE);
>    }
>
>    return 0;
> }
> ----
>
> It outputs this :
> ----
> found cpu in rw,relatime,cpu
> Found cgroup option rw,relatime,cpu, count 0
> found freezer in rw,relatime,freezer
> Found cgroup option rw,relatime,freezer, count 1
> creating all cgroups now, error=0
> found cpu in rw,relatime,cpu
> Found cgroup option rw,relatime,cpu, count 0
> found freezer in rw,relatime,freezer
> Found cgroup option rw,relatime,freezer, count 1
> Changing ownership of /cgroup/freezer/grp_0/
> chown: path is /cgroup/freezer/grp_0/
> chown: seeing file /cgroup/freezer/grp_0/
> chown: seeing file /cgroup/freezer/grp_0/freezer.state
> chown: seeing file /cgroup/freezer/grp_0/cgroup.clone_children
> chown: seeing file /cgroup/freezer/grp_0/cgroup.event_control
> chown: seeing file /cgroup/freezer/grp_0/notify_on_release
> chown: seeing file /cgroup/freezer/grp_0/cgroup.procs
> chown: seeing file /cgroup/freezer/grp_0/tasks
> chown: seeing file /cgroup/freezer/grp_0/
> Warning: fts_read failed
> chmod: path is /cgroup/freezer/grp_0/
> chmod: seeing file /cgroup/freezer/grp_0/
> chmod: seeing file /cgroup/freezer/grp_0/freezer.state
> chmod: seeing file /cgroup/freezer/grp_0/cgroup.clone_children
> chmod: seeing file /cgroup/freezer/grp_0/cgroup.event_control
> chmod: seeing file /cgroup/freezer/grp_0/notify_on_release
> chmod: seeing file /cgroup/freezer/grp_0/cgroup.procs
> chmod: seeing file /cgroup/freezer/grp_0/
> Changing ownership of /cgroup/freezer/grp_1/
> chown: path is /cgroup/freezer/grp_1/
> chown: seeing file /cgroup/freezer/grp_1/
> chown: seeing file /cgroup/freezer/grp_1/freezer.state
> chown: seeing file /cgroup/freezer/grp_1/cgroup.clone_children
> chown: seeing file /cgroup/freezer/grp_1/cgroup.event_control
> chown: seeing file /cgroup/freezer/grp_1/notify_on_release
> chown: seeing file /cgroup/freezer/grp_1/cgroup.procs
> chown: seeing file /cgroup/freezer/grp_1/tasks
> chown: seeing file /cgroup/freezer/grp_1/
> Warning: fts_read failed
> chmod: path is /cgroup/freezer/grp_1/
> chmod: seeing file /cgroup/freezer/grp_1/
> chmod: seeing file /cgroup/freezer/grp_1/freezer.state
> chmod: seeing file /cgroup/freezer/grp_1/cgroup.clone_children
> chmod: seeing file /cgroup/freezer/grp_1/cgroup.event_control
> chmod: seeing file /cgroup/freezer/grp_1/notify_on_release
> chmod: seeing file /cgroup/freezer/grp_1/cgroup.procs
> chmod: seeing file /cgroup/freezer/grp_1/
> Error with cgroup_get_cgroup(group0) function : Cgroup invalid operation
> (error 50011)
> Error with cgroup_get_value_string(group0, freezer.state) function : Cgroup,
> requested group parameter does not exist
> FREEZER value group0 : (null)
> Error with cgroup_get_value_string(group0, freezer.state) function : Cgroup,
> requested group parameter does not exist
> FREEZER value group0 : (null)
> Error with cgroup_get_cgroup(group0) function : Cgroup invalid operation
> (error 50011)
> Error with cgroup_get_value_string(group0, freezer.state) function : Cgroup,
> requested group parameter does not exist
> FREEZER value group0 : (null)
> Error with cgroup_get_value_string(group0, freezer.state) function : Cgroup,
> requested group parameter does not exist
> FREEZER value group0 : (null)
> Error with cgroup_get_cgroup(group0) function : Cgroup invalid operation
> (error 50011)
> Error with cgroup_get_value_string(group0, freezer.state) function : Cgroup,
> requested group parameter does not exist
> FREEZER value group0 : (null)
> Error with cgroup_get_value_string(group0, freezer.state) function : Cgroup,
> requested group parameter does not exist
> FREEZER value group0 : (null)
> Error with cgroup_get_cgroup(group0) function : Cgroup invalid operation
> (error 50011)
> Error with cgroup_get_value_string(group0, freezer.state) function : Cgroup,
> requested group parameter does not exist
> FREEZER value group0 : (null)
> Error with cgroup_get_value_string(group0, freezer.state) function : Cgroup,
> requested group parameter does not exist
> FREEZER value group0 : (null)
> Error with cgroup_get_cgroup(group0) function : Cgroup invalid operation
> (error 50011)
> Error with cgroup_get_value_string(group0, freezer.state) function : Cgroup,
> requested group parameter does not exist
> FREEZER value group0 : (null)
> Error with cgroup_get_value_string(group0, freezer.state) function : Cgroup,
> requested group parameter does not exist
> FREEZER value group0 : (null)
> path is /cgroup/freezer/grp_1/
> parent's name is /cgroup/freezer/grp_1//..
> group name is grp_1
> parent's group name is .
> Removing group freezer:grp_1
> path is /cgroup/cpu/grp_0/
> parent's name is /cgroup/cpu/grp_0//..
> group name is grp_0
> parent's group name is .
> Removing group cpu:grp_0
> path is /cgroup/freezer/grp_0/
> parent's name is /cgroup/freezer/grp_0//..
> group name is grp_0
> parent's group name is .
> Removing group freezer:grp_0
> cgroup_config_unload_config: parsing ./cgconfig.conf
> unmounting cpu
> path is /
> seeing file /cgroup/cpu/
> seeing file /cgroup/cpu/grp_1
> won't unmount cpu: hieararchy is not empty
> unmounting freezer
> path is /
> seeing file /cgroup/freezer/
> seeing file /cgroup/freezer/release_agent
> seeing file /cgroup/freezer/cgroup.clone_children
> seeing file /cgroup/freezer/cgroup.event_control
> seeing file /cgroup/freezer/notify_on_release
> seeing file /cgroup/freezer/cgroup.procs
> seeing file /cgroup/freezer/tasks
> seeing file /cgroup/freezer/
> unmounting freezer at /cgroup/freezer
> Error with cgroup_config_unload_config() function : Device or resource busy
> ----
>
> And finally, the strace of this program.
> Strangely, running the program in strace brings a different result.
>
> ----
>
> execve("./test", ["./test"], [/* 17 vars */]) = 0
> brk(0)                                  = 0x237b000
> 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) =
> 0x7fdd5752b000
> access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or
> directory)
> open("/etc/ld.so.cache", O_RDONLY)      = 3
> fstat(3, {st_mode=S_IFREG|0644, st_size=134190, ...}) = 0
> mmap(NULL, 134190, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fdd5750a000
> close(3)                                = 0
> access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or
> directory)
> open("/lib/x86_64-linux-gnu/librt.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\220!\0\0\0\0\0\0"..., 832) =
> 832
> fstat(3, {st_mode=S_IFREG|0644, st_size=31744, ...}) = 0
> mmap(NULL, 2128856, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
> 0x7fdd57106000
> mprotect(0x7fdd5710d000, 2093056, PROT_NONE) = 0
> mmap(0x7fdd5730c000, 8192, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7fdd5730c000
> 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) = 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"...,
> 832) = 832
> fstat(3, {st_mode=S_IFREG|0755, st_size=131107, ...}) = 0
> mmap(NULL, 2208672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
> 0x7fdd56eea000
> mprotect(0x7fdd56f01000, 2093056, PROT_NONE) = 0
> mmap(0x7fdd57100000, 8192, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7fdd57100000
> mmap(0x7fdd57102000, 13216, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fdd57102000
> close(3)                                = 0
> access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or
> directory)
> open("/usr/lib/x86_64-linux-gnu/libstdc++.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@\6\6\0\0\0\0\0"...,
> 832) = 832
> fstat(3, {st_mode=S_IFREG|0644, st_size=991600, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd57509000
> mmap(NULL, 3171520, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
> 0x7fdd56be3000
> mprotect(0x7fdd56ccb000, 2097152, PROT_NONE) = 0
> mmap(0x7fdd56ecb000, 40960, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe8000) = 0x7fdd56ecb000
> mmap(0x7fdd56ed5000, 83136, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fdd56ed5000
> close(3)                                = 0
> access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or
> directory)
> open("/lib/x86_64-linux-gnu/libm.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\360>\0\0\0\0\0\0"..., 832) =
> 832
> fstat(3, {st_mode=S_IFREG|0644, st_size=530736, ...}) = 0
> mmap(NULL, 2625768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
> 0x7fdd56961000
> mprotect(0x7fdd569e2000, 2093056, PROT_NONE) = 0
> mmap(0x7fdd56be1000, 8192, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x80000) = 0x7fdd56be1000
> close(3)                                = 0
> access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or
> directory)
> open("/lib/x86_64-linux-gnu/libgcc_s.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\0p.\0\0\0\0\0\0"...,
> 832) = 832
> fstat(3, {st_mode=S_IFREG|0644, st_size=89056, ...}) = 0
> mmap(NULL, 2184824, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
> 0x7fdd5674b000
> mprotect(0x7fdd56760000, 2097152, PROT_NONE) = 0
> mmap(0x7fdd56960000, 4096, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7fdd56960000
> 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) = 3
> read(3,
> "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\357\1\0\0\0\0\0"...,
> 832) = 832
> fstat(3, {st_mode=S_IFREG|0755, st_size=1603600, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd57508000
> mmap(NULL, 3717176, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
> 0x7fdd563bf000
> mprotect(0x7fdd56541000, 2097152, PROT_NONE) = 0
> mmap(0x7fdd56741000, 20480, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x182000) = 0x7fdd56741000
> mmap(0x7fdd56746000, 18488, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fdd56746000
> close(3)                                = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd57507000
> mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd57505000
> arch_prctl(ARCH_SET_FS, 0x7fdd57505b40) = 0
> mprotect(0x7fdd56741000, 16384, PROT_READ) = 0
> mprotect(0x7fdd56be1000, 4096, PROT_READ) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd57504000
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd57503000
> mprotect(0x7fdd56ecb000, 32768, PROT_READ) = 0
> mprotect(0x7fdd57100000, 4096, PROT_READ) = 0
> mprotect(0x7fdd5730c000, 4096, PROT_READ) = 0
> mprotect(0x7fdd5752d000, 4096, PROT_READ) = 0
> munmap(0x7fdd5750a000, 134190)          = 0
> set_tid_address(0x7fdd57505e10)         = 8389
> set_robust_list(0x7fdd57505e20, 0x18)   = 0
> futex(0x7fff3b48224c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1,
> NULL, 7fdd57505b40) = -1 EAGAIN (Resource temporarily unavailable)
> rt_sigaction(SIGRTMIN, {0x7fdd56eefad0, [], SA_RESTORER|SA_SIGINFO,
> 0x7fdd56ef90a0}, NULL, 8) = 0
> rt_sigaction(SIGRT_1, {0x7fdd56eefb60, [],
> SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7fdd56ef90a0}, NULL, 8) = 0
> rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
> getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
> futex(0x7fdd56ee79e4, FUTEX_WAKE_PRIVATE, 2147483647) = 0
> futex(0x7fdd56ee79f0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
> brk(0)                                  = 0x237b000
> brk(0x239c000)                          = 0x239c000
> open("./cgconfig.conf", O_RDONLY|O_CLOEXEC) = 3
> mmap(NULL, 319488, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd574b5000
> mmap(NULL, 319488, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd57467000
> ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff3b481710) = -1 ENOTTY
> (Inappropriate ioctl for device)
> fstat(3, {st_mode=S_IFREG|0644, st_size=184, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd5752a000
> read(3, "mount {\n#    cpuset = /cgroup/cp"..., 8192) = 184
> read(3, "", 4096)                       = 0
> read(3, "", 8192)                       = 0
> ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff3b481710) = -1 ENOTTY
> (Inappropriate ioctl for device)
> close(3)                                = 0
> munmap(0x7fdd5752a000, 4096)            = 0
> stat("/cgroup/cpu", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> mount("cgroup", "/cgroup/cpu", "cgroup", 0, "cpu") = 0
> stat("/cgroup/freezer", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> mount("cgroup", "/cgroup/freezer", "cgroup", 0, "freezer") = 0
> open("/proc/cgroups", O_RDONLY|O_CLOEXEC) = 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) =
> 0x7fdd5752a000
> read(3, "#subsys_name\thierarchy\tnum_cgrou"..., 1024) = 168
> read(3, "", 1024)                       = 0
> open("/proc/mounts", O_RDONLY|O_CLOEXEC) = 4
> fstat(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd57529000
> read(4, "rootfs / rootfs rw 0 0\nsysfs /sy"..., 1024) = 1024
> read(4, ",fd=13,pgrp=3146,timeout=300,min"..., 1024) = 162
> fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 12), ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd57528000
> write(1, "found cpu in rw,relatime,cpu\n", 29) = 29
> write(1, "Found cgroup option rw,relatime,"..., 45) = 45
> write(1, "found freezer in rw,relatime,fre"..., 37) = 37
> write(1, "Found cgroup option rw,relatime,"..., 49) = 49
> read(4, "", 1024)                       = 0
> close(3)                                = 0
> munmap(0x7fdd5752a000, 4096)            = 0
> close(4)                                = 0
> munmap(0x7fdd57529000, 4096)            = 0
> write(1, "creating all cgroups now, error="..., 34) = 34
> munmap(0x7fdd574b5000, 319488)          = 0
> munmap(0x7fdd57467000, 319488)          = 0
> open("/proc/cgroups", O_RDONLY|O_CLOEXEC) = 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) =
> 0x7fdd5752a000
> read(3, "#subsys_name\thierarchy\tnum_cgrou"..., 1024) = 168
> read(3, "", 1024)                       = 0
> open("/proc/mounts", O_RDONLY|O_CLOEXEC) = 4
> fstat(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd57529000
> read(4, "rootfs / rootfs rw 0 0\nsysfs /sy"..., 1024) = 1024
> read(4, ",fd=13,pgrp=3146,timeout=300,min"..., 1024) = 162
> write(1, "found cpu in rw,relatime,cpu\n", 29) = 29
> write(1, "Found cgroup option rw,relatime,"..., 45) = 45
> write(1, "found freezer in rw,relatime,fre"..., 37) = 37
> write(1, "Found cgroup option rw,relatime,"..., 49) = 49
> read(4, "", 1024)                       = 0
> close(3)                                = 0
> munmap(0x7fdd5752a000, 4096)            = 0
> close(4)                                = 0
> munmap(0x7fdd57529000, 4096)            = 0
> open("/proc/mounts", O_RDONLY|O_CLOEXEC) = 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) =
> 0x7fdd5752a000
> read(3, "rootfs / rootfs rw 0 0\nsysfs /sy"..., 1024) = 1024
> read(3, ",fd=13,pgrp=3146,timeout=300,min"..., 1024) = 162
> close(3)                                = 0
> munmap(0x7fdd5752a000, 4096)            = 0
> mkdir("/cgroup", 0775)                  = -1 EEXIST (File exists)
> mkdir("/cgroup/freezer", 0775)          = -1 EEXIST (File exists)
> mkdir("/cgroup/freezer/grp_0", 0775)    = -1 EEXIST (File exists)
> write(1, "Changing ownership of /cgroup/fr"..., 45) = 45
> write(1, "chown: path is /cgroup/freezer/g"..., 38) = 38
> lstat("/cgroup/freezer/grp_0/", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
> write(1, "chown: seeing file /cgroup/freez"..., 42) = 42
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_0/", 0, 0)   = 0
> open("/cgroup/freezer/grp_0/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) =
> 3
> getdents(3, /* 8 entries */, 32768)     = 280
> getdents(3, /* 0 entries */, 32768)     = 0
> close(3)                                = 0
> write(1, "chown: seeing file /cgroup/freez"..., 55) = 55
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_0/freezer.state", 0, 0) = 0
> write(1, "chown: seeing file /cgroup/freez"..., 63) = 63
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_0/cgroup.clone_children", 0, 0) = 0
> write(1, "chown: seeing file /cgroup/freez"..., 62) = 62
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_0/cgroup.event_control", 0, 0) = 0
> write(1, "chown: seeing file /cgroup/freez"..., 59) = 59
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_0/notify_on_release", 0, 0) = 0
> write(1, "chown: seeing file /cgroup/freez"..., 54) = 54
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_0/cgroup.procs", 0, 0) = 0
> write(1, "chown: seeing file /cgroup/freez"..., 47) = 47
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_0/tasks", 0, 0) = 0
> write(1, "chown: seeing file /cgroup/freez"..., 42) = 42
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_0/", 0, 0)   = 0
> write(1, "Warning: fts_read failed\n", 25) = 25
> write(1, "chmod: path is /cgroup/freezer/g"..., 38) = 38
> lstat("/cgroup/freezer/grp_0/", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
> write(1, "chmod: seeing file /cgroup/freez"..., 42) = 42
> open("/cgroup/freezer/grp_0/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) =
> 3
> getdents(3, /* 8 entries */, 32768)     = 280
> getdents(3, /* 0 entries */, 32768)     = 0
> close(3)                                = 0
> write(1, "chmod: seeing file /cgroup/freez"..., 55) = 55
> write(1, "chmod: seeing file /cgroup/freez"..., 63) = 63
> write(1, "chmod: seeing file /cgroup/freez"..., 62) = 62
> write(1, "chmod: seeing file /cgroup/freez"..., 59) = 59
> write(1, "chmod: seeing file /cgroup/freez"..., 54) = 54
> write(1, "chmod: seeing file /cgroup/freez"..., 42) = 42
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_0//tasks", 0, 0) = 0
> open("/proc/mounts", O_RDONLY|O_CLOEXEC) = 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) =
> 0x7fdd5752a000
> read(3, "rootfs / rootfs rw 0 0\nsysfs /sy"..., 1024) = 1024
> read(3, ",fd=13,pgrp=3146,timeout=300,min"..., 1024) = 162
> close(3)                                = 0
> munmap(0x7fdd5752a000, 4096)            = 0
> mkdir("/cgroup", 0775)                  = -1 EEXIST (File exists)
> mkdir("/cgroup/freezer", 0775)          = -1 EEXIST (File exists)
> mkdir("/cgroup/freezer/grp_1", 0775)    = -1 EEXIST (File exists)
> write(1, "Changing ownership of /cgroup/fr"..., 45) = 45
> write(1, "chown: path is /cgroup/freezer/g"..., 38) = 38
> lstat("/cgroup/freezer/grp_1/", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
> write(1, "chown: seeing file /cgroup/freez"..., 42) = 42
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_1/", 0, 0)   = 0
> open("/cgroup/freezer/grp_1/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) =
> 3
> getdents(3, /* 8 entries */, 32768)     = 280
> getdents(3, /* 0 entries */, 32768)     = 0
> close(3)                                = 0
> write(1, "chown: seeing file /cgroup/freez"..., 55) = 55
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_1/freezer.state", 0, 0) = 0
> write(1, "chown: seeing file /cgroup/freez"..., 63) = 63
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_1/cgroup.clone_children", 0, 0) = 0
> write(1, "chown: seeing file /cgroup/freez"..., 62) = 62
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_1/cgroup.event_control", 0, 0) = 0
> write(1, "chown: seeing file /cgroup/freez"..., 59) = 59
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_1/notify_on_release", 0, 0) = 0
> write(1, "chown: seeing file /cgroup/freez"..., 54) = 54
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_1/cgroup.procs", 0, 0) = 0
> write(1, "chown: seeing file /cgroup/freez"..., 47) = 47
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_1/tasks", 0, 0) = 0
> write(1, "chown: seeing file /cgroup/freez"..., 42) = 42
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_1/", 0, 0)   = 0
> write(1, "Warning: fts_read failed\n", 25) = 25
> write(1, "chmod: path is /cgroup/freezer/g"..., 38) = 38
> lstat("/cgroup/freezer/grp_1/", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
> write(1, "chmod: seeing file /cgroup/freez"..., 42) = 42
> open("/cgroup/freezer/grp_1/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) =
> 3
> getdents(3, /* 8 entries */, 32768)     = 280
> getdents(3, /* 0 entries */, 32768)     = 0
> close(3)                                = 0
> write(1, "chmod: seeing file /cgroup/freez"..., 55) = 55
> write(1, "chmod: seeing file /cgroup/freez"..., 63) = 63
> write(1, "chmod: seeing file /cgroup/freez"..., 62) = 62
> write(1, "chmod: seeing file /cgroup/freez"..., 59) = 59
> write(1, "chmod: seeing file /cgroup/freez"..., 54) = 54
> write(1, "chmod: seeing file /cgroup/freez"..., 42) = 42
> getuid()                                = 0
> getgid()                                = 0
> chown("/cgroup/freezer/grp_1//tasks", 0, 0) = 0
> access("/cgroup/cpu/grp_0", F_OK)       = -1 ENOENT (No such file or
> directory)
> access("/cgroup/freezer/grp_0", F_OK)   = 0
> stat("/cgroup/freezer/grp_0//tasks", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> write(2, "Error with cgroup_get_cgroup(gro"..., 87) = 87
> write(2, "Error with cgroup_get_value_stri"..., 118) = 118
> write(1, "FREEZER value group0 : (null)\n", 30) = 30
> nanosleep({2, 0}, NULL)                 = 0
> access("/cgroup/cpu/grp_0", F_OK)       = -1 ENOENT (No such file or
> directory)
> access("/cgroup/freezer/grp_0", F_OK)   = 0
> stat("/cgroup/freezer/grp_0//tasks", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> open("/cgroup/freezer/grp_0/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) =
> 3
> getdents(3, /* 8 entries */, 32768)     = 280
> stat("/cgroup/freezer/grp_0/freezer.state", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> open("/cgroup/freezer/grp_0/freezer.state", O_RDONLY|O_CLOEXEC) = 4
> fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd5752a000
> read(4, "THAWED\n", 4096)               = 7
> read(4, "", 4096)                       = 0
> close(4)                                = 0
> munmap(0x7fdd5752a000, 4096)            = 0
> stat("/cgroup/freezer/grp_0/cgroup.clone_children", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0/cgroup.event_control", {st_mode=S_IFREG|0222,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0/notify_on_release", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0/cgroup.procs", {st_mode=S_IFREG|0644, st_size=0,
> ...}) = 0
> stat("/cgroup/freezer/grp_0/tasks", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> getdents(3, /* 0 entries */, 32768)     = 0
> close(3)                                = 0
> write(1, "FREEZER value group0 : THAWED\n", 30) = 30
> nanosleep({2, 0}, NULL)                 = 0
> access("/cgroup/cpu/grp_0", F_OK)       = -1 ENOENT (No such file or
> directory)
> access("/cgroup/freezer/grp_0", F_OK)   = 0
> stat("/cgroup/freezer/grp_0//tasks", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> write(2, "Error with cgroup_get_cgroup(gro"..., 87) = 87
> write(2, "Error with cgroup_get_value_stri"..., 118) = 118
> write(1, "FREEZER value group0 : (null)\n", 30) = 30
> nanosleep({2, 0}, NULL)                 = 0
> access("/cgroup/cpu/grp_0", F_OK)       = -1 ENOENT (No such file or
> directory)
> access("/cgroup/freezer/grp_0", F_OK)   = 0
> stat("/cgroup/freezer/grp_0//tasks", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> open("/cgroup/freezer/grp_0/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) =
> 3
> getdents(3, /* 8 entries */, 32768)     = 280
> stat("/cgroup/freezer/grp_0/freezer.state", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> open("/cgroup/freezer/grp_0/freezer.state", O_RDONLY|O_CLOEXEC) = 4
> fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd5752a000
> read(4, "THAWED\n", 4096)               = 7
> read(4, "", 4096)                       = 0
> close(4)                                = 0
> munmap(0x7fdd5752a000, 4096)            = 0
> stat("/cgroup/freezer/grp_0/cgroup.clone_children", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0/cgroup.event_control", {st_mode=S_IFREG|0222,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0/notify_on_release", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0/cgroup.procs", {st_mode=S_IFREG|0644, st_size=0,
> ...}) = 0
> stat("/cgroup/freezer/grp_0/tasks", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> getdents(3, /* 0 entries */, 32768)     = 0
> close(3)                                = 0
> write(1, "FREEZER value group0 : THAWED\n", 30) = 30
> nanosleep({2, 0}, NULL)                 = 0
> access("/cgroup/cpu/grp_0", F_OK)       = -1 ENOENT (No such file or
> directory)
> access("/cgroup/freezer/grp_0", F_OK)   = 0
> stat("/cgroup/freezer/grp_0//tasks", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> write(2, "Error with cgroup_get_cgroup(gro"..., 87) = 87
> write(2, "Error with cgroup_get_value_stri"..., 118) = 118
> write(1, "FREEZER value group0 : (null)\n", 30) = 30
> nanosleep({2, 0}, NULL)                 = 0
> access("/cgroup/cpu/grp_0", F_OK)       = -1 ENOENT (No such file or
> directory)
> access("/cgroup/freezer/grp_0", F_OK)   = 0
> stat("/cgroup/freezer/grp_0//tasks", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> open("/cgroup/freezer/grp_0/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) =
> 3
> getdents(3, /* 8 entries */, 32768)     = 280
> stat("/cgroup/freezer/grp_0/freezer.state", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> open("/cgroup/freezer/grp_0/freezer.state", O_RDONLY|O_CLOEXEC) = 4
> fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd5752a000
> read(4, "THAWED\n", 4096)               = 7
> read(4, "", 4096)                       = 0
> close(4)                                = 0
> munmap(0x7fdd5752a000, 4096)            = 0
> stat("/cgroup/freezer/grp_0/cgroup.clone_children", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0/cgroup.event_control", {st_mode=S_IFREG|0222,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0/notify_on_release", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0/cgroup.procs", {st_mode=S_IFREG|0644, st_size=0,
> ...}) = 0
> stat("/cgroup/freezer/grp_0/tasks", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> getdents(3, /* 0 entries */, 32768)     = 0
> close(3)                                = 0
> write(1, "FREEZER value group0 : THAWED\n", 30) = 30
> nanosleep({2, 0}, NULL)                 = 0
> access("/cgroup/cpu/grp_0", F_OK)       = -1 ENOENT (No such file or
> directory)
> access("/cgroup/freezer/grp_0", F_OK)   = 0
> stat("/cgroup/freezer/grp_0//tasks", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> write(2, "Error with cgroup_get_cgroup(gro"..., 87) = 87
> write(2, "Error with cgroup_get_value_stri"..., 118) = 118
> write(1, "FREEZER value group0 : (null)\n", 30) = 30
> nanosleep({2, 0}, NULL)                 = 0
> access("/cgroup/cpu/grp_0", F_OK)       = -1 ENOENT (No such file or
> directory)
> access("/cgroup/freezer/grp_0", F_OK)   = 0
> stat("/cgroup/freezer/grp_0//tasks", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> open("/cgroup/freezer/grp_0/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) =
> 3
> getdents(3, /* 8 entries */, 32768)     = 280
> stat("/cgroup/freezer/grp_0/freezer.state", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> open("/cgroup/freezer/grp_0/freezer.state", O_RDONLY|O_CLOEXEC) = 4
> fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd5752a000
> read(4, "THAWED\n", 4096)               = 7
> read(4, "", 4096)                       = 0
> close(4)                                = 0
> munmap(0x7fdd5752a000, 4096)            = 0
> stat("/cgroup/freezer/grp_0/cgroup.clone_children", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0/cgroup.event_control", {st_mode=S_IFREG|0222,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0/notify_on_release", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0/cgroup.procs", {st_mode=S_IFREG|0644, st_size=0,
> ...}) = 0
> stat("/cgroup/freezer/grp_0/tasks", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> getdents(3, /* 0 entries */, 32768)     = 0
> close(3)                                = 0
> write(1, "FREEZER value group0 : THAWED\n", 30) = 30
> nanosleep({2, 0}, NULL)                 = 0
> access("/cgroup/cpu/grp_0", F_OK)       = -1 ENOENT (No such file or
> directory)
> access("/cgroup/freezer/grp_0", F_OK)   = 0
> stat("/cgroup/freezer/grp_0//tasks", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> write(2, "Error with cgroup_get_cgroup(gro"..., 87) = 87
> write(2, "Error with cgroup_get_value_stri"..., 118) = 118
> write(1, "FREEZER value group0 : (null)\n", 30) = 30
> nanosleep({2, 0}, NULL)                 = 0
> access("/cgroup/cpu/grp_0", F_OK)       = -1 ENOENT (No such file or
> directory)
> access("/cgroup/freezer/grp_0", F_OK)   = 0
> stat("/cgroup/freezer/grp_0//tasks", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> open("/cgroup/freezer/grp_0/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) =
> 3
> getdents(3, /* 8 entries */, 32768)     = 280
> stat("/cgroup/freezer/grp_0/freezer.state", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> open("/cgroup/freezer/grp_0/freezer.state", O_RDONLY|O_CLOEXEC) = 4
> fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd5752a000
> read(4, "THAWED\n", 4096)               = 7
> read(4, "", 4096)                       = 0
> close(4)                                = 0
> munmap(0x7fdd5752a000, 4096)            = 0
> stat("/cgroup/freezer/grp_0/cgroup.clone_children", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0/cgroup.event_control", {st_mode=S_IFREG|0222,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0/notify_on_release", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0/cgroup.procs", {st_mode=S_IFREG|0644, st_size=0,
> ...}) = 0
> stat("/cgroup/freezer/grp_0/tasks", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> getdents(3, /* 0 entries */, 32768)     = 0
> close(3)                                = 0
> write(1, "FREEZER value group0 : THAWED\n", 30) = 30
> nanosleep({2, 0}, NULL)                 = 0
> write(1, "path is /cgroup/freezer/grp_1/\n", 31) = 31
> write(1, "parent's name is /cgroup/freezer"..., 43) = 43
> stat("/cgroup/freezer/grp_1/", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_1//..", {st_mode=S_IFDIR|0755, st_size=0, ...}) =
> 0
> write(1, "group name is grp_1\n", 20)   = 20
> write(1, "parent's group name is .\n", 25) = 25
> open("/cgroup/freezer/.//tasks", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) =
> 3
> write(1, "Removing group freezer:grp_1\n", 29) = 29
> open("/cgroup/freezer/grp_1/tasks", O_RDONLY|O_CLOEXEC) = 4
> fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd5752a000
> read(4, "", 4096)                       = 0
> close(4)                                = 0
> munmap(0x7fdd5752a000, 4096)            = 0
> rmdir("/cgroup/freezer/grp_1/")         = 0
> close(3)                                = 0
> write(1, "path is /cgroup/freezer/grp_0/\n", 31) = 31
> write(1, "parent's name is /cgroup/freezer"..., 43) = 43
> stat("/cgroup/freezer/grp_0/", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
> stat("/cgroup/freezer/grp_0//..", {st_mode=S_IFDIR|0755, st_size=0, ...}) =
> 0
> write(1, "group name is grp_0\n", 20)   = 20
> write(1, "parent's group name is .\n", 25) = 25
> open("/cgroup/freezer/.//tasks", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) =
> 3
> write(1, "Removing group freezer:grp_0\n", 29) = 29
> open("/cgroup/freezer/grp_0/tasks", O_RDONLY|O_CLOEXEC) = 4
> fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd5752a000
> read(4, "", 4096)                       = 0
> close(4)                                = 0
> munmap(0x7fdd5752a000, 4096)            = 0
> rmdir("/cgroup/freezer/grp_0/")         = 0
> close(3)                                = 0
> write(1, "cgroup_config_unload_config: par"..., 53) = 53
> open("./cgconfig.conf", O_RDONLY|O_CLOEXEC) = 3
> brk(0x23ed000)                          = 0x23ed000
> brk(0x243a000)                          = 0x243a000
> fstat(3, {st_mode=S_IFREG|0644, st_size=184, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fdd5752a000
> read(3, "mount {\n#    cpuset = /cgroup/cp"..., 8192) = 184
> read(3, "", 4096)                       = 0
> read(3, "", 8192)                       = 0
> ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff3b481760) = -1 ENOTTY
> (Inappropriate ioctl for device)
> close(3)                                = 0
> munmap(0x7fdd5752a000, 4096)            = 0
> open("/proc/meminfo", 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) =
> 0x7fdd5752a000
> read(3, "MemTotal:       16413660 kB\nMemF"..., 1024) = 1024
> close(3)                                = 0
> munmap(0x7fdd5752a000, 4096)            = 0
> write(1, "unmounting cpu\n", 15)        = 15
> write(1, "path is /\n", 10)             = 10
> stat("/cgroup/cpu/", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
> write(1, "seeing file /cgroup/cpu/\n", 25) = 25
> open("/cgroup/cpu/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
> getdents(3, /* 10 entries */, 32768)    = 344
> stat("/cgroup/cpu/grp_1", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
> stat("/cgroup/cpu/cpu.shares", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> stat("/cgroup/cpu/release_agent", {st_mode=S_IFREG|0644, st_size=0, ...}) =
> 0
> stat("/cgroup/cpu/cgroup.clone_children", {st_mode=S_IFREG|0644, st_size=0,
> ...}) = 0
> stat("/cgroup/cpu/cgroup.event_control", {st_mode=S_IFREG|0222, st_size=0,
> ...}) = 0
> stat("/cgroup/cpu/notify_on_release", {st_mode=S_IFREG|0644, st_size=0,
> ...}) = 0
> stat("/cgroup/cpu/cgroup.procs", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> stat("/cgroup/cpu/tasks", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> getdents(3, /* 0 entries */, 32768)     = 0
> close(3)                                = 0
> write(1, "seeing file /cgroup/cpu/grp_1\n", 30) = 30
> write(1, "won't unmount cpu: hieararchy is"..., 43) = 43
> write(1, "unmounting freezer\n", 19)    = 19
> write(1, "path is /\n", 10)             = 10
> stat("/cgroup/freezer/", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
> write(1, "seeing file /cgroup/freezer/\n", 29) = 29
> open("/cgroup/freezer/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
> getdents(3, /* 8 entries */, 32768)     = 280
> stat("/cgroup/freezer/release_agent", {st_mode=S_IFREG|0644, st_size=0,
> ...}) = 0
> stat("/cgroup/freezer/cgroup.clone_children", {st_mode=S_IFREG|0644,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/cgroup.event_control", {st_mode=S_IFREG|0222,
> st_size=0, ...}) = 0
> stat("/cgroup/freezer/notify_on_release", {st_mode=S_IFREG|0644, st_size=0,
> ...}) = 0
> stat("/cgroup/freezer/cgroup.procs", {st_mode=S_IFREG|0644, st_size=0, ...})
> = 0
> stat("/cgroup/freezer/tasks", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> getdents(3, /* 0 entries */, 32768)     = 0
> close(3)                                = 0
> write(1, "seeing file /cgroup/freezer/rele"..., 42) = 42
> write(1, "seeing file /cgroup/freezer/cgro"..., 50) = 50
> write(1, "seeing file /cgroup/freezer/cgro"..., 49) = 49
> write(1, "seeing file /cgroup/freezer/noti"..., 46) = 46
> write(1, "seeing file /cgroup/freezer/cgro"..., 41) = 41
> write(1, "seeing file /cgroup/freezer/task"..., 34) = 34
> write(1, "seeing file /cgroup/freezer/\n", 29) = 29
> write(1, "unmounting freezer at /cgroup/fr"..., 38) = 38
> umount("/cgroup/freezer", 0)            = -1 EBUSY (Device or resource busy)
> brk(0x23a0000)                          = 0x23a0000
> write(2, "Error with cgroup_config_unload_"..., 76) = 76
> exit_group(1)                           = ?
>
>
> ----
>
> --
> Alexandre LAURENT
>
> 2014-12-16 17:40 GMT+01:00 Balbir Singh <bsinghar...@gmail.com>:
>>
>> I'm afraid I've lost the logs (sorry, forced email cleanup). I
>> remember seeing a rollback action because an action failed. Would you
>> mind resending it?
>>
>> Balbir Singh.
>>
>> On Tue, Dec 16, 2014 at 9:50 PM, Alexandre LAURENT
>> <pro.laurent.alexan...@gmail.com> wrote:
>> > I have continued my investigation about this issue.
>> > On all machines that I have access, with different kernels : 3.2, 3.5.5,
>> > 3.14, I have always the same issue.
>> > I am trying to run the tests available in libcgroups 0.41. TEST17 from
>> > second pass and TEST25 from third pass are always failing. These tests
>> > are
>> > related to cgroup_get_cgroup().
>> >
>> > Can you reproduce and investigate on this, please ?
>> >
>> > Best regards,
>> >
>> >
>> > 2014-12-09 17:21 GMT+01:00 Alexandre LAURENT
>> > <pro.laurent.alexan...@gmail.com>:
>> >>
>> >> Hello,
>> >>
>> >> I am attaching the strace from my program.
>> >> This segment appears when I am calling cgroup_get_cgroup() :
>> >>
>> >> access("/cgroup/freezer/grp_1", F_OK)   = 0
>> >> stat("/cgroup/freezer/grp_1//tasks", {st_mode=S_IFREG|0644, st_size=0,
>> >> ...}) = 0
>> >> gettid()                                = 18300
>> >> write(2, "E1209 16:57:17.328337 18300 cgro"..., 108) = 108
>> >>
>> >> (gettid() and write() calls are coming from my logger.)
>> >>
>> >> Thanks for your help,
>> >>
>> >>
>> >>
>> >> 2014-12-08 18:52 GMT+01:00 Balbir Singh <bsinghar...@gmail.com>:
>> >>>
>> >>> Thanks.. we need the strace logs for the run
>> >>>
>> >>> Balbir Singh.
>> >>>
>> >>> On Mon, Dec 8, 2014 at 10:34 PM, Alexandre LAURENT
>> >>> <pro.laurent.alexan...@gmail.com> wrote:
>> >>> > As far as I know, yes, it is compiled. Memory controller is normally
>> >>> > mounted
>> >>> > in /cgroup/ and all files are present.
>> >>> > Here my kernel config :
>> >>> >
>> >>> > CONFIG_CGROUPS=y
>> >>> > # CONFIG_CGROUP_DEBUG is not set
>> >>> > CONFIG_CGROUP_FREEZER=y
>> >>> > CONFIG_CGROUP_DEVICE=y
>> >>> > CONFIG_CGROUP_CPUACCT=y
>> >>> > CONFIG_CGROUP_MEM_RES_CTLR=y
>> >>> > CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
>> >>> > # CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED is not set
>> >>> > CONFIG_CGROUP_PERF=y
>> >>> > CONFIG_CGROUP_SCHED=y
>> >>> > CONFIG_BLK_CGROUP=y
>> >>> > # CONFIG_DEBUG_BLK_CGROUP is not set
>> >>> > CONFIG_NET_CLS_CGROUP=y
>> >>> >
>> >>> > If I disable memory controller everything will work fine with all
>> >>> > other
>> >>> > controllers. But, when enabling again memory controller, I have
>> >>> > problems
>> >>> > getting some files like freezer.state or memory.failctn. I guess
>> >>> > this
>> >>> > is
>> >>> > because of the failure of cgroup_get_cgroup().
>> >>> >
>> >>> > Am I missing something ?
>> >>> >
>> >>> > Best regards,
>> >>> >
>> >>> >
>> >>> > 2014-12-08 11:32 GMT+01:00 Balbir Singh <bsinghar...@gmail.com>:
>> >>> >>
>> >>> >> On Mon, Dec 8, 2014 at 3:52 PM, Alexandre LAURENT
>> >>> >> <pro.laurent.alexan...@gmail.com> wrote:
>> >>> >> > Hello,
>> >>> >> >
>> >>> >> > I am using libcg 0.41 and Linux Kernel 3.2.0.4 (AMD 64) on Debian
>> >>> >> > 7.
>> >>> >> > When I am using memory controller (and some others) through the
>> >>> >> > following
>> >>> >> > config file :
>> >>> >> > ---
>> >>> >> > mount {
>> >>> >> >     cpu = /cgroup/cpu;
>> >>> >> >     freezer = /cgroup/freezer;
>> >>> >> >     net_cls = /cgroup/net_cls;
>> >>> >> >     blkio = /cgroup/blkio;
>> >>> >> >     memory = /cgroup/memory;
>> >>> >> > }
>> >>> >> > ---
>> >>> >> >
>> >>> >> > the cgroup_get_cgroup() function is returning an error "Cgroup
>> >>> >> > invalid
>> >>> >> > operation".
>> >>> >> > The error seems to be emitted from cgroup_add_controller() which
>> >>> >> > will
>> >>> >> > return on this case :
>> >>> >> > /*
>> >>> >> >  * Still not sure how to handle the failure here.
>> >>> >> >  */
>> >>> >> > for (i = 0; i < cgroup->index; i++) {
>> >>> >> >     if (strncmp(name, cgroup->controller[i]->name,
>> >>> >> >             sizeof(cgroup->controller[i]->name)) == 0)
>> >>> >> >     {
>> >>> >> >         return NULL;
>> >>> >> >     }
>> >>> >> > }
>> >>> >> >
>> >>> >> >
>> >>> >> > When commenting the memory controller line, the error disappear.
>> >>> >> > I have also tried to output all debug messages available in
>> >>> >> > libcg,
>> >>> >> > but
>> >>> >> > none
>> >>> >> > of these seems related to this issue.
>> >>> >> >
>> >>> >> > What can cause this issue ?
>> >>> >>
>> >>> >> Is memory cgroup compiled?
>> >>> >>
>> >>> >> Balbir Singh.
>> >>> >
>> >>> >
>> >>
>> >>
>> >

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
Libcg-devel mailing list
Libcg-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libcg-devel

Reply via email to