[03:29] larsu, https://code.launchpad.net/~darkxst/gnome-contacts/titlebar === duflu_ is now known as duflu [06:00] Good morning [06:16] good morning [06:55] morning! [06:56] hey larsu :) [06:57] good morning desktopers [06:57] hey didrocks larsu [06:58] re seb128 [06:59] bonjour didrocks, seb128, et larsu ! [07:01] hey pitti :) [07:01] channel getting active suddenly [07:02] bonjour pitti! [07:05] hey pitti [07:05] wie gehts? [07:08] pitti: thinking more about the emergency tmp thing… one solution would be to use something like that: http://paste.ubuntu.com/10523961/ [07:09] pitti: that way /tmp being a tmpfs or not, if the system isn't ro and have less than 50, we do that remount + tag (but this adds another mount point if /tmp was already a tmpfs) [07:09] 50M* [07:10] the thing is that if /tmp is mounted as tmpfs already with less than 50M of free space, it will always have that remount on top of it (not sure if that's a valid case for us though) [07:15] didrocks: well, if that happens (low-RAM systems), your new tmpfs isn't going to have more? [07:17] pitti: right, it's just that it will have this errornous mount [07:18] or I need to detect that /tmp isn't a tmpfs already [07:18] or I just Conflicts=tmp.mount [07:19] can do this, anyway, we detected the remaining disk space on a tmpfs in that case, so the remount with "overflow" has no meaning [07:22] didrocks: btw, can we avoid the subshells and awk? [07:22] $ for avail in $(df -BM --output=avail /tmp/); do true; done; echo ${avail%[^0-9]} [07:22] 7589 [07:22] the for loop is ugly, but I don't know how to split on \n in POSIX [07:23] and no cookies for df to not have a --no-headers option :) [07:23] pitti: if you prefer the loop approach, sure [07:24] didrocks: oh, wait [07:24] Trevinho: morning. I'm afraid to ask, but how is the gtkframeextents work coming along? [07:24] $ stat -f -c %f /tmp/ [07:24] 1942715 [07:24] ? [07:24] didrocks: ^ [07:26] pitti: raw mode in hex ? [07:26] didrocks: no, free blocks in the file system [07:26] or, if you want the MB [07:26] $ echo $(($(stat -f -c '%S*%f/1000000' /tmp/))) [07:27] 7957 [07:27] that's still just one stat call, the rest is pure shell [07:27] pitti: yeah, sounds good that way! [07:27] didrocks: je suis désolé [07:27] pitti: however, there is still a race in the systemd mount… [07:27] show me a bit of expensive shell, and I can't resist optimizing away the execs.. [07:28] pitti: heh, that's fine, and thanks for it :) [07:28] why would it be a race, with teh After=? [07:28] pitti: I don't know, it mounts even if not enabled the mount point… [07:28] as if it was taking tmp.mount into consideration [07:28] oh, the ConditionPathIsReadWrite=/tmp sounds like a race? [07:29] pitti: well, it shouldn't mount /tmp as tmpfs still [07:29] conditions are evalated as pretty much the first thing in systemd when building the transaction, way before actually running the unit, no? [07:29] ah, so this is another issue then :p [07:29] pitti: but even without that, there is no reason in my scenario to have /tmp mounted in tmpfs [07:30] enough disk space [07:30] tmp.mount not enable [07:30] and 50% of the boots, it's enabled [07:30] oh, and the unit will fail if there's enough space [07:31] didrocks: hm, I don't know why it would run then [07:31] debug log? [07:31] pitti: can try, but remember yesterday what happened… [07:34] pitti: so ConditionPathIsReadWrite=/tmp is making it mounting 50% of the time here [07:34] with ExecStart=/bin/echo true [07:34] so not the service mounting itself [07:35] didrocks: that's without having /tmp/ in fstab and tmp.mount disabled? i. e. /tmp on the root partition? [07:35] didrocks: then that sounds like it's racing with remount-root.service? [07:35] pitti: right, no /tmp in fstabe and tmp.mount disabled [07:35] but I'm not sure if ConditionPathIsMountPoint=!/tmp/ would actually help [07:36] I figure not [07:36] it's the early boot transaction, pretty much anything can happen [07:36] and mounts aren't set up yet [07:37] so we need to test that in the shell? [07:37] hum [07:37] I disbled it [07:37] disabled* [07:38] and now, it's again mounted as tmpfs [07:38] wth? [07:38] didrocks: so what's the problem now? you want your unit to *always* run, not just sometimes; so the ConditionPathIsReadWrite=/tmp needs to go [07:38] and then the shell tests if there's enough space on /, and mounts a tmpfs on it if not [07:39] and the After=tmp.mount will make sure that you don't do it if you enable tmp.mount [07:39] the remaining problem will be if you mount /tmp in fstab [07:39] pitti: no, the condition is not enough, if the image is ro, are we ensure we will mount /tmp as tmps? [07:39] ah no, that'll generate a tmp.mount too [07:40] didrocks: if the image is ro, it's not that unit's job to ensure that the system has a tmp [07:40] then we do need tmp.mount or fstab [07:40] or initramfs, or wherever [07:40] pitti: ok, so we always consider that /tmp is rw after tmp.mount [07:41] but that doesn't fix the race anyway, I still get it even without ConditionPathIsReadWrite=/tmp or the symlink test [07:41] (less often though) [07:41] I wonder if it's not the After= or Conflicts= [07:42] didrocks: how about After=systemd-remount-fs.service ? [07:42] pitti: why would that fix tmp mounted as tmpfs? [07:44] so, it's either the Conflicts= or After= [07:44] it seems to enable tmp.mount, where it shouldn't [07:44] * didrocks tries with just one [07:45] After= "enables it" [07:45] let me try with Conflicts= only [07:46] didrocks: I mean, we want this to run after root is r/w, but before local-fs.target [07:46] didrocks: if it runs while root is still r/o, we know even less about the state of the system [07:46] pitti: yeah, but that's not related to the race/bug I'm seeing, right? [07:47] pitti: btw, tmp.mount should maybe has that After=systemd-remount-fs.service as well in that case [07:47] didrocks: so with "After=systemd-remount-fs.service tmp.mount", we know that /tmp from tmp.mount or fstab already happened, and that we can check if /tmp is a mountpoint or if the root fs is r/o [07:47] * didrocks is lost, seems like we are having 2 discussions… [07:48] didrocks: yeah, I wonder if it implicitly has After=local-fs-pre.target, i. e. mounts are only done after that (but I'm not sure) [07:48] I'm trying 30 boots first to isolate the current issue, where systemd mounts /tmp as tmpfs, where it shouldn't [07:48] didrocks: I don't understand your race yet [07:48] pitti: tmp.mount disabled, no /tmp mount in fstab [07:48] if I bring a dummy service which is enabled with ExecStart=/bin/echo True [07:48] if it states After=tmp.mount [07:49] then, /tmp will sometimes be mounted as tmpfs [07:49] and confirmed that I see the same with Conflicts=tmp.mount [07:49] ok, I don't understand that for sure [07:49] seems that then it evaluates and enable tmp.mount [07:49] After= shouldn't enable tmp.mount [07:49] right [07:50] retrying 10 boots without the After/Conflicts [07:52] pitti: yeah, so 10 boots out of 10 without /tmp being mounted as tmpfs without After/Conflicts [07:52] so they are bringing/enabling tmp.mount for unknown reasons :/ [07:53] rebooting in debug mode with those 2 markers [07:55] Mar 04 08:54:37 autopkgtest systemd[1]: Deleting job tmp.mount/stop as dependency of job systemd-timesyncd.service/stop [07:55] Mar 04 08:54:37 autopkgtest systemd[1]: Deleting job emergency-tmpfs.service/start as dependency of job tmp.mount/stop [07:55] Mar 04 08:54:37 autopkgtest systemd[1]: Installed new job tmp.mount/start as 50 [07:55] pitti: yeah, the journal clearly shows that tmp.mount is executed [07:56] didrocks: hm, then I have no idea why :/ I see why this would happen if you call mount on /tmp/ manually, but you said you took that out [07:56] Loaded: loaded (/lib/systemd/system/tmp.mount; disabled; vendor preset: enabled) [07:56] i. e. removed/disabled that Exec= line [07:57] pitti: yeah, my job is /bin/echo foo [07:57] systemd bug it seems :/ [07:58] pitti: seems like the most robust way was yesterday's extension with current systemd… [07:58] but it has the issue to mark as "overflow" ro system [08:01] didrocks: which one was that? the .service? or the tmp.mount.d/ snippet? [08:02] pitti: tmp.mount.d snippet [08:02] with the generator [08:06] didrocks: ah, hmm; I still think generators run too early to be able to decide that [08:06] pitti: but we can't have any service using After=/Conflicts=tmp.mount due to this bug… seems like we are stuck then [08:06] didrocks: yeah, I'd ask on the upstream ML about that, this seems ood [08:06] odd [08:06] seems a not-fun-bug to go to the dependency hell [08:10] pitti: would be more confortable posting if anyone can reproduce that, but well, posting [08:11] didrocks: I thought you had a simple dummy unit with After= and Exec=/bin/true? [08:11] pitti: yeah, that's what I have [08:11] didrocks: I can try that here [08:11] pitti: that would be nice :) [08:11] argh, I lost my adt VM, using my pid1 one [08:11] hum [08:12] not nice for reboot testing… [08:14] didrocks: reproduced with http://paste.ubuntu.com/10524411/ [08:16] pitti: ok, I'm not that crazy then [08:17] didrocks: lost because of bug 1427999 FYI :) [08:17] bug 1427999 in cloud-init (Ubuntu) "cloud images don't boot with systemd" [Critical,New] https://launchpad.net/bugs/1427999 [08:17] apparently they got switched last night [08:18] Any webapp team here? Any idea why clicking 'executing this code now' in this page does nothing? [08:18] https://developer.ubuntu.com/api/devel/ubuntu-13.10/javascript/web-docs/index.html [08:18] pitti: argh :/ without warning you? [08:18] excalibr: I would try #ubuntu-touch rather [08:19] didrocks: well, I don't mind the "not warning", just that they are broken now [08:19] didrocks: trying to juggle the touch seeds now, I'll get to that later [08:19] didrocks, but that is desktop integration, no? [08:20] excalibr: yeah, but they are not on that channel, mostly the touch one [08:21] pitti: email sent, let's see [09:03] hullo [09:04] hi Laney! [09:05] hey Laney [09:06] how's it going? [09:06] hey Laney [09:06] hi pitti [09:07] darkxst: nice! Only issue I can see is that the change addressbook dialog still uses a header bar [09:07] Laney: good good, thanks. Getting a new laptop today :) [09:07] Laney: you? [09:07] oh, finally! [09:08] larsu: ah, nice! which one do you get? [09:08] doing good, managed to get a dentist appointment today [09:08] Laney: ya, took them some time to deliver... [09:08] toothache be gone [09:08] pitti: the new x1 [09:08] (yes I know, with spyware - didn't know this when I ordered ;) ) [09:09] Laney: ouch, time for dentist? [09:09] yep [09:09] Laney: all the best! [09:09] they gave me one the same day, quite impressed [09:09] Laney: *shrug* I'm root on your laptop either way :) [09:09] err, larsu ^ [09:09] well, it's equally true for Laney [09:09] ha [09:09] you can use your root here to give me a root canal ... [09:10] pitti: haha [09:10] scary [09:10] Laney: "one" -> appointment? [09:10] yes [09:19] larsu, change address dialog doesnt seem to set headers [09:19] and it should be off by default for custom dialogs? right? [09:22] darkxst: it should look at Gtk/DialogsUseHeaders [09:22] not sure why it doesn't work in this case [09:23] look for use-header-bar being set, or gtk_dialog_new_with_header [09:24] you have to fetch the value from gtksettings and pass it in yourself [09:24] * larsu is annoyed that apps have to do that === greyback_ is now known as greyback [09:28] Laney, will you be packaging GTK 2.24.27 for 15.04 or backporting the recent commits? [09:32] I already backported those commits [09:34] larsu ok, can override it easy enough, but all of the few dialog bugs I have seen have been because of hardcoded use-headers type things [09:36] darkxst: like what? [09:36] larsu, apps hardcoding use-header to true [09:37] larsu, admittedly I haven't fixed a huge number of dialogs though [09:38] Laney, great. [09:38] darkxst: it shouldn't hard-code to true... [09:38] darkxst: but find out which desktop its running on [09:39] gtk dialogs do that, but apparently every app needs to do it itself [09:39] larsu, I mean apps hardcoding gtk dialogs to use headers [09:41] larsu, https://bug745566.bugzilla-attachments.gnome.org/attachment.cgi?id=298494 [09:42] darkxst: ah, that's even more annoying [09:42] why can't GtkDialog just do the right thinG? [09:42] * larsu had some patches for that at some point but forgot [09:43] larsu, it only does the right thing for built-in dialogs atm? [09:43] ya [09:46] didrocks, re ping last night, I assume you were talking about grilo-plugins-extra? that indeed should stay in universe [09:47] darkxst: can you please answer it to doko? he seemed to have been puzzled about it [09:47] (probably on -devel, where the ping was) === MacSlow is now known as MacSlow|lunch [12:20] pitti: the more I poke, the more it becomes interesting [12:20] (see upstream ML) [12:20] * didrocks goes for a run [12:21] didrocks: urgh [12:26] desrt: howdy, know anything about g_socket_send_messages being broken on sparc/linux? https://buildd.debian.org/status/fetch.php?pkg=glib2.0&arch=sparc&ver=2.43.91-1&stamp=1425414202 === alan_g is now known as alan_g|lunch === MacSlow|lunch is now known as MacSlow === alan_g|lunch is now known as alan_g [14:15] getting there: http://i.imgur.com/z3ZdNDZ.png [14:15] larsu, nice! [14:15] seb128: pure css (except the icon part itself) [14:16] seb128: turns out Radiance has totally different colors... [14:16] but meh, works in both now [14:16] great [14:17] larsu, speaking of which, the indicators selection dots are buggy since the GTK update under it [14:17] they are white on grey [14:18] seb128: which ones? I only see them in the session menu, and those are colored darkly for me [14:20] larsu, the messaging menu status [14:21] seb128: indeed! [14:21] weird, should be the same code [14:21] I'll look into it [14:22] but ups person was just here bringing me a laptop. So might take a bit ;) [14:24] larsu, have fun! [14:29] pitti: I'm a little bit more lost with Lennart's answer, though [14:30] on to why tmp.mount is pulled in sometimes then [14:36] pitti: from what he wrote about condition evaluation, there is no reason at all why systemd-timesyncd.service is sometimes started, sometimes not [14:37] pitti: I'm a little bit afraid about the answer on dependency [14:38] Laney, Do you have a sec to give me a nudge in the right direction? [14:39] Laney: i mean like, wtf? [14:40] no sendmmsg on solaris? [14:40] erm. sparc. [14:40] * didrocks maintained some sparc machines at previous job [14:41] was the kernel randomly missing features on them? [14:41] I was more remember of a lot of common utility not behaving the same than other platforms [14:41] like "killall" not taking arguments… [14:41] oh. that sounds like solaris, rather :) [14:41] yeah, sparc does this as well [14:42] linux on sparc is still linux... [14:42] and GNU on sparc is still GNU.... [14:42] i can't imagine that userland is substantially different in any way... [14:42] Laney: any chance that the sparc builds are being done on a machine with an old kernel? [14:43] desrt: solaris running on sparc processors is still solaris :p (sparc doesn't imply linux) [14:43] well, certainly not [14:43] but you're complaining about sparc when you should be complaining about solaris [14:44] indeed, sorry, but that was the naming convention (mostly by architecture) at the job, hence it's stuck on my brain [14:44] Laney: so linux on sparc gained support for the sendmmsg syscall particularly late.... early in the 3.x series... could be that the builder still has an older kernel than that? [14:46] would be nice if the builder stuff put the uname in the log along with all of the other envvars and such [14:56] didrocks: (sorry, too busy.. but maybe he's right, and we'll just enable tmp.mount on vivid+1, and be done with it..) [14:57] pitti: so, won't fix it for vivid? [14:58] pitti: still doesn't explain why the systemd-timesyncd.service is sometimes started, but well, I'll get that to "backlog" for now [14:58] and do the workaroud for machin-commit-id on overlayfs [14:58] didrocks: ah nice, did you find out something there? [14:59] pitti: overlayfs stat report different major block on file and folders [14:59] so it's seen as a different mount point [14:59] WTH? [14:59] discussed with apw, he can't think of a way to know if a file is a mountpoint with overlayfs [14:59] so I can't fix that centrally in systemd is_mount_point() call [14:59] didrocks: ok; well, not worth fixing then I guess, as it's just cosmetical? [15:00] well, I can at least in machine-id-commit, add a distro patch (because I guess upstream will tell "fix overlayfs") that if you can't unmount /etc/machine-id, instead of exit(1) right away, I check if the file system is overlayfs [15:00] in that case, I exit 0 [15:54] desrt: not sure, one sec [15:55] Laney: assuming that this is caused by an old builder, i'm not really likely to want to fix it.... [15:55] oh yeah it totally is [15:55] Kernel: Linux 2.6.32-5-sparc64-smp sparc (sparc64) [15:56] ya... so there's the issue [15:56] i guess you could hack that test out if you're on sparc? :/ [15:57] presumably this is for sid... which would have a new enough kernel, for sure [15:58] *shrug* this is the price of having wildly mismatched libc and kernel versions [16:03] I'm asking #debian-sparc to see what's up [16:03] flexiondotorg: you rang? [16:04] Laney, Thanks for checking in. pitti steered me in thr right direction. [16:04] 'kay [16:04] Laney, I've fixed up ubuntu-mate-settings, just doin gthe final testing now. [16:04] Laney, nothing in /etc/skel [16:04] oh man, happy days [16:04] Laney, Everything MATE specific too. [16:35] Laney, I've pushed my changes. Would be interested to here your thoughts. [16:35] http://bazaar.launchpad.net/~ubuntu-mate-dev/ubuntu-mate/ubuntu-mate-settings/files [16:35] https://bugs.launchpad.net/ubuntu/+source/ubuntu-mate-settings/+bug/1427182 [16:36] Ubuntu bug 1427182 in ubuntu-mate "ubuntu-mate-settings package needs updating" [Critical,New] [16:38] ok, will look when I get a chance === dpm_ is now known as dpm [17:24] seb128: can we top-approve and merge https://code.launchpad.net/~attente/maliit/1245925/+merge/250311? [17:25] attente_, sure, did you try to ask to one of the ubuntu-touch/ubuntu-keyboard guys to give it a try just to get an extra confirmation? [17:28] seb128: will do [17:28] attente_, thanks === alan_g is now known as alan_g|EOD [22:57] OK. What stupid piece of software has decided that it owns --?