/srv/irclogs.ubuntu.com/2015/03/10/#ubuntu-devel.txt

=== saurik_ is now known as saurik
tewardinfinity: (late response) I will do so if i see no activity, but I trust it'll be on the radar so long as that norbert guy keeps poking it03:20
pittiGood morning05:36
pittityhicks: ah, thanks; I wasn't working on an SRU yet, mostly on the vivid update; and I was waiting for kirkland to push the two script fixes upstream05:36
pittisarnold: ssh bug> most probably a too eager (default) KillMode= in openssh's .service file; I'll have a look05:37
pittisarnold: IMHO it's best to file them against the affected package with tagging "systemd-boot"05:37
pitticjwatson: ^ FYI05:37
pittityhicks: ah thanks, so I'll upload my ecryptfs update on top of that05:39
pittityhicks: but why does the PPA have 104-0ubuntu4 for vivid? current vivid has -0ubuntu1..05:39
wgrantpitti: When you're done with, you know, switching init systems and stuff, we're ready from the LP end to switch on ddebs. Are the ddeb-retriever changes reasonably doable in the near future?05:39
pittimdeslaur: ok, that worked for me, so I need more precise information about your setup; I'll answer in the bug05:39
pittihey wgrant05:45
pittiwgrant: I need to find a day to do that rewrite05:46
pittiI hope I can get to it this week, as I'll be on vac for the following 1.5 weeks05:46
wgrantpitti: Let us know if we can help at all.06:14
pittiwgrant: if you want, the code is in https://code.launchpad.net/~pitti/%2Bjunk/ddeb-retriever/ ; it has tests and such, although they'll be a lot harder to write for LP06:24
pittiwgrant: do you have a suggestion/do we have a project how to mock launchpadlib?06:25
pittii. e. the part that's going to fetch the ddebs06:25
pittialthough I guess with the standard python mock one should get far enough06:25
pittiand just make that return a static list of ddeb URLs06:25
wgrantYou probably only care about one or two methods, and it's easy enough to wrap those in a function that you can mock out.06:26
wgrantpitti: Oh, that code isn't nearly as terrifying as the legends foretold.06:27
pittiwell, I wrote most of it in 2005; I was young and ...06:28
pittiah, 200606:28
wgrantYup06:29
lifelessthere is a launchpadlib mock thingy06:39
lifelessseveral06:39
lifelessnone really mature IIRC06:39
mitya57ScottK: can't we just sync/merge newer qtwebkit from Debian?06:58
mitya57Should have been done earlier, I suppose07:00
pittijodh: thanks for looking into the upstart test regression -- tests for the win! so it indeed seems this is a kernel regression?07:38
=== Malsasa_ is now known as Malsasa
=== Malsasa_ is now known as Malsasa
dholbachgood morning07:58
LocutusOfBorg1hi folks!08:21
LocutusOfBorg1dholbach, do you think there's hope for my virtualbox new package here? bug 142476908:21
ubottubug 1424769 in virtualbox (Ubuntu) "virtualbox-guest-x11 uninstallable with mesa-lts-utopic" [Undecided,Confirmed] https://launchpad.net/bugs/142476908:21
LocutusOfBorg1I don't know how new trusty packages are handled :)08:21
dholbachmaybe ping one of the archive admins to find out how it's done?08:22
dholbachI need to run out to the dentist now :)08:23
LocutusOfBorg1oh... good luck!08:25
dholbachthanks08:26
=== kickinz1 is now known as kickinz1|afk
=== kickinz1|afk is now known as kickinz1
seb128cjwatson, hey, do you have any opinion on http://bazaar.launchpad.net/~robert-ancell/+junk/sync-blacklist-indic/revision/557 ?09:47
seb128cjwatson, to me it looks like you added a bunch of sources to that list cycles ago to get autosync going and nobody looked again at those again, is that correct?09:48
cjwatsonpitti: well, it's certainly not using the default KillMode= ...09:48
cjwatsonpitti: lp:ubuntu-cdimage has an approach to mocking launchpadlib which, well, isn't complete or anything but it's quite simple to extend, maybe that could be useful09:49
pitticjwatson: oh right, it's already "process"; anyway, this didn't yet bubble up to the top of my TODO list, but I'll get to it for sure09:49
pitticjwatson: thanks for pointing out09:49
cjwatsonseb128: well, that one was specifically a problem for a few cycles until Robert tackled the ttf-indic-fonts merge in trusty09:50
cjwatsonseb128: but I can certainly look at that, it's probably reasonable now09:50
seb128cjwatson, I was going to trust robert_ancell and merge the change, it look fine and he said he would deal with issues that could result from the change, but if you want to double check that would be welcome!09:51
cjwatsonseb128: ok, why don't you go ahead and merge it, and we should see the result in the next auto-sync dry-run well before Robert wakes up again09:52
cjwatsonseb128: i.e. in a bit over an hour09:53
seb128cjwatson, wfm, I just wanted to check with you before doing the change09:53
seb128thanks09:53
cjwatsonyeah, it's provisionally fine09:53
cjwatsonthanks for checking09:53
seb128yw!09:53
pittismoser: did you see my question in bug 450463? each and every cloud image these days boots in degraded mode because we are trying to load a nonexisting module; where is acpiphp added these days?09:59
ubottubug 450463 in vm-builder (Ubuntu) "acpiphp module needs to be loaded on boot" [Medium,Fix released] https://launchpad.net/bugs/45046309:59
mlankhorstmvo: ping for apt-get?10:19
pittihallyn_, stgraber: it seems cgmanager's tests don't work under systemd (https://jenkins.qa.ubuntu.com/job/vivid-adt-cgmanager/21/ARCH=i386,label=adt/console); is that a bug? or do the tests just need some adjustments? or should we run the tests under upstart?10:29
mardypitti: hi! So, I wrote my dbusmock template, but now I don't know how to register it: ImportError: No module named 'dbusmock.templates./home/mardy/src/bzr/accounts-sso/online-accounts-api/mock-template/src/daemon/online-accounts'10:37
pittimardy: oh, it's not a template in the "dbusmock.templates.*" sense, Python doesn't allow this kind of namespace mangling (or at least makes it really hard)10:38
mardypitti: any hints on how to have my template loaded?10:40
pittimardy: your online-accounts isn't a  Python module?10:41
pittithey need to end in .py10:41
pittiand have no dashes in it eitehr10:41
pittimardy: so spawn_server_template('/full/path/to/mocks/online_accounts.py', params) ought to work?10:42
pittimardy: (relative path ought to work, too)10:43
mardypitti: OK, I'll try; I'm using libqtdbusmock, I guess it will have something equivalent10:46
ScottKmitya57: I didn't have time to check.11:24
xnoxpitti: did you switch to systemd by default?11:51
xnoxpitti: and do i need to do the crazy upstart split we agreed to do on here in a sensible way?11:51
pittixnox: yes, it got switched yesterday11:52
flexiondotorg_There are some new MATE packages in Debian unstable that just fix bugs. Do I need to file a FFE to sync these?11:52
pittiflexiondotorg_: no, bug fixes only -> no new features -> nothing to except :)11:52
flexiondotorg_pitti So, what is the process to request the sync?11:53
cjwatsonrequestsync(1)11:53
flexiondotorg_cjwatson, Thanks.11:53
pittixnox: split? would be nice to move the conffiles to upstart-bin indeed11:53
pittibut I don't think we need to further split the package; they aren't that big to warrant that IMHO11:54
xnoxpitti: well, i believe the decission was slightly different. Keep conffiles in upstart, but move all other things that conflic with systemd-sysv from upstart -> upstart-sysv11:54
pittimy /etc/init is 452 K, and that includes jobs from a lot of other packages11:54
pittixnox: ah! and adjusting systemd's conflicts accordingly, and init's dependencies? a lot more intrusive, but certainly doable11:54
pittixnox: but then we don't need upstart-bin either any more?11:55
xnoxpitti: make upstart-sysv depend on upstart. and yeah.11:55
xnoxpitti: well upstart-bin is kind of the minimal thing one needs to run /user session/ only.11:55
xnoxpitti: but certantly would be possible to merge that back into upstart.11:55
xnoxpitti: i still don't know what the upgrade path will look like.11:55
pittiI didn't really follow why it's impossible to move a conffile between packages11:56
xnoxpitti: e.g. should I make this new split with "upstart depends: systemd-sysv" ?11:56
pittixnox: well, I'm not yet convinced that this is the best way; this sounds like crying for more upgrade troubles TBH11:56
pittixnox: err, upstart depends: systemd-sysv? that looks wrong :)11:56
xnoxpitti: so we obviously do not want upstart to depend on upstart-sysv, and apt can decide to purge old one before unpacking the new one, wiping modified conffiles away11:56
xnoxpitti: or generating a conffile prompt.11:57
xnoxpitti: do we have any dist-upgrader hook to install systemd-sysv?11:57
pittithis stuff should work with apt-get too11:57
xnoxpitti: or people who don't have ubuntu-minimal are screwed?11:57
pittixnox: right, people without ubuntu-standard won't get upgraded to systemd (for now, anyway)11:58
xnoxpitti: having upstart split the same way as systemd is split would be nice.11:58
pittixnox: I agree, splitting it that way makes more sense; I just can't tell you that it will work on upgrades11:58
pitti(it should, but needs testing)11:58
pittiwell, actually it shouldn't be that bad11:59
pittiwe just split out a new upstart-sysv with /sbin/init, telinit, shutdown, etc.11:59
xnoxpitti: upstart depends: upstart-sysv | systemd-sysv -> such that people end up with an init?11:59
pittiwhich we wouldn't even install on upgrades11:59
xnoxor whatever that metapackage thing is to provide init.11:59
pittixnox: no need11:59
pittixnox: init is required now (and in ubuntu-minimal)11:59
pittixnox: well, it could depends: init, to make sure12:00
xnoxpitti: i don't want to upgrade upstart to a package without /sbin/init and break everyone who doesn't have ubuntu-minimal installed, you see.12:00
xnoxand without any dependency that provides /sbin/init12:00
pittixnox: yup, understood; so depend: init?12:00
xnoxyeah.12:00
xnoxmaybe i should introduce "Depends: init" and see how badly this breaks.12:00
pittixnox: ok, that sounds good to me12:01
xnox(without any splits)12:01
xnox.. changes, that is)12:01
mdeslaurpitti: thanks for looking at my nfs issue. I assume you are going to enable NetworkManager-wait-online.service? I have a few other things that also fail to wait for networking, like ntp, etc.12:27
seb128mdeslaur, hey, sorry my IRC timeouted yesterday and I think you didn't get my reply, feel free to open a bug about those gtk deprecation warnings, we might try to turn some off for release or something12:28
mdeslaurseb128: what whould I file it under, gtk+3.0?12:28
pittimdeslaur: ah, are you *only* using NM, not ifupdown?12:28
mdeslaurpitti: only NM12:29
xnoxmdeslaur: you get to keep both pieces =)12:29
mdeslaurxnox: wth are you talking about, this has worked for the past 6 years12:29
xnoxmdeslaur: or enable network-manager wait online target yourself =)))))12:29
pittinah, I think we should enable it by default12:29
xnoxmdeslaur: systemd-networkd is the future man! =)12:29
mdeslaurxnox: well, I live in the present :)12:30
pittiI just wasn't aware that our ntp, nfs etc. jobs waited for NM12:30
xnoxmdeslaur: NM is so two thousand and late </finished trolling>12:30
mdeslaurxnox: who needs ipv6 anyway, right? :)12:30
mlankhorstcan't we move the networking to the cloud?12:30
seb128mdeslaur, yes, describe the warnings and where you see them, Laney&co and probably going to push to fix the apps to not use deprecated apis or properties rather than turning off the deprecations warnings, so we need to see what is impacted and be pragmatic about it12:30
xnoxmdeslaur: http://dilbert.com/strip/2014-12-04 and ipv4 address12:31
* xnox <3 BOB12:31
mdeslaurxnox: oh, actually looks like systemd-network gained ipv6 support since the last time I asked :P12:31
mdeslaurs/asked/looked/12:31
mdeslaurseb128: ok, cool thanks.12:32
xnoxmdeslaur: have you looked at libnss_resolve module in systemd source tree? If you guess that it uses system dbus to call to org.freedesktop.resolve1 service to query dns - you are obsolutely correct!12:32
* mdeslaur spits coffee at screen12:33
mdeslaurxnox: no wonder the push for kdbus :)12:33
xnoxmdeslaur: also you cannot login without system dbus - as nologin isn't lifted until system login acquires name on the system dbus. And well pam_systemd will also fail as required.12:34
mdeslaurhrm12:35
mdeslaurseb128: bug 1430307, thanks12:41
ubottubug 1430307 in gtk+3.0 (Ubuntu) "Deprecation warning should be turned off for release" [Undecided,New] https://launchpad.net/bugs/143030712:41
flexiondotorg_I've been reuest some sync from Debian with requestsync. No problem.12:44
flexiondotorg_However, one package reports the same version exists in Debian and Ubuntu,12:44
flexiondotorg_E: The versions in Debian and Ubuntu are the same already (1.8.1+dfsg1-4). Aborting.12:44
didrocksslangasek: hey, mind giving your opinion when you have some time on bug #1428486?12:44
ubottubug 1428486 in nfs-utils (Ubuntu) "Only start rpc.statd if $NEED_STATD" [Low,Triaged] https://launchpad.net/bugs/142848612:44
flexiondotorg_But, as far as I can see Ubuntu has 1.8.1+dfsg1-312:44
flexiondotorg_Ummm. Confused.12:44
didrocksflexiondotorg_: would be easier with the package name :)12:45
flexiondotorg_didrocks, mate-power-manager12:45
didrocksflexiondotorg_: $ rmadison mate-power-manager12:46
didrocks mate-power-manager | 1.8.1+dfsg1-4 | vivid/universe  | source, amd64, arm64, armhf, i386, powerpc, ppc64el12:46
didrocksso vivid has 1.8.1+dfsg1-412:47
didrocksrequestsync isn't lying :)12:47
didrocksyou could as well check this one launchpad: https://launchpad.net/ubuntu/+source/mate-power-manager12:47
flexiondotorg_http://packages.ubuntu.com/vivid/mate-power-manager12:47
didrocks(note that there is a slight publishing cycle difference between launchpad and rmadison)12:47
didrocksflexiondotorg_: packages.ubuntu.com mirrors data from launchpad/the archives12:48
didrocksuse rmadison as the source of trust12:48
seb128mdeslaur, thanks12:48
flexiondotorg_didrocks, OK. It is great that this newer package has landed. But I am confused.12:48
didrocks(or launchpad)12:48
flexiondotorg_didrocks, What caused that sync to happen? I thought Debian sync was disabled now?12:48
flexiondotorg_That package was only uploaded to Debian unstable 4 days ago.12:49
seb128flexiondotorg_, cjwatson did it today apparently12:50
seb128not sure why12:50
flexiondotorg_cjwatson, Thanks :)12:50
didrocksyeah, it's the auto-sync archive being run, not sure why as well12:50
seb128it might have been a sponsoring request in the queue12:50
didrocksflexiondotorg_: https://launchpad.net/ubuntu/+source/mate-power-manager/+publishinghistory for the publishing infos12:50
flexiondotorg_didrocks, Thanks.12:50
didrockshttps://bugs.launchpad.net/ubuntu/+source/mate-power-manager/+bug/142813112:51
ubottuLaunchpad bug 1428131 in ubuntu-mate "mate-power-manager does not handle UP_DEVICE_STATE_UNKNOWN device state" [Undecided,Triaged]12:51
didrocksflexiondotorg_: that's why it was synced ^12:52
flexiondotorg_didrocks, OK. So linking to an upstream bug will trigger a sync?12:52
mvomlankhorst: hey, sorry for the delay. what commands do I need to run to reproduce the issue you ran into?12:52
didrocksflexiondotorg_: surely not, this has been a sponsoring thing I think12:52
flexiondotorg_didrocks, OK, thanks for the explanation. All understood.12:53
flexiondotorg_cjwatson, Thanks for your sponsoring.12:53
mlankhorstmvo: I have a workaround now, but on a 14.02 image try installing ubuntu-sdk12:58
mlankhorstworkaround is allowing the -dev packages for the unrenamed stack to be installed with the renamed stack12:59
smoserpitti, "degrated" ?12:59
smoseroh. i see.13:00
mvomlankhorst: aha, let me try that13:00
mlankhorstbut when I add depends: renamed | unrenamed for all dev packages to ubuntu-sdk-libs-dev to nudge the depends a bit it will work on renamed, but not on unrenamed..13:00
mlankhorstso I'm tempted to just sru the fixed mesa package every time I upload a new lts stack13:02
smoserpitti, http://bazaar.launchpad.net/~ubuntu-on-ec2/vmbuilder/automated-ec2-builds/view/head:/vmbuilder-cloudimg-fixes13:02
mvomlankhorst: thanks, let me check that once my image is downloaded13:02
mlankhorstoke13:06
mlankhorstapt-get install ubuntu-sdk should be uninstallable13:06
cjwatsonflexiondotorg_,seb128,didrocks: yeah, I occasionally go through the auto-sync output looking for obvious syncs13:07
flexiondotorg_cjwatson, Thanks.13:07
cjwatsonit wasn't a sponsoring thing13:08
mardypitti: if you have a minute, can you have a look at this? I get an error saying that the request_access method is not part of DBusMockObject13:15
mardypitti: http://bazaar.launchpad.net/~mardy/online-accounts-api/mock-template/view/head:/src/daemon/online_accounts.py#L5013:15
mardypitti: I guess I'm doing something very stupid :-)13:15
smoserutlemming, Odd_Bloke : https://bugs.launchpad.net/ubuntu/+bug/143032313:15
ubottuLaunchpad bug 1430323 in Ubuntu "cloud-images attempt load of acpiphp, causes failure of systemd-modules-load.service" [Medium,Confirmed]13:15
Odd_Blokesmoser: utlemming: I've pushed up a fix to livecd-rootfs, so it should be fixed in the next vivid build (or perhaps the one after that).13:38
smoserOdd_Bloke, i would apply the change to trusty and utopic also.13:39
smoserits clearly just noise on those systems even if upstarts module-loading job is less complainy13:39
Odd_Blokesmoser: Ack, will do.13:40
pittismoser: ah, thanks for the bug; I suppose this can just be dropped, as we don't have the module any more13:45
pittimardy: right, it isn't13:47
pittimardy: it's a toplevel function, not a method of your "self"13:47
mardypitti: I'm calling setattr() on mock, to add these methods, and now it works. Is it OK?13:48
pittimardy: it's a bit of a hack, but sure :)13:49
=== roadmr is now known as roadmr_afk
Odd_Blokesmoser: http://bazaar.launchpad.net/~ubuntu-on-ec2/vmbuilder/automated-ec2-builds/revision/65513:57
=== roadmr_afk is now known as roadmr
pittimdeslaur: would you mind trying something?14:02
mdeslaurpitti: sure14:02
pittimdeslaur: do you have /var on NFS, or something similar?14:02
pitti(/home is fine)14:02
mdeslaurI have /mnt/server on NFS, nothing else14:02
mdeslaurit's not an important mount14:02
pittimdeslaur: I just updated the bug(s)14:02
pittimdeslaur: so, could you replace $remote_fs with $local_fs in /etc/init.d/console-setup14:03
pittimdeslaur: (that will break with /var on NFS)14:03
pittimdeslaur: and then sudo systemctl enable NetworkManager-wait-online.service14:03
pittimdeslaur: AFAICS console-setup should be the only remaining problem in a default install14:03
=== doko_ is now known as doko
pittimdeslaur: this ought to fix NFS for you14:04
dokojamespage, rbasak: I was looking at the GCC 5 ftbfs in open-vm-tools. any reason that the package is not merged since trusty?14:04
mdeslaurpitti: I do have other $remote_fs in /etc/rcS.d14:04
mdeslaurpitti: or do they not matter because they have systemd jobs also?14:05
pittimdeslaur: right14:05
mdeslaurpitti: ok, give me a few minutes and I'll try it14:06
rbasakutlemming: ^^ can you speak for open-vm-tools, please?14:06
pittimdeslaur: grep -l DefaultDependencies /run/systemd/generator.late/*.service | xargs egrep 'remote-fs|network-online'14:06
pittimdeslaur: for me that only yields console-setup.service14:07
mdeslaurpitti: me too14:07
Odd_Blokercj may also be able to speak on open-vm-tools.14:07
pittimdeslaur: hm, hang on14:08
pittimdeslaur: before you reboot, let me test something14:08
mdeslaurok14:08
pittimdeslaur: OK, it actually works here in my VM14:20
mdeslaurpitti: I'll test it in about 30 min14:21
pittimdeslaur: there is a really fishy/broken thing in NM-wait-online.service, so I wanted to check first14:22
ogra_pitti, hmmm ... so the touch change seems to kill the i386 buildd14:25
ogra_https://pastebin.canonical.com/127272/14:26
pittioh, that seems related to what xnox and I discussed this morning14:28
pittie. g. we need to keep the /etc/init/ scripts in upstart, and split out upstart-sysv instead14:28
xnoxpitti: i can't see that paste....14:29
xnoxpitti: don't the i386 touch build wants upstart as init?14:29
ogra_pitti, cjwatson suggested that init/conf.c is missing a nih_free14:29
xnoxpitti: ditto desktop-next14:29
* xnox can't see that paste14:29
xnox(un authenticated)14:29
ogra_ in the case where nih_file_read fails14:29
cjwatsonMar 10 13:46:55 allspice kernel: [3743880.621603] init: /home/buildd/build-LIVEFSBUILD-22254/chroot-autobuild/build/chroot/etc/init/tty1.conf: Unable to reload configuration after override deletion14:29
cjwatsonMar 10 13:46:55 allspice kernel: [3743880.642455] init: file.c:110: Unhandled error from nih_file_read: No such file or directory14:30
cjwatsonMar 10 13:46:55 allspice kernel: [3743880.754281] init: Caught abort, core dumped14:30
cjwatsonMar 10 13:46:55 allspice kernel: [3743880.754375] init: file.c:110: Unhandled error from nih_file_read: No such file or directory14:30
cjwatsonMar 10 13:46:55 allspice kernel: [3743880.757830] init: Caught abort, core dumped14:30
cjwatsonand then the buildd dies14:30
cjwatsonso regardless of the structure of the packages, this is a bug in the version of upstart running in the host system14:30
cjwatsonand I'm not sure it's one that's been fixed even upstream; if nih_file_read returns NULL then AFAICS it leaves an outstanding nih_error lying around which must be freed14:31
pittixnox: I sent a summary to bug 1422681, I think that's what we resolved to?14:31
ubottubug 1422681 in upstart (Ubuntu) "split out upstart-sysv" [Undecided,New] https://launchpad.net/bugs/142268114:31
cjwatson(i.e. regardless of the structure of the packages, it should never be possible to crash the host init like this)14:32
rcjdoko, I'm looking at syncing open-vm-tools with the release in debian.14:33
cjwatsonanyway, will leave it to you lot, just try to stop taking out my buildds ;-)14:33
dokorcj, cool, please can you address https://launchpadlibrarian.net/196777507/buildlog_ubuntu-vivid-amd64.open-vm-tools_2%3A9.4.0-1280544-5ubuntu6_FAILEDTOBUILD.txt.gz as well? GCC 5 ftbfs14:34
rcjdoko, will do. Thank14:34
xnoxcjwatson: thanks. That doesn't look good indeed.14:35
xnoxogra_: cjwatson: is there a launchpad bug with the full log somewhere against upstart about that?14:35
xnoxdoko: started packaging boost1.57. It's building fine, just -doc package generation fails, this is where i've stopped at yesterday.14:36
ogra_xnox, i only noticed it minutes ago ... cjwatson is looking at it a few mins more i think14:36
cjwatsonxnox: not afaik14:36
cjwatsonand that's all the log I have14:36
xnoxah, ok.14:36
ogra_so no, unless Spads filed one14:36
cjwatson(well, until the builder was manually rebooted 12 minutes later)14:36
SpadsI can provide more log, but there's not much more that's interesting there14:36
Spadsthose reboots you see are me manually hitting power14:37
cjwatsons/12/22/14:37
Spads(well, virtually)14:37
cjwatsonindeed14:37
cjwatsonLaunchpad doesn't extract the full build log until the end, so I don't have that side of things, although it *might* be lying around in /var/log/launchpad-buildd/14:37
* Spads checks which default.log might fit14:38
xnoxcjwatson: it killed the _host_ init?! /o\14:38
cjwatsonSpads: everything since 13:32:42 on allspice, I guess14:38
ogra_xnox, yeah, shiny, aint it ?14:38
Spadsxnox: charming, innit?14:38
cjwatsonxnox: right, hi chroot sessions14:39
xnoxcjwatson: ogra_: infinity disabled usptart chroot sessions on _all_ buildds14:39
cjwatsonmaybe not hard enough?14:39
xnoxcjwatson: Spads: and that's the default now. Is that not enabled on these buildds?14:39
cjwatsonhow did he do that?14:39
cjwatsongiven that he doesn't have admin access to these buildds afaik14:39
xnoxcjwatson: so in later upstarts we have them disabled chroot sessions by default.14:40
ogra_well, interestingly the armhf build of the same image still runs fine https://launchpad.net/~ubuntu-cdimage/+livefs/ubuntu/vivid/ubuntu-touch14:40
xnoxcjwatson: which upstart is running there?14:40
cjwatsonxnox: allspice/toyol are iirc precise14:40
ogra_so it might indeed be machine specific14:40
cjwatsonarmhf will be a later base system, probably14:40
* cjwatson checks landscape14:41
xnoxcjwatson: there is no correct cleanup / garbage collections of chroot sessions. They pile up eventually. I had a hairy reorg to monitor and free chroot sessions properly, but instead we decided that nobody uses them, it was a bad idea, and we are moving on to systemd.14:41
cjwatsonyeah but this is not a GC issue14:41
cjwatsonit's pretty clear that it's an uncleared error state14:41
cjwatsonallspice is precise, upstart 1.5-0ubuntu7.214:42
* xnox 's mk-sbuild is still running14:43
cjwatsontoyol likewise14:43
cjwatsonthe armhf build is on kishi0214:43
cjwatsonwhich is also precise, upstart 1.5-0ubuntu7.214:44
xnoxSpads: cjwatson: you want "--no-sessions" in the kernel cmdline, in trusty and up chroot sessions are disabled by default as we have gained "proper" upstart in the user session.14:44
xnoxwhich is much better than the old user/chroot sessions.14:44
cjwatsonI'm wary of doing significant maintenance on how the devirt buildds boot14:45
tyhickspitti: re the security-proposed ppa having version 104-0ubuntu4> I've iterated on the packages in the PPA a few times while the upstream changes were being reviewed/tested14:45
cjwatsongiven that this year we plan to migrate everything into the virt farm14:45
cjwatsonthis bug looks like it ought to be a one-liner plus tests to fix14:45
xnoxcjwatson: I'm wary of 3 year old usptart SRU =)14:45
xnoxtrue.14:45
xnoxcjwatson: well migration to virt farm -> is migration to trusty right?14:46
pittityhicks: ah, ok; so that'll presumably land as ubuntu2? when do you plan on doing that? (I don't want to wait too long with the fix as it causes nasty boot delays, but also don't want to step on your feet)14:46
xnoxcjwatson: incidentally?14:46
cjwatsonright14:46
cjwatsonok, the armhf build is killing builders now too14:46
rbasakalexbligh1: apache2 2.4.7-1ubuntu4.4 is a security update that includes your fix.14:46
xnoxlovelly.14:46
cjwatsonit was probably just slower to die14:46
* xnox =(14:46
rbasakalexbligh1: thank you!14:46
tyhickspitti: today (within a few hours, I think)14:47
pittityhicks: ah, sounds good, thanks; I'll upload mine after that then14:47
tyhicksthanks!14:47
cjwatsonok, let me try to extract a sanitised combined log from Spads' dump14:47
xnoxcjwatson: ah, it's a libnih assert14:47
cjwatsonright, which is because nih is returning an error which upstart is failing to clear14:48
xnoxbecause inotify reloads inside session, which is in progress being purged =(14:49
* xnox pokes it more to have a simple patch for this.14:50
cjwatsonHah, it's literally when removing the build tree at the end14:51
cjwatsonhttp://paste.ubuntu.com/10574985/14:51
xnoxcjwatson: can you remove things in order? =) like rm the .overrides first =)14:51
cjwatsonno, this is not in build-specific code :P14:52
xnoxcjwatson: i know i know, i'm joking.14:52
cjwatsonanyway, yeah, finishes the whole build, starts rm -rf, then 11 seconds later the buildd dies14:52
cjwatsonogra_,pitti: ^-14:52
cjwatsonenjoy it while it lasts, we won't be able to extract build logs like this with virtualised builders :P14:52
pittihm, so the host's upstart inotifies the job files in the chroot?14:53
xnoxcjwatson: but that's what i wanted to do -> when chroot root dir starts disappearing start ignoring config changes and free the conf structures et.al.14:53
cjwatsonmaybe we should sort out a jenkins-like continuous-fetch thing14:53
cjwatsonpitti: precise's upstart treated the chroot as a session, yeah14:53
xnoxpitti: yeah, and upstart expected for foo.conf to still exist when inotify handler fires for removal of foo.override.14:53
cjwatsonso does this actually have anything to do with the migration to systemd-sysv?14:54
pittiso how come that this didn't happen before..14:54
cjwatsonis it perhaps that the directory entries are in a different order?14:55
pittijust because that slightly changed the unpack order etc?14:55
cjwatsonbecause maybe now upstart is installed after the overrides are14:55
xnoxcjwatson: no. however init is growing memory with each chroot.14:55
xnoxcjwatson: and eventually runs out of inotify watches as well.14:55
cjwatsonthis has killed at least three buildds in succession14:55
cjwatsonit doesn't make sense for it to be just a memory pressure issue like that14:55
cjwatsonand, as I say, there is a pretty obvious bug in init/conf.c14:56
xnoxcjwatson: well these builds you are doing have a lot of .override files. touch is the only one that _ships_ /etc/init/*.override files.14:56
xnoxpreviously packages never shipped them.14:56
cjwatsontouch builds weren't failing before today14:56
xnoxcjwatson: that's the only place where error is not freeed after unsuccesful call to conf_reload_path. lovely.14:59
cjwatsonso, if removing the .override files first is a workaround, livecd-rootfs could remove those from the chroot after building the image14:59
cjwatsonbut this is still not good because any build cancellation will run into the same thing14:59
pittimdeslaur: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1430280/comments/6 has the steps you can try; works here in VM14:59
ubottuLaunchpad bug 1430280 in network-manager (Ubuntu) "NetworkManager-wait-online.service not enabled after package installation" [Medium,Confirmed]14:59
cjwatson(or potentially also build failures, although livecd-rootfs could handle those if it tried hard)14:59
mdeslaurpitti: thanks, I'll let you know15:00
bdmurraypitti: can you have a look at bug 1419061?15:01
ubottubug 1419061 in apport (Ubuntu) "On Ubuntu Kylin detect all packages as not genuine" [High,Triaged] https://launchpad.net/bugs/141906115:01
cjwatsonxnox: Not the only one15:02
cjwatsonxnox: For instance conf_source_reload_file frees an unrelated error, but not the one from nih_file_read15:02
cjwatson(called by conf_reload_path)15:02
cjwatsonBut yeah, I think those are the only two15:03
pittibdmurray: replied to teh bug15:03
xnoxcjwatson: sure. So i believe i hit this race when adding support for multiple configuration directories. Thus the whole iteration is done consistently now - that is any .override removal triggers full rescan of sources from all dirs, rather then straight to load .conf next to it.15:03
xnoxcjwatson: since with multiple dirs we don't know exactly where it is.15:04
xnoxcjwatson: so the place where precise asserts was gone in https://code.launchpad.net/~xnox/upstart/overrides/+merge/14191415:04
cjwatsonRight15:04
xnoxcjwatson: but that merge is not suitable for SRU15:04
cjwatsonCertainly not15:05
xnoxcjwatson: i think "if (error) nih_free(error);" is a good one-liner for precise SRU though. With a test simulating this behaviour.15:05
xnoxjodh: are you busy? ^15:05
xnoxcjwatson: removing .overrides first should also work as a plug....15:06
cjwatsonI don't think it's if(error)15:06
xnoxor boot with --no-session15:06
cjwatsonnih_error_get maybe15:06
* xnox needs to check if it's system or niherror.15:07
xnoxplus not sure about that codebase from precise.15:07
cjwatsonxnox: The pattern near the end of conf_file_visitor would be appropriate, I think15:07
cjwatsonI don't even know where to start with trying to add a kernel parameter to every devirt buildd, or even every x86 and armhf devirt buildd15:07
xnoxcjwatson: yes. and we know that one works =)15:08
=== jorge is now known as jcastro
cjwatsonmost of them aren't in puppet afaics15:08
bdmurraypitti: thanks!15:08
xnox(pattern that is)15:08
cjwatsonthey get autoinstalled and I've no idea where the code for that is15:08
xnoxcjwatson: anyway, my jenkins is ready, got to go. I can prepare SRU tonight for this. Unless someone beats me to it.15:09
cjwatsonand I don't really want to have to get GSA to re-autoinstall several dozen buildds, either15:09
cjwatsonxnox: appreciated, thanks15:09
xnoxre-autoinstalltion - will certantly can grave some of them =)15:10
cjwatsonogra_,pitti: do you think one of you could work on changing livecd-rootfs to remove .override files from the chroot tree after building the image, as a temporary workaround for this?15:10
pitticjwatson: yes, can do15:11
cjwatsonthanks!  what a horrible bug15:11
dokoxnox, any reason that boost1.54 is still in the archive?15:11
xnoxdoko: http://people.canonical.com/~ubuntu-archive/transitions/html/boost1.55.html dc-qt dynare?15:13
ogra_cjwatson, hmm, thats tricky, it that the outer chroot or the actual rootfs chroot you refer to ?15:13
xnoxdoko: is it in release or in proposed?15:13
ogra_the rootfs ships a ton og override files ... they would need to be backed up and put in place again15:14
ogra_s/og/of/15:14
cjwatsonno you misunderstand15:14
cjwatson*after* building the image15:14
ogra_oh15:14
cjwatsonimmediately before exiting15:14
cjwatsonand it's in the actual rootfs chroot15:14
cjwatsonyou can see it in the log, the full path from the host system is /home/buildd/build-LIVEFSBUILD-22254/chroot-autobuild/build/chroot/etc/init/tty1.conf15:14
ogra_right, that shouldnt be any prob if we can do it after tarball creation15:15
pittiogra_: are you familiar with this? I'm a bit overloaded, can we look at this together?15:15
cjwatsonlivecd-rootfs will be running chrooted into /home/buildd/build-LIVEFSBUILD-22254/chroot-autobuild15:15
xnoxcjwatson: another thing we can do, is stop making chroots trying to talk to host pid 1 - which triggers the chroot session creation in the first place.15:16
xnoxthat would be a change in e.g. vivid.15:16
cjwatsonI didn't know they got the option to avoid that15:16
cjwatsonogra_: doing it right at the end of livecd-rootfs/live-build/auto/build would be a vaguely decent stopgap15:18
xnoxcjwatson: so something connects to usptart socket, and dbus_connection_get_unix_process_id is fetched and then we do readlink on /proc/%lu/root and then we create chroot session.15:18
cjwatsonthe current working directory will be /build within the chroot, so should be just something like "rm -f chroot/etc/init/*.override"15:18
xnoxone can mediate upstart's private socket, or e.g. mount proc with hidepid=215:18
ogra_cjwatson, pitti http://paste.ubuntu.com/10575139/15:19
ogra_cjwatson, right, thats what i just committed :)15:19
cjwatsonogra_: yep, but I'd do it even after those lb calls15:19
ogra_oh, ok15:19
jodhxnox: cjwatson: looks like the problem of not clearing the error stems from the function doc for nih_file_read() claiming it only returns NULL on insufficient memory :(. So, we need a "if (! buf) { err = nih_error_get(); nih_free(err); .. }" by the looks of it.15:19
cjwatsonshouldn't matter, but15:19
cjwatsonjodh: right15:20
pittiogra_: ah, thanks! I was still reading the files to see what they do in teh first place15:20
xnoxcjwatson: oh, but on precise one cannot reliably remount proc with hidepid option, proc fstab entry is ignored by mountall...15:21
jodhxnox: cjwatson: since this still affects the latest version of upstart, should we consider a 1.13.3 release and then cherry pick in the minimal fix as a precise SRU?15:23
* xnox ponders if initctl in the chroot can be direvert, or all calls to upstart be avoiding.15:23
* xnox ponders if initctl in the chroot can be direvert, or all calls to upstart be avoided15:23
ogra_pitti, cjwatson, uploaded15:23
cjwatsonI don't object, although it'll basically be an independent fix rather than a cherry-pick15:23
cjwatsongiven that the baseline code in question has gone away15:23
pittiogra_: danke!15:24
ogra_i'll trigger a new build once rmadison tells me i can15:24
stgraberpitti: not sure if hallyn responded. But my guess is that remove-on-empty doesn't work in that case because systemd is the release_agent, so probably something to fix in the test but I'll let hallyn look at it15:27
jodhSpads: please could you raise an upstart bug for this issue?15:31
pittistgraber: ah, that makes sense15:31
ogra_oh, FWIW the armhf build also failed in the end15:32
ogra_(without producing a lo)15:32
ogra_*log15:32
Spadsjodh: me?15:34
Spadsjodh: I just schlepped logs from buildds :)15:35
SpadsI'm not entirely sure what the diagnosis turned out to be15:35
cjwatsonI'll file one15:39
alexbligh1If I do (e.g.) apt-get download libapache2-mod-proxy-html for version 1:2.4.7-1ubuntu4.4, the resultant filename is libapache2-mod-proxy-html_1%3a2.4.7-1ubuntu4.4_amd64.deb - if I'm putting files into a repo, should I really % encode a colon character, or is that apt-get download being funny?15:40
cjwatsonthe epoch is conventionally stripped entirely in a repo15:40
cjwatsonso it would be libapache2-mod-proxy-html_2.4.7-1ubuntu4.4_amd64.deb15:40
alexbligh1cjwatson, thanks15:41
cjwatsonjodh: https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/143040315:42
ubottuLaunchpad bug 1430403 in upstart (Ubuntu) "ubuntu-touch livefs builds kill upstart in host" [Undecided,New]15:42
jodhcjwatson: thanks.15:44
hallyn_stgraber: pitti: hm.  i wonder whether cgmanager, in the case where a controller was premounted and prune() is called, should fork a thread to manually do the prune15:53
hallyn_:(15:54
hallyn_i mean yes i just not do that test in the systemd case :)15:54
tjaaltonhuh, upgrade killed my session15:54
tjaaltondpkg got stuck at libc postinst15:56
hallyn_pitti: well i'll fix it in a vivid-specific update for now15:56
hallyn_what's the best way to detect systemd?15:57
pittihallyn_: cheers!15:57
pittihallyn_: the canonical way is [ -d /run/systemd/system ]15:57
pittihallyn_: i. e. if that directory exists, systemd is running15:57
hallyn_pitti: and to be sure, the tests will never be run inside an upstart container on a systemd host (in our buildfarm) right?15:57
hallyn_(bc otherwise testing for upstart would not suffice)15:58
xnoxhallyn_: well, if container has it's own /run you are out of luck testing for host's pid 1.15:58
hallyn_xnox: of course15:59
stgraberhallyn_: grep -q cgm-release-agent /proc/$(pidof cgmanager)/root/run/cgmanager/fs/<controler>/release_agent15:59
hallyn_but right now i'm only wanting to avoid the testcase during pkg build, bc we know what's going on.15:59
hallyn_stgraber: would you agree that long-term cgmanager should fork a thread and just stick around and wait to remove the directories?16:00
stgraberhallyn_: yeah, I'd be fine with that. I don't like us turning useful features off when running on systemd16:01
hallyn_i should see how much functionality i can move into systemd during 15.1016:04
hallyn_(while adding features to cgmanager as contingency)16:04
pittihallyn_: that could happen, if we run a test for an older release16:07
tjaaltonhm, systemd/n-m failed to start br0 bridge16:08
Riddellpitti: any thoughts on bug 1430428? live cd booting into ubiquity dm now which doesn't transition into live desktop16:36
ubottubug 1430428 in kubuntu-meta (Ubuntu) "kubuntu: fix live cd boot sequence" [Critical,New] https://launchpad.net/bugs/143042816:36
=== kickinz1 is now known as kickinz1|afk
hallyn_pitti: i made the mistake of upgrading my laptop to vivid.  how do i (1) do the equivalient of running upstart user session, and (2) configuring my (*$&%$ network?  (or just disable the network stuff so i can run wpa_suplicant by hand)16:46
hallyn_btw, now that i'm temporarily back on the network, pushed the cgmanager with workaround16:47
* hallyn_ is livid16:48
hallyn_of course the update did crash mid-way, so maybe netowrking wont' be effed after reboot after dpkg- --configure -a16:51
seb128bdmurray, mvo, could you look at bug #1430436?17:00
ubottubug 1430436 in click (Ubuntu) "15.04 kit creation fails due to create os.remove("%s/sbin/initctl" % mount)" [High,Confirmed] https://launchpad.net/bugs/143043617:00
seb128bdmurray, you added the lines which create the issue so maybe you know why they are needed/if they need to be adapted for systemd?17:00
seb128        os.remove("%s/sbin/initctl" % mount)17:00
seb128        os.symlink("%s/bin/true" % mount, "%s/sbin/initctl" % mount)17:00
seb128replacing initctl by /bin/true17:00
bdmurrayseb128: I'll have a look, but that was quite some time ago.17:01
stgrabermterry: sorry for the very long delay in responding to bug 1413402, just remembered it now...17:08
ubottubug 1413402 in lua-filesystem (Ubuntu) "[MIR] lua-filesystem" [Undecided,New] https://launchpad.net/bugs/141340217:08
seb128bdmurray, I've proposed https://code.launchpad.net/~seb128/click/initctl-not-there/+merge/252479 which is the obvious "don't try if the fail is not there", that should makes the sdk creation not fail but that might not be right/enough (unsure if we want to do something similar with systemctl in the systemd case17:12
seb128bdmurray, in fact it seems logic to do the same for systemctl, updated to do that17:16
mterrystgraber, ah thanks  :)17:20
hallyn_pitti: ok, nm, looks like the failed upgrade was the cause of the trouble;  upstart user jobs under systemd are running now17:23
mdeslaurpitti: it worked, my nfs mount mounted at boot17:24
bdmurrayseb128: I really don't recall why that's there and I'm not in the click hackers group as it stands so I think mvo is a better contact.17:29
seb128bdmurray, k, fair enough, mvo is not around though... but I guess the sdk can be buggy until tomorrow in vivid, not the end of the world17:30
cjwatsonseb128: I commented, I don't think the systemctl case is necessary, better to stay in line with the other tools17:30
cjwatsonbdmurray,pitti: https://bugs.launchpad.net/launchpad/+bug/1430431 - what is it that likes to dupe crashes even if the dupe target is private, anyway?17:31
ubottuLaunchpad bug 1430431 in Launchpad itself "automatic reporting fails - Error: Page not found" [Undecided,New]17:31
cjwatsonit's clearly not a Launchpad bug, we can't just show private bugs because it upsets people when we don't, but I don't know where to reassign that17:31
bdmurraycjwatson: its the retracer17:32
cjwatsonbdmurray: is that the daisy project?17:32
cjwatsonor apport?17:33
bdmurraycjwatson: its apport in this case17:33
cjwatsonthanks17:33
bdmurraycjwatson: bug 67587517:34
ubottubug 675875 in apport (Ubuntu) "apport retracing service tells me to view a private bug report" [Wishlist,Triaged] https://launchpad.net/bugs/67587517:34
cjwatsonaha17:34
seb128cjwatson, ok, thanks17:34
seb128cjwatson, I changed it back to just check for initctl and do nothing if not there, if you want to approve I can put that in a silo17:37
sarnoldpitti: thanks for the systemd-boot hint17:41
seb128tyhicks, hey, you marked https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/769595 as invalid for ecryptfs, do you think there is any chance to make home mounts work out of the box/without requiring user edition for ecryptfs users? (that currently makes the sdk fail to create schroots envs in a non obvious way)17:45
ubottuLaunchpad bug 769595 in schroot (Ubuntu) "Encrypted home not mountable under chroot" [High,Triaged]17:45
tyhicksseb128: hey - what do you mean by "requiring user edition"?17:52
seb128tyhicks, https://bugs.launchpad.net/ubuntu/+source/click/+bug/142726417:52
ubottuLaunchpad bug 1427264 in click (Ubuntu) "using ecryptfs, creating frameworks fail to bind mount issues" [High,New]17:52
jodhcjwatson: slangasek: I've attached a minimal patch to bug 1430403 along with a way to recreate. I guess you may want to consider applying this before the official SRU gets out.17:53
ubottubug 1430403 in upstart (Ubuntu) "ubuntu-touch livefs builds kill upstart in host" [High,Confirmed] https://launchpad.net/bugs/143040317:53
seb128tyhicks, basically schroot seems grumpy/can't unmount userdirs it mounts with the default fstab17:53
seb128tyhicks, which is what is described in that bug no?17:53
tyhicksseb128: I can't see how that could be fixed with a change to eCryptfs17:55
tyhicksseb128: but I'll poke at it a bit and update the bug with what I find17:55
seb128tyhicks, well, I didn't say it should be fixed in ecryptfs, but you seemed to have an understanding of the problem so I wanted to know if you had any suggestion on how we could get things to work out of the box17:56
dokocjwatson, infinity: https://launchpad.net/ubuntu/+source/dynare/4.4.3-1 says that dynare-matlab should be in the archive, but apt-cache show doesn't say so17:56
seb128tyhicks, we just had a new designer running into the same "can't unmount" issue making the schroot creating fail for the sdk17:56
tyhicksseb128: I think kirkland's suggestion is actually the better fix (if it works): https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/769595/comments/217:57
ubottuLaunchpad bug 769595 in schroot (Ubuntu) "Encrypted home not mountable under chroot" [High,Triaged]17:57
cjwatsondoko:  dynare-matlab | 4.4.3-1        | vivid/multiverse   | all17:57
cjwatsonfix your sources.list17:57
dokoargh17:58
cjwatsonit's in contrib in Debian, so that matches17:58
dokosorry17:58
tyhicks(oh, kirk land didn't suggest that)17:58
seb128tyhicks, https://bugs.launchpad.net/ubuntu/+source/schroot/+bug/791908 suggests that rbind is disabled in our kernel because it creates issues with autofs17:58
ubottuLaunchpad bug 791908 in schroot (Ubuntu) "Schroot doesn't mount /home submounts in the chroot" [Medium,Confirmed]17:58
seb128tyhicks, in fact the default config uses rbind in click, but that seems to not work, I guess due to ^17:59
tyhicksseb128: I don't see where anyone says that we've disabled rbind in our kernel18:01
tyhicksseb128: sounds like rbind interacts badly with autofs but it is still available to use at the kernel level18:01
seb128tyhicks, I misread "Once the kernel is fixed to allow rbind to work safely, we can re-enable this."18:05
seb128tyhicks, I don't know why the default config that uses rbind doesn't work then18:06
tyhicksseb128: ok, I'll take a look at that by eod18:07
seb128tyhicks, thanks a lot18:08
tyhicksnp!18:08
tjaaltonhrm, the latest libc upgrade has now killed sessions on two of my desktops while it was setting it up18:21
tjaaltonxserver crashes: (EE) Cannot establish any listening sockets18:24
sarnoldanything in dmesg?18:25
tjaaltonsystemd started18:25
tjaaltonso maybe it's messing things up a bit18:26
cjwatsonseb128: that's fine thanks, please go ahead18:27
cjwatson(click/initctl)18:27
seb128cjwatson, thanks18:27
infinitymlankhorst: Oh, before I forget and we have the same timing fiasco again, can we make sure the lts-vivid stack is prepped early and kept refreshed, so you can land it pretty much right after vivid's release?18:30
infinitytjaalton: Was your system booted with upstart before the upgrade?18:30
mlankhorstinfinity: I've had utopic stack ready in the ppa before the release, just didn't apply some of the sru's..18:31
tjaaltoninfinity: yes18:32
infinitytjaalton: Given that the latest libc upgrade was before the systemd swap, I'm guessing perhaps some bad interaction between updating libc (which tries to restart init) and systemd taking over the world.18:32
tjaaltonyeah :/18:32
tjaaltonX gets seriously confused18:32
infinitytjaalton: Hrm.  We'll definitely need to fix that one.  But I'm trying to think of how best to go about it.18:34
tjaaltonpre-depends?18:36
infinityNo.18:36
infinityAlso, ew.18:36
infinityIt's just that the "detect your init system and decide what to do" logic used in a few postinsts (libc isn't alone here) never accounted for the bizarre idea that you might swap the provider of /sbin/init halfway through your upgrade.18:37
infinityOr, rather, the provider of telinit, but same end result.18:38
infinityI would almost be inclined to suggest it's a systemd bug that "telinit u" execs systemd when the currently running PID 1 *isn't* systemd.18:39
infinitypitti: ^-- Thoughts?18:39
infinity       u, U18:39
infinity           Serialize state, reexecute daemon and deserialize state again. This is equivalent to18:39
infinity           systemctl daemon-reexec.18:39
smoserbarry, so lets just say that i am being a luddite. and i'd like for fh.write(some_bytes_or_string)) to behave just like it did in simpler times of python2.18:39
infinitySeems unintuitive that "daemon-reexec" will also just do a frech exec if it has nothing to serialize and re-exec.18:39
smoseris there a way to accomplish such a thing?18:40
lifelesssmoser: you can write a wrapper18:40
lifelesssmoser: MagicFile(somebyteorientedfile, encoding)18:40
smoserright.. but more i'm asking what was the magic decoding that happened in python2.18:41
lifelesssmoser: and in that create two handles18:41
barrysmoser: well, a str in py2 is not the same thing as a str in py3, so you're really asking for fh.write(some_bytes_or_string_or_unicode)18:41
lifelesssmoser: the magic decoding was that any operation between str and unicode triggered a .decode('ascii') on the str side18:41
barrywhich i think is fundamentally flawed ;)18:41
lifelesssmoser:which is so reidiculously fragile....18:41
lifelesssmoser: and that mechanism doesn't exist in 3; so you have to actually do type inspection in ones own code18:42
lifelesssmoser: to emulate it18:42
barrysmoser: what you might do is before the fh.write() call, do an isinstance test, and if the thing is not a bytes, encode it to utf-8 first.  (you could try ascii, catch the exception, and then try utf-8, and maybe you want/need other encodings too, but mostly utf-8 should do the trick in the common cases)18:43
lifelesssmoser: see e.g. the cpython implementation of makedirs which does an isinstance check for bytes vs string in its own innards18:43
smoserbut what did python2 do ?18:44
lifelesssmoser: whats the thing you're doing where this is attractive?18:44
smoserbecause you never got a encoding exception if it was trying to fit into ascii what didn't fit there.18:44
lifelesssmoser: I answered that above - the interpreter triggered a .decode('ascii') call18:44
smoserlifeless, i already admitted to being a luddite.18:45
barrysmoser: right, but also, the io system was completely different in py2 so py3 is more strict (properly so) about whether you're trying to e.g. write bytes to a fh open in text mode18:45
barryor vice versa, season to taste18:45
lifelesssmoser: I'm confused18:45
lifelesssmoser: are you trying to understand what happened, or to reproduce it in Python 3?18:45
infinitytjaalton: Can you file a bug against systemd and subscribe pitti and I, so it doesn't get lost in the noise of IRC and brain backscroll?18:46
lifelesssmoser: since you can't reproduce the entire thing in Python 3, I think barry and I are trying to offer enough support to let you figure out the closest approximation18:46
infinitytjaalton: I *think* I want to blame systemd, but if we have to, we can alter a bunch of postinsts to work around it.18:46
ericsnowpitti: ping18:46
smoserlifeless, in this case i want it to behave like python2. because that worked. and i understand all the reasons that that is bad.18:46
lifelesssmoser: so we can do that for a single call site at a time.18:47
infinityericsnow: It's late in pitti-land, a contentless ping might not get you much.18:47
lifelesssmoser: we cannot do that for a whole program with all the things it might call18:47
ericsnowinfinity: k, thanks18:47
infinityericsnow: Adding some content might get you something useful though. :P18:47
barrylifeless: without some homebrew helper he uses everywhere of course :)18:48
lifelesssmoser: if you have a small number of common objects that are causing you grief (e.g. you're just now porting something with confused string types)18:48
ericsnowinfinity: I'm just trying to verify that vivid made the systemd switch yesterday18:48
barryericsnow: it did18:48
lifelesssmoser: then the best thing to do is to add isinstnace code either around or inside those common things18:48
tjaaltoninfinity: sure thing18:48
ericsnowbarry: that's what it smelled like :)18:48
barryericsnow: it borked one of my vms, but i had a disk snapshot which i reverted to and the second time it upgraded (almost) flawlessly18:48
barryericsnow: one possibility: are you on vivid channel or devel channel?18:49
barrysmoser: yep, i think `if not isinstance(obj, bytes): obj = obj.encode('utf-8')` is probably as close as you're going to get18:50
ericsnowbarry: neither (other than ubuntu-devel, if that's what you mean)18:50
barrywhich isn't so much a fix as a tourniquet ;)18:50
smoserbarry, lifeless thanks.18:51
ericsnowbarry: ah, unicode porting issue :/18:51
barryericsnow: i use rolling releases and was on 'devel' channel in sources.list but that seemed to cause my problem.  when i restored the disk image and s/devel/vivid/ it seemed to be okay18:51
lifelessbarry: smoser: and/or .decode as appropriate18:51
barryericsnow: yep.  more fun than any developer should be allowed to have18:51
lifelesssmoser: what code base is it, and is our guess about porting right?18:51
barrylifeless: yep18:51
ericsnowbarry: oh, that kind of channel (thought you meant IRC)18:52
barryericsnow: yeah :)  other possibility of course is upgrading from utopic to vivid, but i wasn't doing that18:52
ericsnowsmoser: if you're looking at how to decide the init system, you could check out how we're doing it in juju: https://github.com/juju/juju/blob/master/service/discovery.go18:52
infinitybarry: devel is literally just a symlink to vivid, I expect your science was flawed there.18:53
barryinfinity: or i was just unlucky in my timing18:53
barryinfinity: although i have seen some errors from apt-get upgrade when literally using devel that don't show up w/vivid.  i suppose i should report that somewhere18:54
smoserlifeless, well, i'm looking at curtin now. i've had plenty of pain in 2to3 already.18:54
* barry wishes he really had guido's time machine keys and could go back and kill the automatic coercion grandpa18:55
infinityericsnow: Assuming init system based on OS version is probably not the sanest thing, FWIW.18:56
tjaaltoninfinity: filed, pitti should get all the bugs already18:57
infinityericsnow: Ahh, nevermind, that's a last ditch fallback attempt after trying to do it sanely, I guess.18:57
ericsnowinfinity: right18:57
ericsnowinfinity: though we also key off the version in cases where we are working with a remote host (e.g. building a cloud init script)18:58
lifelesssmoser: personally I never use 2to318:58
lifelesssmoser: six + single source is much easier to maintain IME18:58
smoseri'm not using 2to318:58
lifelesssmoser: oh good :) I was thrown by your comment about pain in it18:58
smoserwriting code for 2 different interpreters is painful18:58
lifelesssmoser: right - so this is what I do:18:59
lifeless - write for 2.7 only18:59
barrysmoser: only when the str/bytes model isn't clean (which unfortunately is the case for a lot of existing py2 code)18:59
lifeless - use the backported io subsystem (which was added in 2.6) instead of the default IO subsystem18:59
lifelessthis works pretty well19:00
lifelesswith a very small number of PY2 checks - unittest2, traceback2, linecache2, testtools etc are all like this19:00
lifelessoh, and unicode string literals make a huge swath of pain go away19:02
lifelessIIRC they are 2.7 only, so I can't use them yet since my projects tend to still support 2.6 and 3.219:02
lifelessso I have u("9~...") everywhere19:03
jtaylorwhy 3.2?19:03
jtaylorthat should have pretty much 0 users19:03
barryprecise lts is my guess19:03
jtaylorits in precise, but I doubt anybody actually uses it19:04
lifelessprecise19:04
jtaylorif your stuck on precise you are more likely also still using python219:04
lifelesseasier to support it than to get bug reports19:04
lifelesson every release19:04
barryjtaylor: the server code which generates system-image.ubuntu.com :(19:04
barry(in my particular case)19:04
lifelesse.g. if I broke 3.2 support in unittest2, barry might well get unhappy :)19:05
lifeless(or in testtools, or ...)19:05
hallyn_except... apparently my custon /etc/acpi scripts were removed19:05
smoseris there a way to open sys.stdout in bytes ?19:05
hallyn_bastards19:05
barry:)19:05
lifelesssmoser: yes19:05
lifelesssmoser: python3 -u19:06
lifelesssmoser: (or reopen at runtime, just fdopen however you want it and assign to sys.stdout19:06
smoserk. thanks, lifeless.19:07
=== roadmr is now known as roadmr_afk
lifelesssmoser: but - I'd worry about doing this - why do you need stdout in binary?19:07
smoserbecause this code is just piping to 2 different places (stdout) and to a log the output of a command.19:07
smoserand i'd rather not take overhead of encode() on every byte read.19:08
smosernor do i want to deal with failure to encode19:08
lifelesssmoser: but AFAICT curtin has one entry point19:09
lifelessso you're going to force byte-internals for all of curtin if you do it this way, no ?19:09
lifelesssmoser: why don't you put the pip in nonblocking mode rather than reading byte at a time19:10
lifelesssmoser: that would be a lot faster overall - more than enough to offset the encode/decode overheads19:10
lifelesssmoser: also you can write to sys.stdout.buffer directly if you have bytes to write19:11
lifelesssmoser: assuming you're talking about http://bazaar.launchpad.net/~curtin-dev/curtin/trunk/view/head:/curtin/commands/install.py#L13719:11
smoserlifeless, yes, thats the code. the write there is getting output of a command.19:13
smoserie, the subprocess.PIPE stdout.19:13
smoseri'm certain that this is not the best way to do this.19:13
=== Streamstormer_ is now known as Streamstormer
lifelesssmoser: right so the least change is to change self.write to use stdout.buffer.write rather than stdout.write19:28
zygahey, not sure who to address this to, I'm interested in seeing the Ubuntu SDK components in Debian19:29
zygaI'm not sure if this includes unity19:29
zygaI'm hoping for the lowest common denominator19:29
zygaso that a converged mobile/desktop application which works fine in Ubuntu19:29
zygacan be also available in Debian19:29
zygaI need hints on who to talk to and if this has been attempted before19:30
lifelesssmoser: (or make a new io.BufferedWriter(sys.stdout.buffer)19:30
lifelesssmoser: hmm no need for that, just use sys.stdout.buffer, its a BufferedWriter already19:31
lifelesssmoser: and open install_log as 'wb' to get a bytes expecting log19:44
smoseryeah.19:44
smoserdid that.19:44
lifelessif you have other code thats writing string literals to install log, you could have two objects, one Text and one the BufferedWriter19:45
smoserlifeless, in python2, no sys.stdout.buffer.19:48
lifelesssmoser: ok, so you need single source19:49
lifelesssmoser: let me dig up a code ref for you19:49
lifelesssmoser: https://github.com/testing-cabal/subunit/blob/master/python/subunit/run.py#L13319:51
lifelessoh, nope thats not the code I was thinking of19:51
lifelesssmoser: but its generalisable19:51
smoseri was just doing the hasattr check on sys.stdout19:52
lifelessif you do the io.open(stdout.fileno(), 'wb', 0) thing you'll get a stdout thats in binary mode,19:53
lifelessif you open it in 'wt' via io.open you'll get the three stack, IIRC.19:53
lifelessin both 2.x and 3.x19:53
lifelesssmoser: so http://paste.openstack.org/show/191400/19:56
lifelesssmoser: then you just write good type aware code through the rest of curtin - stdout for text, stdout.buffer for bytes19:56
smoserlifeless, but in this case i dont want it in wt19:56
lifelesssmoser: (that trasnscript is from 2.7)19:56
smoserright ? i want it in bytes.19:56
lifelesssmoser: you're never going to write messages for humans?19:56
lifelesssmoser: anywhere in curtin ?19:57
lifelesse.g. localisation19:57
=== roadmr_afk is now known as roadmr
smoserok. i was just confused.19:59
smoseryou're saying opening in wt still allows me to write bytes to .buffer19:59
lifelessyes19:59
=== greyback__ is now known as greyback
lifelessit will give you the same structure as python3 has by default19:59
lifelesson python3 open is io.open, on python2 open is a builtin magic thing and io.open is there if you wish to use it20:00
tjaaltonwin 2320:46
Unit193/20:46
tjaaltonindeed20:46
=== seb128_ is now known as seb128
seb128could some buildd admin retry https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/landing-025/+build/7048336 ?21:58
wgrantseb128: Done.22:23
seb128wgrant, thanks22:23
bluesabreIs anybody available to force a rebuild of three packages? https://bugs.launchpad.net/ubuntu/+source/xfce4-session/+bug/1424887/comments/1222:45
ubottuLaunchpad bug 1424887 in xfce4-settings (Ubuntu) "[FFe] Xfce 4.12 for Vivid" [Undecided,Triaged]22:45
roaksoaxpitti: are we keeping service commands for systemd or should we also adapt our code to do systemctl ?23:00
cjwatsonbluesabre: doesn't need an archive admin, just any uploader - Ubuntu doesn't have special binNMUs like Debian, we just do new source uploads23:01
cjwatsonroaksoax: service still exists and works23:01
bluesabrecjwatson: It's outside of the xubuntu packageset, so was hoping to grab somebody in here23:02
roaksoaxcjwatson: but in vivid it will start systemd units23:02
cjwatsonroaksoax: yes, that's worked for ages.  grep systemctl /usr/sbin/service23:03
cjwatsonbluesabre: sure, I'm just saying that if you're looking for core-devs rather than archive admins then that's a much wider pool of people23:03
roaksoaxcjwatson: cool thanks23:12
bluesabrecjwatson: agreed, thanks :)23:12
=== cmagina_ is now known as cmagina

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