/srv/irclogs.ubuntu.com/2014/07/11/#ubuntu-devel.txt

hallyndesrt: they're like the NSA, they track you00:13
desrtya... i get the general gist of the thing... but i have no idea why it has to be so complicated00:13
desrtwith different cgroups for all different things plus this pseudofs to track it all...00:14
stgraberhallyn: you mean enabled == 0 right? the paste you gave me shows num_cgroups == 1 for all of them00:38
hallynyeah00:42
hallyndesrt: ack02:05
hallynstgraber: http://paste.ubuntu.com/7778221/   if a package installs real init and upstart scripts, upstart will DTRT and ignore the sysv scripts, rigth?  (seems to be working here)  I usually see sysvinit *wrapper*s cripts and had expected the package to only install the upstart scripts...02:13
hallynbut I guess qemu-system-x86 also has a real sysv script, so must be ok02:13
hallynanyway i'm thinking of pushing that to utopic so if you see any problems with that pls shout02:13
desrthallyn: one more big btw: g_error() terminates the calling process :)02:14
desrtit's quite strange to see free() calls after this :)02:15
=== ikonia is now known as Guest70019
=== kgunn is now known as Guest2511
=== hyperair is now known as Guest84654
=== neunon is now known as Guest28427
stgraberhallyn: yes, it'll do the right thing02:26
hallyncool, thx, will probabablyh push to utopic tonight then02:32
hallyndesrt: wtf?  g_critical terminating the process makes sense.  g_error?  it's just an error...  so waht's the recommended way to just log something?02:33
hallynall tests still pass both on host and in container.  pushing02:43
=== _salem is now known as salem_
desrthallyn: g_warning02:44
desrthallyn: btw... UserUnit has slice_path (char*), which it passes to cgmanager_create_all, which is expecting a ScopeUnit*02:45
hallyndesrt: i could be mixing the terms up in my head, but i swear when i looked at a gnome page this morning it said g_critical and g_warning could both end the program02:45
desrtthat's obviously not right... but it's also not clear what is the correct thing to do here02:46
desrthallyn: they can, but typically don't02:46
hallynhm, that sounds like something i fixed this morning02:46
desrtyou can set G_DEBUG=fatal-criticals or fatal-warnings02:46
hallyn(the ScopeUnit pasing)02:46
* hallyn checks02:46
desrtbut in general: g_error > g_critical > g_warning > g_message > d_debug02:47
desrtg_error = fatal, always02:47
desrtg_critical = you made a programmer error and it's somewhat likely that your internal state was compromised02:47
desrtg_warning = something bad happened, but it may not have been the programmer's fault02:47
hallyndesrt: oh, the .h file doesnt' match the .c, that's all :)02:47
desrtg_message = fyi02:47
hallyni had updated cgmanager.c and scope-unit.c02:47
desrthallyn: awesome...02:47
hallyni wont' fix it now since i assume you ahve a buttload of other fixes02:48
desrtscope-unit has the wrong code, though....02:48
hallynand wouldnt' want to merge those02:48
hallynwhy?02:48
hallyn  cgmanager_create_all(pu);02:48
desrtsorry... user-unit02:48
desrtmy eyes are starting to cross from the scope/service/slice terms :)02:48
hallynoh.  feh.02:48
desrtmost importantly: what pids would i pass here?02:49
desrtnone?02:49
hallynin cgmanager_create_all?02:49
desrtyes02:49
desrtthis API looks a bit different now...02:49
hallynthe pids which we pulled out of the StartTransientUnit msg, i.e. what logind sent us02:49
hallyncame as a a(sv) where v was a ai02:50
hallynuh, au02:50
hallyneach u is a pid to be moved;  but again there's only ever 1 afaict02:50
desrtokay02:50
desrtso the properties handling should be done for both types of units, then02:50
desrtright now you're only doing it for the one...02:51
hallynregarding naming - blah i completely agree, i was trying ot make sense of the names being used by systemd, but still don't fully understand02:51
hallyni guess a scope limits all of a user's sessions;02:51
hallyna session describes a sesssion, and there' sa slice for each session;  a service is i think something that doesn't make sense for non-systemd to do02:51
hallynright, i'm doing it for the one pid02:51
hallynso, the user-unit proably should just do something different, or nothing at all02:52
hallynit depends on whether a scope will soemtimes come with a slice;  if so, then we'll need another function in cgmanager.c to create the cgroups for it (and pass it the UserUnit)02:53
desrtfwiw, here's how things are shaping up: http://ur1.ca/hq27o02:54
desrti'm not exactly sure how you want the error handling to look here....02:54
desrtlike, if we fail to move one pid, do we fail the entire operation?02:54
desrtdo we try to do back-out?02:54
desrtor do we just assume that the rest will be OK and continue?02:54
hallyni think we log and continue02:55
hallynthen at least user has a chance to see that something went wrong02:55
desrtk.  that's what i'm doing.02:55
desrtit also speeds things up: we can issue all the async calls pipelined02:55
desrtno need to wait for the replies02:55
hallyncool02:56
hallynwhere are you intending to open the connection to cgmanager?  around each create_all/remove_all?02:57
desrtno.  only once ever.02:57
hallyn(actually we should probably just drop remove_all)02:57
desrti store it in a static02:57
hallynif cgmanger restarts, will the connection auto-reestablish?02:57
desrtsee the (buggy) 'initialised' code02:57
desrtno.02:57
desrtthat can probably be fixed02:58
desrtbut it raises an interesting question: what if we try to connect to it for the first time while it is mid-restart?02:58
hallynoh, i see now, i glossed over the _call before02:58
desrtshould we keep trying each time we get a new request and spam on g_warning() each time?02:58
desrtthe idea that this thing could restart under us is slightly horrifying....02:59
* desrt <- hates races, no matter how theoretical02:59
hallyntrue.  if it were going to stick aroudn longer term we might consider re-exec upstart-style02:59
hallynbut i do hope cgmanger becomes a relic soon.  meaning systemd starts to offer what we need.03:00
desrtwell the good news is that systemd-shim auto-exits...03:00
hallynoh, to answer, yeah;  i thin krestart and spam warnings03:00
hallynnothing wrong with spam warnings, if bad things are in fact happening03:00
hallynauto-exits?03:00
desrtya03:00
desrtafter a period of inactivity03:00
desrtit's stateless03:01
desrtso why hang around?03:01
hallynoh, good.  and how the heck does it get started!03:01
desrtdbus activation03:01
hallyni think you mean, magic03:01
desrt:)03:01
desrtdbus activation is really very nice.... arguably the best part about dbus, in fact03:01
desrtyou just send a message to the service...03:01
desrtif it's there... great03:01
desrtif not -- it will be :)03:01
desrtand it's all race-free03:02
sarnoldahhh, memories of inetd <303:02
desrtya.  more or less...03:02
hallynyou say race-free,03:02
desrtwell, actually03:02
desrtthere's one teensy tiny race03:02
desrtbut i'm the only one who ever noticed it.....03:02
desrtand nobody else seems to care03:02
hallyni say 'threading with nih-dbus seems to break'03:02
desrtbut it is fixed with kdbus, at least03:03
desrtlibdus-1 is a single-thread library as far as i'm concerned...03:03
desrtthere are some nominal attempts at thread safety inside of it, but they didn't make it far enough .... and no real testing03:03
hallynyeah, i read some of the history on it :(03:04
desrtgdbus on the other hand is a multithread monster03:04
desrtthis is some seriously awesome example of how to handle threading properly03:04
desrt....and the trouble that you can get naive programmers into when you do so03:04
desrtturns out because of it's "threads are awesome" approach, there are some things that 'just work' in dbus-1 that are much harder in gdbus :(03:04
desrtclassic example is registering object paths after successfully acquiring a bus name03:05
desrtin dbus-1 world this is perfectly logical, and there is no race: you don't return to the mainloop to process the incoming message queue until after the object is already registered from the same thread03:06
desrtin gdbus you have trouble: another thread is already processing the incoming messages before you have a chance to register your objects03:06
desrtsometimes stupid is better......03:06
hallyncomplexity is complex03:07
* hallyn wonders how long until we're talkign about capabilities, esp since sarnold is around03:07
desrtlinux style "capabilities" are evil :(03:08
hallynitym POSIX :)03:08
desrtnope03:09
desrtfortunately, there was never agreement about this stuff at POSIX03:09
sarnolditym posix-draft  :)03:09
desrt(not for lack of trying....)03:09
hallyneh03:09
hallynwell, as maintainer of capabilitiesin the kernel, when something appropriate comes along i'll ack the patch removing posix caps :)03:09
hallynwe'll see when that happens03:09
desrtgive me seccomp or give me death :)03:09
hallynpeopel are always trying.  but the alternative is always worse03:10
* hallyn points to lxc WE GOT SECCOMP :)03:10
* desrt <3 capsicum03:10
hallynah, but it attaches capabilities to fds :)03:10
hallynbut yes i'm attracted to capsicum03:10
desrti wonder if you've seen memfd ;)03:10
sarnoldhallyn: man who did you upset to get stuck with maintaining caps in the kernel? :)03:10
hallynsarnold: amorgan03:11
desrtwe have these new things called "seals" that you can apply to fds now, via fcntl03:11
desrtintroduce a few more seals, mix in some seccomp, and we more or less have capsicum :)03:11
hallynyeah there are presentations coming on capsicum in linux, i'm hopeful03:12
desrtthat would be such a win03:12
hallynwell, we'll see whether people end up able to use them properly.  but again i'm hopeful03:12
=== Ursinha is now known as Ursinha-afk
hallynslangasek: ok so i just pushed a new cgmanager (_0.26-0ubuntu6) to utopic which has the sysvinit scripts so should be usable for debian.  There is an existing ITP with an old version by dba with very different packaging.  Is there a protocol for, i dunno, replacing/updating the ITP with the utopic version or something close to it, for jessie?03:16
slangasekhallyn: the protocol is that you ask me to upload it; ITPs are advisory locks only03:19
desrthallyn: so did that file look OK to you?03:20
desrtfwiw, i'm having trouble telling the difference between scope unit and user unit if they both take the same transient parameters03:21
desrtseems that they only used a different scheme for cooking up the path....03:21
desrt/user/%d.user/c%d.session vs. /user/%d.user03:22
desrtwhich raises another question: can we create the session one without having first created the user one?03:22
=== Ursinha-afk is now known as Ursinha
hallynslangasek: oh - in that case i'll do a bunch more testing and get back to you thx :)03:24
hallyndesrt: so yes, we *can* (and do bc of the bug you found in the user_scope) create teh session one without the user one,03:25
desrtwhat happens if we come along and create the other one later?03:25
hallyndesrt: and since we currently don't do actual cgroup configuration, it'll be no different for now;03:25
desrtretroactive containment?03:25
hallynnothing;  it' sjust an mkdir in the cgroupfs returning EEXIST03:26
hallynbut i think it's possible for the /usr/%d.user one to have some basic containment,03:26
hallynwhich all sessions shoudl be subject to.03:26
hallynso at some point we'll want to have both properly handled;03:26
hallynbut i've mainly looked at the session code so i'm guessing;  lemme look at the logind code for the user scopes03:27
hallynthat is, the /user/%d.user cgroups03:27
hallynok, i dont' see any code in systemd doing anything like it though03:29
hallyndesrt: so if you wanted to just remove the user-unit.c altogether (for now) it might be just as well03:32
desrtwell03:32
hallynif systemd/logind every does slice configuration of /usr/%d.user then we can add it03:32
desrti think that maybe we should have a new type of cgroup unit or something03:32
desrtsince these two different types are really very similar03:32
desrtthe only annoying bit is the way the Slice property is handled...03:33
hallynreally i'm in no way attached to how i structured any of it - it fell out from how i discovered what the logidn protocol was doing03:33
hallynwhat's wrong with how the Slice property is handled?03:34
=== salem_ is now known as _salem
hallynslangasek: all right if we're going for itp then perhaps a new upstream cgmanager release is in order03:44
slangasekas you wish :)03:45
* desrt tries sleep for a bit03:56
desrthopefully i will be better equipped to figure out some better way of dealing with *.scope and *.slice without special cases in the morning :)03:57
pittiGood morning04:17
pittibdmurray: yes, I'll have a look04:17
pittibdmurray: MP> cool, thanks!04:20
pittistgraber: hm, that lxc autopkgtest regression looks "real" (deluser: The user `usernic-user' does not exist.), but the same version succeeded before04:29
pittistgraber: could that be due to the new cgmanager?04:29
pitti(that's at least what britney is holding back)04:30
pittiah, cgmanager itself is failing, too04:30
hallyncgmanager tests are passing for me locally;  where is it failing?  also 'deluser usernic-user' should only happen at end of tests, after we've purposely created it...04:32
pittihallyn: you shold have gotten a mail about it, didn't you?04:32
pittihttps://jenkins.qa.ubuntu.com/job/utopic-adt-cgmanager/25/ARCH=i386,label=adt/console04:32
pittitest 14 failed04:33
pittiit's not very verbose why it fails unfortunately04:33
hallynpitti: do those tests not get run in ppas?04:34
pittihallyn: we have one or two manual autopkgtest jobs for PPAs (firefox), but not in general, no04:35
hallynpitti: can you re-fire the tests somehow?04:36
pittihallyn: yes, I can, if that was a transient failure04:36
pittihallyn: running04:37
hallyni'm hoping - bc liek i say i can't reproduce locally.  i coudl also just push the 0.27-0ubuntu1 version (which is basically identical and i was going to push anyway)...04:37
hallyni'm testing both on vm and in container in same vm...04:37
pittiI also restarted LXC, just to confirm04:37
hallyni did at one point notice a weird error msg (an hour or two ago) about apport failing to upgrade, bad sysvinit script;04:38
hallynpitti: i'm still afraid i may have done something bad with the sysvinit scripts for cgmanager...  would you mind taking a quick look at debian/*init and debian/rules (which i did not chnage) in the failed cgmanager version?04:40
hallynoh, here:04:40
hallynupdate-rc.d: warning: default stop runlevel arguments (0 1 6) do not match apport Default-Stop values (none)04:40
pittierr, apport? curious04:41
hallynoh, is that complaining about the upstart.vs.sysvinit stop values?04:41
hallynit's stop on runlevel [!2345] in upstart, no stop values in sysv04:42
pittihallyn: no, that's usually a complaint that your init.d LSB header has different stop levels than the update-rc.d call in postinst04:43
hallynoh04:43
pittihallyn: which init.d script is that?04:43
hallyn/etc/init.d/apport ?04:43
pittihallyn: ah, I thought we are still talking about cgmanager (as you wanted me to have a look there)04:44
hallynheh, sorry.  yeah it's just coincidence04:44
hallynwell i suppose it caught my eye bc it came up while i was tryign out the cgmanager sysvinit script patch04:45
pittihallyn: right, thanks; I'll fix that04:45
hallyncool04:45
pitti(it's just a warning though)04:46
pittihallyn: cgmanager failed again04:46
hallynhm.  and lxc?04:48
pittistill running04:48
pittiFAIL: lxc-tests: /usr/bin/lxc-test-unpriv04:48
pitti---04:48
pitti/usr/sbin/deluser: The user `lxcunpriv' does not exist.04:48
pittihallyn: but it's already past that, so will fail again04:48
pittiso, same error04:49
pittithat doesn't sound like cgmanager, but it also doesn't look like a flaky test04:49
hallynwhat is the testbed here?04:49
pittibut there's a lot of stuff in -proposed04:49
hallynruns in a container?04:49
pittihallyn: QEMU04:49
pitti(http://packaging.ubuntu.com/html/auto-pkg-test.html#executing-the-test)04:50
* pitti runs cgmanager locally04:51
* hallyn sets up an environment04:52
hallynbah - 'booting vm to run cloud-init' :)04:54
pittihallyn: well, yes -- anything wrong with that?04:54
pittithese VMs use the cloud images, so they might as well use its setup machinery04:54
hallynpitti: only that they're not using lxc for the basic setup :)  i'm on a rather slow temp laptop04:55
pittihallyn: oh, you can of course also run them in LXC04:55
hallynyeah but i don't want any delta from what's ahppening in archive04:56
hallynso i'll take the hit04:56
pittihallyn: so it succeeded locally here04:56
hallynwith proposed enabled?04:56
pittithe test 14 doesn't say what it failed on, so hard to say04:56
pittiyes04:56
hallynhm.04:57
pittiadt-run --apt-pocket=proposed -U cgmanager --- qemu /home/martin-scratch/adt-utopic-amd64-cloud.img04:57
hallynwell i coudl push a version with more verbosity in test 1404:57
hallyncould the base test image be bad on the tester?04:57
pittiso this could be dependent on system load, or time zone, or whatever04:57
hallynsystem load is plausible04:57
pittihallyn: it's working fairly well for other tests, and it failed the same way 4 times now (on different machines)04:58
hallynbut do those machines use shared (ceph) storage to store the canonical image?04:58
pittino, it's just a normal local ext404:59
hallynwell scratch that idea then04:59
pittihallyn: do you have VPN set up?04:59
hallynno04:59
hallynhalp - the OS a chance to collect more entropy! (Need 187 more bytes)05:00
pittihm, we install haveged into the VMs, where do you see this?05:01
hallynrunning adt-run on my laptop05:01
hallynfinally got past it05:01
pittioh, for adt-run key creation05:01
pittiI should fix that to only run if you want to run local binaries05:02
hallynhm, fails on05:12
hallynErrors were encountered while processing: rsync05:12
pittihallyn: sorry, missed your reply; rsync where? on package install?05:29
hallynright, during setup i guess05:32
hallyni was doing adt-run --apt-pocket=proposed -U cgmanager --- qemu ~/adt-utopic-amd64-cloud.img05:32
hallynpitti: so it never got to actual cgmanager test running05:32
pittii. e. the rsync package failed to install? (do you have a log?)05:32
pittithat worked here05:33
pittihallyn: so if you tell me how to squeeze more info out of test14, I'm happy to run it on the CI machine05:34
pitti(set -x or something?)05:34
hallynpitti: no, sorry i killed the term05:34
hallynpitti: oh i was just going to add some echos to show which 'exit 1' was happening05:34
pittior that; set -x is quite nice for tests which don't use shunit or something else with verbose failures05:35
hallyni've got a hunch that it's exiting bc Remove xxx is succeeding when xxx/b exists, and it shouldn't05:35
hallynexcept if that happens there it hsould happen for us05:35
hallynpitti: there's not some weird environment where the test run with -e right?  (exiting on command failure?)05:35
pittihallyn: your test script determines that05:36
hallynpitti: ok my test script doesnt' set it05:36
pittihallyn: i. e. if it's doing set -e or #!/bin/sh -e05:36
pittiTBH I consider set -e pretty much a must for every shell script05:36
pittihallyn: but anyway, if your debian/tests/foo doesn't use it, it won't be implied from anywhere; there's on magic /bin/sh in the testbed05:37
pittihallyn: so if your autopkgtest has allow-stderr, it's probably simplest to just add set -x05:37
hallynpitti: yeah if you can run with -x that'd be great05:37
hallynallow-stderr?  dunno stgraber hooked that up,05:38
* hallyn checks05:38
hallynyeah it's set05:38
pittihallyn: oh, debian/tests/exercise does have set -eu05:39
pittiso it's well behaved05:39
pittihallyn: so runtests.sh is indeed run under dash and -e05:39
pittias debian/tests/exercise sources it, not execute05:39
hallynpitti: oh.  well then i don't see how it ever passed.  bc it does things like05:40
hallyncmd \n  if [ $? -eq 0 ]; then fail; fi05:40
pittihallyn: hm, I don't think we are looking at the same script05:41
pittigrep eq tests/runtests.sh -> no hit05:41
pittioh, that's running test/*.sh05:41
hallyndbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock --type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.Remove string:'memory' string:"xxx" int32:0 > /dev/null 2>&105:41
hallynif [ $? -eq 0 ]; then exit 105:41
pittihallyn: right, ok; so runtests.sh runs with set -e, but it execs tests/test*.sh which don't05:41
hallynoh, ok05:42
hallynphew.  not that running with -e woudl bother me, but i just wouldn't have understood hwo it ever passed before05:42
hallynso if you could just run with -x maybe we can figure it out05:42
hallynthough i'm about to head to bed05:42
pittihallyn: yes, doing now05:43
pittihallyn: I can mail you the output05:43
pittihallyn: I'll reply to the jenkins failure mail05:44
hallynpitti: thanks!05:46
pittihallyn: sent05:55
hallynpitti: just reproduced it on jessie container.  looks like it's a real bug05:58
hallynbut i don't undestand it.  well, hopefully tomorrow - gnight05:59
hallynoh ffs.  no.  NO!  ti stopped reproducing.  this is ridiculous06:00
=== doko_ is now known as doko
pittihallyn: could perhaps be because the DC is running trusty's qemu?06:25
FourDollarsHi, who is willing to sponsor my patch for https://bugs.launchpad.net/gnome-desktop/+bug/1340544?06:49
ubottuUbuntu bug 1340544 in gnome-desktop3 (Ubuntu) "gnome-rr: The minimum brightness can not be 0." [Undecided,New]06:49
dokoseb128, Laney: do you know http://www.infinality.net/blog/infinality-freetype-patches/ ?07:09
seb128doko, no, why?07:10
seb128doko, but slangasek is the freetype maintainer07:10
dokoheh07:10
Whoopiepitti: Hi, thanks for applying my patch for LP 1299975? Can you also sponsor the upload to trusty?07:39
ubottuLaunchpad bug 1299975 in pm-utils (Ubuntu Trusty) "wireless script checks wrong sys file" [Undecided,Fix committed] https://launchpad.net/bugs/129997507:39
Whoopiepitti: sorry, found it in https://launchpad.net/ubuntu/trusty/+queue?queue_state=1&queue_text=07:41
Whoopiepitti: Thanks!!!07:41
Saviqxnox, hey, should a Architecture: all package have Multi-Arch: foreign? like suru-icon-theme?07:43
pittiWhoopie: yw; mvo sponsored it to trusty yesterday07:59
xnoxSaviq: yes, see e.g. ttf-ubuntu-font-family08:38
xnoxSaviq: there is an open dpkg feature request to treat transitive arch:all packages as m-a:foreign but there are concerns if that's actually always correct to do.08:39
Saviqxnox, mhm, got it08:39
Saviqxnox, can you please have a look at https://code.launchpad.net/~saviq/ubuntu-themes/fix-multiarch/+merge/22641808:46
xnoxSaviq: i wonder if I should try silo release that straight away.08:48
Saviqxnox, you mean bypassing silos? be my guest08:48
xnoxSaviq: nah, as in me assigning the silo and doing it.08:49
Saviqxnox, yeah lets08:49
Saviq'08:49
Saviqxnox, lemme add a line08:49
Saviqugh if only gdocs wouldn't log me out all the time08:50
seb128Saviq, wait08:50
Saviqoupf08:50
* Saviq waiting08:51
seb128Saviq, if you do a themes landing, we might want to include some bugfixes ... can you give me some minutes to check that?08:51
Saviqseb128, sure08:51
seb128Saviq, or do you prefer to do separate landings?08:51
Saviqseb128, is fine08:51
Saviqseb128, lemme know08:51
xnoxseb128: i'd prefer separate. It's a packaging change only, which unblocks cross-building.08:51
xnoxseb128: no theme changes at all, thus not blocked on testing that =)08:51
Saviqshould be a quick one, too08:52
Saviqyou guys decide :)08:52
seb128xnox, it's not like theme bugfixes need lot of testing08:52
seb128xnox, that's gtk themes, so desktop only08:52
xnoxseb128: hm, there are a bunch approved. It's not desktop only, there are suru icons as well.08:53
seb128xnox, we don't need to list them all08:53
xnox~mhr3/ubuntu-themes/fix-suru-inheritance looks simple08:54
Saviqand we should land it, yeah08:54
seb128that would be nice to get yes08:54
xnox~sil2100/ubuntu-themes/osk_design_icon_association_change08:55
xnoxlooks sensible as well (needs osk testing)08:55
seb128https://code.launchpad.net/~larsu/ubuntu-themes/three-twelve/+merge/22598208:55
seb128would be nice to get as well08:55
xnox~larsu/ubuntu-themes/three-twelve08:56
xnoxyeap.08:56
* xnox goes to adjust the landing line08:56
seb128thanks08:56
Saviqhow about https://code.launchpad.net/~tiheum/ubuntu-themes/suru-icons/+merge/226325 ?08:57
Saviqwell, it's waiting for Jouni's ACK, so let's maybe let it wait...08:58
xnoxseb128: Saviq: huh, i don't have powers to change spreadsheet.... but have acls to assign silos.08:58
cjwatsonWe're pretty low on silos right now08:58
Saviqxnox, are you logged in? google logs me out all the time recently08:58
xnoxSaviq: I can't review ~tiheum branch above. I'd wait on it.08:59
Saviqyeah08:59
xnoxcjwatson: did notice, only one was free. probably best to wait for a few to clear out.08:59
seb128Saviq, xnox: I added the inherit and the gtk 3.12 ones ... anything else?09:00
Saviqseb128, looks fine to me09:01
didrocksxnox: granted09:01
* didrocks shares ownership at the same time09:01
didrockssil2100: you owne the spreadsheet now, congrats!09:02
didrocks(we can only have one owner)09:02
xnoxseb128: tweaked tests and description09:03
sil2100didrocks: uh oh, I do?!09:03
sil2100didrocks: thank you ;p?09:03
xnoxdidrocks: only one owner -> webscale bus factor =)09:03
didrockssil2100: yw09:03
didrocksxnox: isn't it? ;)09:03
xnoxdidrocks: i'm lovin it!09:04
didrocksI guess the domain owner can reclaim ownership though09:04
didrockswell, at least, I hope :)09:04
seb128xnox, thanks09:04
didrocksother you fork it and create a "new new spreadsheet"09:04
didrockssil2100: btw, reminder that I guess you can rename the spreadsheet now to remove the new :)09:04
xnoxdidrocks: yeah, i'd think so too. I think on my googleapps as an admin i can revoke an app permission and thus transfer ownership of everything elsewhere.09:05
didrocksI think nobody is using the old dead one09:05
xnoxdidrocks: and then reactivate app for that user.09:05
didrocksyeah, would make sense09:05
Laneymy awesomebar still remembers the old one09:05
Laneyand I reinforce that by always picking it first :(09:05
* didrocks looks if we can delete the old one09:05
didrocksone sec09:05
Laneybeen trying to go to wiki/citrain lately09:06
didrocksLaney: nuked09:07
Laneynice09:07
* xnox thinks there is something wrong with libtool09:55
xnoxcurrent=3, age=1, revision=0 yet soname 2.1.009:55
pitticurrent-age == 209:56
pittixnox: don't try to think about these numbers too hard; it'll melt your brain09:56
xnoxpitti: yes, yes, i remember that now.09:57
xnoxpitti: so upstream broke abi but didn't bump the numbers.09:57
pittiI think the resulting version number is (current-age).age.revision or so09:57
* xnox runs git log -p on configure.ac to verify09:57
pittixnox: ordinarily that's done in Makefile.am09:58
pittixnox: grep for -version-info09:58
pitti(and yay for not using GNU option syntax, but meh)09:58
xnoxpitti: well, in their case, they use variables in -version-info which are set in configure.ac as constants.09:58
pittixnox: ah ok, osrry09:58
xnoxpitti: last abi bump was by slangasek .... who is not upstream, so yeah upstream have no clue.09:58
xnoxseems weird -> i should bump current by one and reset age to 010:11
xnoxbut that makes it jump from 2.1.0 to 4.0.010:11
pittiI had a nice page which explained all that the other day, but apparently I lost the bookmark10:11
xnoxwell, last time steve bumped both current and age by +110:12
xnoxi'll do the same here.10:12
pittixnox: https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html10:12
pittixnox: I thought you'd just set age to 0 on changed/removed API?10:13
pittibut meh, this might be wrong too; I wish libtool wasn't trying to be "helpful" and let one just specify the soname :)10:14
xnoxseems odd though. If interfaces are added, then next time age is bumped (4.0.0 -> 3.1.0), then one more adds happen (3.1.0 -> 2.1.0) ?!10:16
xnoxah, no, cause current will have to be bumped as well.10:16
xnoxnevermind me.10:16
xnoxpitti: any advice as to which abi version number to use between upstream fixing it and me packaging it?10:49
* xnox tries to use 2a10:49
xnoxlibtool hates that.10:50
rbasakIs https://bugs.launchpad.net/ubuntu/+source/libsdl1.2/+bug/1340294 an actual problem? It means that binaries linked against libsdl in the archive will actually be under the terms of the GPL, but that would still be DFSG-free, right?11:05
ubottuUbuntu bug 1340294 in libsdl1.2 (Ubuntu) "Library linking leads to incompatible licenses." [Undecided,New]11:05
* rbasak doesn't see an actual incompatibility here11:06
xnoxrbasak: the problem is, that everything that links libsdl1.2 now needs to be GPL compatible, instead of just LGPL. It's the same bug that prevented migration to e.g. the new gnutls.11:13
xnoxrbasak: e.g. anything that links to openssl, cannot also link to libsdl1.2 anymore, since transitively GPL code would be linked to OpenSSL which are incompatible.11:14
=== MacSlow is now known as MacSlow|lunch
xnoxpreviously that was not a problem. (i'm assuming there is no openssl exception in libcaca)11:14
xnoxs/libcaca/libslang/11:15
smbhallyn, It does not seem like anybody wants to be helpful on bug 1321365. Would you think that this version of libvirt could go into updates anyway? Then my follow up might be accepted into trusty-proposed...11:22
ubottubug 1321365 in libvirt (Ubuntu Trusty) " virsh (ppc) fails with "missing /proc/device-tree/cpu "" [Critical,Fix committed] https://launchpad.net/bugs/132136511:22
debfximho that bug should be moved to libcaca which can disable the slang backend.11:22
=== MacSlow|lunch is now known as MacSlow
=== Guest70019 is now known as ikonia
pittixnox: I don't even know which package you talk about :)11:38
xnoxpitti: plymouth made an upstream release 0.9.011:38
xnoxpitti: debian doesn't package shared libraries, but we do. Cause casper and mountall use them.11:39
pittixnox: oh, I was about to ask whether we can at least coordinate that with debian11:39
xnoxpitti: the APIs they use, have not changed, but others have been removed. And upstream forgot to bump abis.11:39
pittixnox: so if it only affects ubuntu, then I guess the shlib name doesn't matter, so appending an 'a' sounds fine to me11:39
pittixnox: do we use any of the removed API?11:40
xnoxpitti: do you know any past examples where that was done?11:40
xnoxpitti: no, we do not use any of the removed APIs11:40
pittixnox: I don't remember; we usually avoid changing soname downstream at all costs11:40
pittiwe rather just ported stuff and added strict dependencies11:40
MacSlowanybody seen something like this with recent updates pulled on utopic -> https://bugs.launchpad.net/ubuntu/+bug/134071012:17
ubottuUbuntu bug 1340710 in Ubuntu "/var/log/kern.log gets spammed with rfkill messages" [Undecided,New]12:17
xnoxcyphermox_: ^12:27
=== _salem is now known as salem_
=== psivaa is now known as psivaa-lunch
cyphermox_xnox: thanks13:08
stgraberhallyn: allow-stderr was probably a copy/paste from lxc where we have harmless messages going to stderr13:23
stgraberpitti: the deluser message would indicate that the test failed before it created the user. We have a cleanup hook which attempts to kill the test container, remove the user, ... so I suspect that error message comes from the cleanup hook and is a sign of a problem earlier on13:25
pittistgraber: ah, thanks13:33
=== Ursinha is now known as Ursinha-afk
=== Ursinha-afk is now known as Ursinha
=== psivaa-lunch is now known as psivaa
hallynBenC: hi, you do ppc stuff right?  would you be able to (have someone) verify the fix for bug 1321365 ?  Othewise as smb said we should probably just promote anyway14:19
ubottubug 1321365 in libvirt (Ubuntu Trusty) " virsh (ppc) fails with "missing /proc/device-tree/cpu "" [Critical,Fix committed] https://launchpad.net/bugs/132136514:19
BenChallyn: Already verified14:20
hallynBenC: oh!  could you set the verificatin-done tag?14:21
hallynpitti: why would trusty14:21
hallyntrusty's qemu be the problem?14:21
pittihallyn: no particular reason, it's just one obvious difference to running locally14:21
BenChallyn: How do I add that tag?14:22
hallynoh.  no, this laptop here is trusty too.  (my utopic one is the one that died)14:22
pittihallyn: another is that in the CI lab there is a pretty heavy network firewalling14:22
hallynBenC: at bottom of description is the lsit of tags - edit it to change verification-needed to verification-done14:22
pittihallyn: ah, good; I sent you the set -x output, but I suppose you'll need some more logs14:22
hallynor just make a note in the bug and i'll change it14:22
pittihallyn: nothign in dmesg btw (not sure whether I wrote that)14:23
BenChallyn: Done14:23
hallynpitti: like i say i had a 30 sec window where i could reproduce it on my fast precise(+utopic kernel) host in a jessie container...  so there' sdefinately *something* real to it14:23
hallynBenC: thanks!14:23
BenChallyn: And thank you14:23
pittihallyn: ah, so it is a race condition of some sort, which is just very persistant on that machine14:25
pittihallyn: FYI, these machines are pretty beefy (gazillion CPUs and GB of RAM), and the overlay runs on tmpfs14:25
desrthallyn: hey... tearing down cgroups won't work14:28
desrthallyn: due to the transient nature of the shim we can't "remember" the slice that a particular unit was located within14:29
desrtso for the /user/%d.user/c%d.session case we'll have forgotten the uid by the time the Stop call comes14:29
desrtand we will not be able to instruct cgmanager on which group to remove14:29
hallyndesrt: that's ok, we set autoremove ont he cgroups14:31
hallyndesrt: so they'll go away when the user logs out automatically14:31
desrtthat logic seems a bit backwards14:31
hallynat least, it worked on my tests14:31
desrtisn't the point of all of this cgroup stuff to allow systemd to forcably clean up a user session on logout?14:31
* hallyn grumbles something he problably shouldn't ...14:32
hallyndesrt: we're not yet handling the StopUnit are we?14:33
desrti just checked.... systemctl stop session-37.scope for example kills all the processes in that scope14:33
desrthallyn: no... we're not, and i think that maybe we can't :/14:33
hallyndesrt: won't the dbus message for StopUnit list the both the session and slice?14:33
desrtno14:33
hallynthen how would systemd itself know?14:34
desrtit lists the session but the slice was given to the StartTransient only14:34
desrtsystemd doesn't get restarted.....14:34
hallynbut session-2.scope is ambiguous14:34
desrtno.  systemd is stateful.14:34
desrtit remembers what session-2.scope is14:34
desrt(and more importantly, where it is)14:34
hallynuids 1000 and 2000 can both have session-2.scope14:34
desrtno... that's not possible14:34
desrtsessions are unique14:34
hallynhuh14:35
desrtby that token i guess we could spider the cgroups tree looking for the matching one14:35
hallynwell, there are ways to fix that (keep state somewhere) and I would claim that's somethign to worry about later14:35
desrtbut ... yick14:35
hallynif at all14:35
desrtso don't worry about stop?14:35
hallynright - or rather, punt on stop for now14:35
desrtokay.  you're the boss :)14:35
hallyndesrt: systemd may claims that "killing all tasks on logout" is the main feature,14:36
hallyndesrt: but the main feature for me is granting delegated cgroups for the user to use14:36
hallynfor unprivileged container use14:36
desrtthis is why we chown...14:36
hallynright14:36
desrtokay14:36
desrtso the code is shrinking :)14:36
hallyndesrt: love it :)14:37
hallyndesrt: feh, right you are.  I really thought that the sessoins were per-user unique only14:37
hallynof course that means we can more easily fix this if/when we want,14:37
desrtright -- we can walk the cgroup tree :/14:38
hallynor keep state in /var/run  <shrug>  if that doesnt' make you cry14:41
desrti'd prefer to just use the state already in the kernel rather than make a copy of it14:42
desrtworth noting that also logind already does this...14:42
hallyndoesn't bother me :)14:42
desrtif you cat /run/systemd/sessions/1 for example you see UID=1000 in there14:43
hallynpitti: oh your email clarifies what I missed last night - it's not failing the way i thought14:43
hallynit14:43
desrtnot sure if we can rely on that at the point that logind is already trying to tear the session down, though14:43
hallyndesrt: does logind walk the tasks list and kill them all?  or does it now expect systemd-dbus to do it?14:44
hallynpitti: i thought it was failing when it did 'rmdir xxx' (non-recursively) when xxx/b exists (which should fail).  but it's actually failing on the recursive rmdir.  that's more hopeful for being sane14:44
desrthallyn: systemd does it, pretty sure14:45
hallynk14:46
desrthallyn: so our cgroup hierarchy is different from the systemd one, i guess?15:02
desrtwe seem to call it like user/1000.user/42.session15:03
hallynyes, we do.  what does systemd do?15:03
desrtinstead of user/user-1000.slice/session-42.scope ?15:03
desrtsystemd names the cgroups after the requested names15:03
hallyni'm just sticking with the terms stgraber had used in the earlier logind patches15:03
hallyndesrt: maybe systemd changed that after v204?15:04
desrtmaybe?15:04
hallynstgraber: ^ done on purpose?15:05
hallyn(I don't really care either way)15:05
desrtextracting the uid out of the unit name is ... interesting15:05
desrtbecause it's impure from the standpoint of what is happening here15:05
desrti guess systemd doesn't do this :)15:05
slangasekdoko: my position on the infinality patches is that freetype behavior changes give me enough problems without me diverging from mainline :)15:05
desrtunless it has some similar magic15:06
desrthallyn: can you remind me again what the issue was about the JobRemoved business?15:28
hallynstgraber: to be absolutely sure, the jenkins autotest runs are all done in their own private qemu, right?  not in lxc?15:28
desrtand also what this get_state() thing is about?15:28
desrtyou seem to try to pass "static" into a (o) parameter... which is not good :(15:28
hallyndesrt: I had no idea what get_state was :)  I didn't add it15:28
hallynI just cut-pasted from other units for that,15:29
desrtg_dbus_method_invocation_return_value (invocation, g_variant_new ("(o)", unit_get_state(unit))); <- you added this15:29
hallynoh yeah.  I wasn't sure if I should return the path of the cgroup to systemd or not15:29
desrtdefinitely not15:29
hallynand never got around to reconsidering.15:29
hallynok15:29
desrtit may not be a valid dbus object path15:29
hallynso systemd doesn't care?15:29
desrtin fact, certainly isn't...15:29
hallynok15:29
desrtsince you can't have '-' in those15:29
hallynalways passing15:30
hallyn'/' just seemed weird15:30
hallyn(i'm missing a key so i keep accidentally hitting enter :( )15:30
desrtit is :)15:30
hallyndesrt: what do you mean by JobRemoved business?15:30
desrtyou conditionalise it not to run for 'user' units15:31
desrtslices, i guess?15:31
hallynoh, yeah - what would it mean to remove that job?15:31
desrti dunno15:31
desrti think we added this code for the power units, as i mentioned...15:31
hallynI was afraid it would mean systmed would log you out.15:31
hallynI.e. it woudl see it as the slice beign removed15:32
desrtno idea :)15:32
desrti guess we should only do this for power units, to be honest15:32
hallynright, you did that to not re-suspend right?15:32
desrtalthough i think JobRemoved might actually mean "the process of starting this thing is now done"15:32
* desrt checks that theory15:33
desrtyup.  it's true15:33
desrt/org/freedesktop/systemd1: org.freedesktop.systemd1.Manager.JobNew (uint32 14405, objectpath '/org/freedesktop/systemd1/job/14405', 'abc.slice')15:34
desrt/org/freedesktop/systemd1: org.freedesktop.systemd1.Manager.JobRemoved (uint32 14405, objectpath '/org/freedesktop/systemd1/job/14405', 'abc.slice', 'done')15:34
hallynoh then it hsouldn't be conditional :)15:34
desrtmaybe we should try harder to make up some decent-looking job names :)15:34
hallynwhat are you showing there?15:34
desrtthis is what real systemd says in response to me creating abc.slice15:34
hallynoh15:34
desrt(gdbus monitor --system --dest org.freedesktop.systemd1)15:34
cyphermox_pitti: hey, I'm asking you because you're apparently the last who touched acpi-support. is there a reason to still keep this?15:43
stokachu@pilot in15:44
=== udevbot changed the topic of #ubuntu-devel to: Archive: open | Devel of Ubuntu (not support or app devel) | build failures -> http://qa.ubuntuwire.com/ftbfs/ | #ubuntu for support and discussion of lucid -> trusty | #ubuntu-app-devel for app development on Ubuntu http://wiki.ubuntu.com/UbuntuDevelopment | See #ubuntu-bugs for http://bit.ly/lv8soi | Patch Pilots: stokachu
=== lisca is now known as zmoknute_lisca
desrthallyn: hey... trying to test this stuff now15:53
desrtwhere do i get the updated cgmanager?15:53
* desrt needs to start moving toward the airport soonish....15:56
hallyndesrt: utopic-proposed16:01
hallynor ppa:serge-hallyn/virt has it too16:01
desrthmm16:04
desrti have proposed16:04
hallynyou have 0.26-0ubuntu6?16:06
hallynthat should suffice16:06
desrtyes16:07
desrthm.  problem seems to be with my code ;)16:07
* desrt was treating api_version as unsigned (not signed) int16:09
desrtso... it's not creating the cgroups i ask for16:12
desrtor i am misunderstanding something16:12
hallynif cat /proc/self/cgroups doesn't show your /user/$uid.user/c-$session.session, then it's not working :(16:20
hallyndesrt: you can put "cgmanager_opts="--debug"" in /etc/default/cgmanager and look in /var/log/upstart/cgmanager.log to see if it's getting requests at all16:21
* hallyn changing locale for a mtg, bbiab16:21
desrthallyn: i'm getting a failure of MovePid16:28
desrtMovePid: Client fd is: 6 (pid=4054, uid=0, gid=0)16:29
desrtcgmanager:per_ctrl_move_pid_main: victim's cgroup is not under proxy's (p.uid 0)16:29
stgraberhallyn: correct16:30
desrthallyn: in any case, i've pushed https://github.com/desrt/systemd-shim/tree/cgm.116:32
desrti think it's mostly right... please take a look16:32
desrtit doesn't currently attempt to deal with cgmanager restarts16:33
=== timrc-afk is now known as timrc
hallyndesrt: thanks, i plan to look in 1.5 hrs16:46
desrthallyn: i probably won't get too much more of a chance to look at this16:46
desrtbut i think any required fixes should be relatively minor at this point16:46
hallyndesrt: ok, i'll hack on it until it works,16:46
hallyndesrt: you're gone next week?16:46
desrtya16:46
desrti guess you guys can carry a patch until i return?16:46
hallyndesrt: hwo shoudl we proceed - should i take wahtever works and try to push to unstable?16:47
desrtalternatively, you could deal with pitti16:47
hallynah, ok, i'll ask pitti for guidance - thanks desrt !16:47
desrthe knows his way around dbus/gobject and he has commit access to systemd-shim16:47
desrtpitti: might be nice if you review my code anyway.... i wrote it in a hurry :p16:49
=== roaksoax is now known as roaksoax_bbl
=== ev_ is now known as ev
=== kees_ is now known as kees
=== luv_ is now known as luv
=== tlyu_ is now known as tlyu
=== ken_ is now known as kenvandine
=== tarpman_ is now known as tarpman
=== roadmr is now known as roadmr_afk
=== zmoknute_lisca is now known as lisca
=== roadmr_afk is now known as roadmr
=== lisca is now known as klubko
hallyndesrt: you're probably gone;  but i'm using yoru s ystemd-shim and it seems to be working20:32
hallynd'oh20:33
hallynnm.  i'm an idiot20:33
hallyndidn't built jessie's systemd on this box (thought i'd done that)20:33
hallynstgraber: https://jenkins.qa.ubuntu.com/job/utopic-adt-cgmanager/29/ARCH=amd64,label=adt/console   fascinating.  apparently readdir(/run/cgmanager/memory/xxx) is not listing /run/cgmanager/memory/xxx/bbb, which does exist...  i don't know if this is a new cgfs race, or what.  guess i'll add a sleep in the testcase and see20:54
stgraberweird20:56
hallynactually no a sleep won't help,20:56
hallynbc the testcase already does a20:56
hallyn+ dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock --type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.ListChildren string:memory string:xxx20:56
hallyn+ grep -q bbb20:56
hallynafter the Create, so obviously the fs is settled by now20:56
=== cmagina_ is now known as cmagina
desrthallyn: at the airport21:27
desrthallyn: got a bit of time if there's anything you need to tell me :)21:27
hallyndesrt: nah, unfortunately i'd forgotten to save away the systemd-208 changes i had to make to use it with the new shim;  so i'm having to re-create those ona  new test vm21:29
desrtOK21:30
desrtgood luck :)21:30
hallynthanks - have a good vacation!21:30
hallynor trip or whatever it is :)21:30
desrtthis crazy thing: http://ses.ikso.net/2014/sk/21:31
hallynwow21:34
desrtya.... in retrospect, i'm not entirely sure why i'm doing it...21:37
hallyndesrt: exactly how did you test the shim?  did you send your own dbus messages, or use logind?21:42
desrtsent my own messages21:43
desrteverything seemed to work except that MovePid gave that error i mentioned earlier21:43
hallyndbus-send?21:43
desrtgdbus...21:43
hallyndid you run it as root?21:44
desrtyes21:44
hallynok.21:44
desrtis there some weird authentication step i need to take?21:47
desrtor does cgmanager know that i am root?21:48
hallynit knows21:50
hallyndesrt: ok, took some finagling of logind (the packaging for systemd-208 will need work) and there was a several-seconds hang, but i *did* get cgroups,21:59
hallyn6:devices:/user.slice/user-1000.slice/session-7.scope21:59
=== salem_ is now known as _salem
desrthallyn: did the MovePid work?22:07
hallyndesrt: yup22:07
desrtoh.  nice.22:07
desrtall good then, i guess22:08
hallynstgraber: https://jenkins.qa.ubuntu.com/job/utopic-adt-cgmanager/30/ARCH=amd64,label=adt/console  oh, so it looks like there is a race so that after we rmdir xxx/bbb, xxx cant' be immediately freed.  kernel bug it seems like.22:08
hallyni'm afraid i'm out for the weekend - back sunday night hopefully - \o22:08
desrthallyn: have a good one22:08
hallynapw: ^  i may end up bugging you about the kernel bug22:08
hallyndesrt: you too :)22:08
hallynapw: (assuming it is a kernel bug)22:09
=== slangase` is now known as slangasek
=== pbn_ is now known as pbn
SaviqLaney, FYI, welcome wizard is totally b0rked in the latest system-settings release :|22:51

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!