Dear all, may one confirm, that the issue is triggered at cg_hybrid_get_controllers(), line 733ff? Caused by the hard code assumption that the V1 cgroups are always mounted as /sys/fs/cgroup and the rough code below (skipping 15 chars).
Well, I'll try to patch it tomorrow in the same, simple manner: by replacing the constants by "/cgroup"<-"/sys/fs/cgroup/" and '7'<-'15' ... And "yes" - the enduring way is to change "my" cgroup v1 mountpoint to the "official one" at /sys/fs/cgroup"! But in conjunction with this, I have to check if I may use either a symlink to provide a legacy fallback or otherwise to change a bunch of scripts. Greetings Guido 707 /* Get the controllers from a mountinfo line There are other ways we could get 708 * this info. For lxcfs, field 3 is /cgroup/controller-list. For cgroupfs, we 709 * could parse the mount options. But we simply assume that the mountpoint must 710 * be /sys/fs/cgroup/controller-list 711 */ 712 static char **cg_hybrid_get_controllers(char **klist, char **nlist, char *line, 713 int type) 714 { 715 /* The fourth field is /sys/fs/cgroup/comma-delimited-controller-list 716 * for legacy hierarchies. 717 */ 718 int i; 719 char *p2, *tok; 720 char *p = line, *sep = ","; 721 char **aret = NULL; 722 723 for (i = 0; i < 4; i++) { 724 p = strchr(p, ' '); 725 if (!p) 726 return NULL; 727 p++; 728 } 729 730 /* Note, if we change how mountinfo works, then our caller will need to 731 * verify /sys/fs/cgroup/ in this field. 732 */ 733 if (strncmp(p, "/sys/fs/cgroup/", 15) != 0) { 734 ERROR("Found hierarchy not under /sys/fs/cgroup: \"%s\"", p); 735 return NULL; 736 } 737 738 p += 15; 739 p2 = strchr(p, ' '); 740 if (!p2) { 741 ERROR("Corrupt mountinfo"); 742 return NULL; 743 } 744 *p2 = '\0'; [...] >-----Original Message----- >From: lxc-users [mailto:lxc-users-boun...@lists.linuxcontainers.org] On Behalf >Of Jäkel, Guido >Sent: Thursday, August 15, 2019 3:13 PM >To: 'LXC users mailing-list' <lxc-users@lists.linuxcontainers.org> >Subject: [lxc-users] LXC 3.2.1 ./. CGroups v1 > >Dear all, > >Using LXC in my Gentoo environment for years (since 0.8.4) and currently using >V2.1.1 in Production, I'm just evaluating LXC >3.2.1. > >I'm still using CGroups V1 with all available controllers mounted on /cgroups >and /cgroups/lxc as a parent group. Until yet, >this works well. But with V3.2.1, there's an issue starting with writing the >setup to the device cgroup. > >Below, you'll find the respective log output at trace level. > >The cgroup feature itself is working: There are device.* directory items below >/cgroup, /cgroup/lxc and -- if I mkdir such -- >/cgroup/lxc/foo , also. If I'm using the same configuration files, root image, >kernel etc. but with a LXC 2.1.1 starter, all >works well and the container will start up. > >Any hint's what's going wrong here and how to fix it? > > >Thank you in advance > >Guido > > >[...] >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_basecg_debuginfo:1018 - basecginfo is: >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_basecg_debuginfo:1019 - >2:cpuset,cpu,cpuacct,blkio,memory,devices,freezer,net_cls,perf_event,net_prio,pids:/ >1:name=openrc:/ >0::/ > >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_basecg_debuginfo:1022 - kernel >subsystem 0: cpuset >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_basecg_debuginfo:1022 - kernel >subsystem 1: cpu >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_basecg_debuginfo:1022 - kernel >subsystem 2: cpuacct >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_basecg_debuginfo:1022 - kernel >subsystem 3: blkio >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_basecg_debuginfo:1022 - kernel >subsystem 4: memory >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_basecg_debuginfo:1022 - kernel >subsystem 5: devices >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_basecg_debuginfo:1022 - kernel >subsystem 6: freezer >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_basecg_debuginfo:1022 - kernel >subsystem 7: net_cls >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_basecg_debuginfo:1022 - kernel >subsystem 8: perf_event >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_basecg_debuginfo:1022 - kernel >subsystem 9: net_prio >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_basecg_debuginfo:1022 - kernel >subsystem 10: pids >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_basecg_debuginfo:1022 - kernel >subsystem 11: cgroup2 >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_basecg_debuginfo:1025 - named >subsystem 0: name=openrc >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:cg_hybrid_init:2563 - No controllers are enabled for >delegation in the unified hierarchy >lxc-start evalfly6 20190815111414.815 ERROR cgfsng - >cgroups/cgfsng.c:cg_hybrid_get_controllers:734 - Found hierarchy not >under /sys/fs/cgroup: "/cgroup rw,relatime - cgroup cgroup >rw,cpuset,cpu,cpuacct,blkio,memory,devices,freezer,net_cls,perf_event,> >" >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:cg_hybrid_init:2589 - Writable cgroup hierarchies: >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_hierarchies:999 - Hierarchies: >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_hierarchies:1004 - 0: base_cgroup: / >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_hierarchies:1005 - mountpoint: >/sys/fs/cgroup/openrc >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_hierarchies:1006 - controllers: >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_hierarchies:1008 - 0: >name=openrc >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_hierarchies:1004 - 1: base_cgroup: / >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_hierarchies:1005 - mountpoint: >/sys/fs/cgroup/unified >lxc-start evalfly6 20190815111414.815 TRACE cgfsng - >cgroups/cgfsng.c:lxc_cgfsng_print_hierarchies:1006 - controllers: >lxc-start evalfly6 20190815111414.815 TRACE cgroup - >cgroups/cgroup.c:cgroup_init:61 - Initialized cgroup driver cgfsng >lxc-start evalfly6 20190815111414.815 TRACE cgroup - >cgroups/cgroup.c:cgroup_init:66 - Running with hybrid cgroup layout >[...] >lxc-start evalfly6 20190815111414.912 NOTICE conf - conf.c:lxc_setup:3751 - >The container "evalfly6" is set up >lxc-start evalfly6 20190815111414.955 WARN cgfsng - >cgroups/cgfsng.c:get_hierarchy:205 - There is no useable devices >controller >lxc-start evalfly6 20190815111414.955 ERROR cgfsng - >cgroups/cgfsng.c:cg_legacy_set_data:2301 - Failed to setup limits for >the "devices" controller. The controller seems to be unused by "cgfsng" cgroup >driver or not enabled on the cgroup hierarchy >lxc-start evalfly6 20190815111414.955 WARN cgfsng - >cgroups/cgfsng.c:__cg_legacy_setup_limits:2341 - Failed to set >"devices.deny" to "a" >lxc-start evalfly6 20190815111414.955 ERROR start - start.c:lxc_spawn:1883 >- Failed to setup legacy device cgroup controller >limits > > > >Grüße > >Guido > > >_______________________________________________ >lxc-users mailing list >lxc-users@lists.linuxcontainers.org >http://lists.linuxcontainers.org/listinfo/lxc-users _______________________________________________ lxc-users mailing list lxc-users@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-users