[00:01] alright, eod here [09:50] mornign all [09:50] dobey: Good morning how are you :) [10:16] czajkowski, morning! [10:16] mandel: hey hey how you doing ? [10:16] czajkowski, welcome to the empty CET time zone in the u1 channel :) [10:16] mandel: how goes the rugby ? [10:16] tis rather quiet in here alright [10:16] czajkowski, injured, torn calf and screwed up ribs.. [10:17] le me grab a coffe and I'll be back :) [10:17] mandel: oh dear :( [10:32] yeah, kind of empty [10:47] mandel: what? new injuries? [10:47] and good morning [10:51] ralsina, yeah, not a big deal :) [10:51] czajkowski, well, I'm taking rugby off for a few weeks to recober [10:52] mandel: you're as broken as your dog ! [10:52] czajkowski, yes, you know dog and owners are alike [10:53] ralsina, got time to run lp:~mandel/+junk/fix-sso-tests? [10:57] mandel: not right away sorry [10:57] ralsina, :( [10:57] ralsina, lets hope gatox gets back online [10:58] mandel: nessita had a ton of things to say about that branch too [10:58] ralsina, a *ton* ? [10:58] mandel: he should come back in a few minutes, it's 8AM already [11:03] mandel: turns out I do have time :-) [11:03] ralsina, hurray1 [11:03] s/1/! [11:04] ralsina, it had a number of prints there to let me know if the protocols are correctly closing as well as the client, please get the stdout :) [11:05] mandel: will do [11:05] ralsina, super thx! [11:08] ralsina, also, if you can run it several times, better :) [11:27] ralsina, did the tests pass? [11:29] mandel: not finished the 1st pass yet [11:29] Happy Friday, everyone! :D [11:29] ralsina, puff they are slow to disconnect in your machine! [11:30] I think a test just blocked [11:30] ralsina, if it did, it means is not disconnecting, which is good if it fails [11:30] mandel: I will give it a little more time, but test_deprecated_siganl_is_also_sent has been sitting there for a while [11:30] which BTW: TYPO! [11:30] ralsina, not me :) [11:35] * mandel is starting to use bzr blame waaaay too much [11:36] ralsina, fixing it though :) [11:36] mandel: yes, that is stuck [11:37] ralsina, ok, may ctrl+c and pass me the stdout please :) [11:38] mandel: https://pastebin.canonical.com/62905/ [11:40] ralsina, looks like is not connecting to the service 'cool' [11:40] mandel: ok! [11:40] * ralsina goes walk ralsina [11:41] ralsina, do you have to pick up the poo when you walk him, I have to when I take Iron :P [11:41] mandel: my ralsina is potty trained [11:41] lol [11:47] ralsina, whenever you are back, please check that you did not have sso running, just in case [11:49] also.. the number of protocols you have is too big, there should always be one, weird [12:02] hello everyone! [12:12] mandel: hola! when you can, we can chat about fix-broken-tests [12:12] nessita, morning! I've heard we have to chat :) [12:12] good morning [12:12] nessita, he, you read my mind :) [12:12] ;-) [12:12] hola gatox [12:12] gatox, can you try lp:~mandel/ubuntu-sso-client/fix-sso-tests please ? [12:12] mandel, ok [12:12] gatox, and morning! [12:12] :D [12:12] nessita, have you read this: http://mumak.net/stuff/twisted-disconnect.html [12:13] mandel: so, I was wondering why you were adding all the PBClientFactory and PBServerFactory, since I tried really hard to remove it in the past [12:13] nessita, before we start, because my work is based on that :) [12:13] reading [12:17] Lex to school, and then follow-up on my eyes. Should be back soon. [12:17] mandel: read. If that's the case ("stopListening is easy. It returns a Deferred if it is going to take a while. The others are harder. There is only one way to know when the connection has truly been lost: override connectionLost on a Protocol instance [12:17] "_ [12:17] ) [12:17] we need to add this support of passing a deferred to the protocol in IRL as well [12:17] no? [12:18] what I don't linke is creating a PBClientFactory and PBServerFactory in the tests, whatever we need, I would love if we add the necessary code in the production code [12:18] since, I understand, the propery closing applies also to IRL? [12:19] nessita, this is not required in production, the situation is the following, in production we are async in terms of closing connection, and unless we are waiting for the connection to be closed to do something, we do not care [12:19] nessita, in trial, the issue is completely different, we have to disconnect to move to the next test, otherwise, dirty reactor [12:20] nessita, the very very annoying things, is that the bloody things is not easy to reproduce and you can get false possitives if you do not wait for it to close [12:20] nessita, it has happened to me before, not wait, run test (hurray all green) propose and see dirty reactors in other machines [12:21] mandel: but in IRL we sometimes want to disconnect and then reconnect again, I think this is perhpas the cause of ussoc not being able to re-start (and thus we keep it running all the time) [12:21] mandel, did you upload new changes in your branch? [12:21] i get nothing to pull or merge [12:21] gatox, is in lp:~mandel/+junl/fix-sso-tests [12:22] gatox, sorry junk :) [12:22] ah a different one.... sorry [12:22] nessita, that can very well be, it we want to be 100% sure we disconnected before we reconnect, yes, we need to do this [12:23] nessita, for that we have to be a little more careful, since that page assumes that you have a single protocol instance, which in IRL is not the case [12:24] mandel: we have one protocol per client, right? [12:24] mandel, can you give me the whole url of the branch.... is saying that is not a branch [12:24] gatox, sure :) [12:24] nessita, per client, yes, per server, we dont [12:25] gatox, here you have it: https://code.launchpad.net/~mandel/+junk/fix-sso-tests [12:25] mandel, thanks [12:25] nessita, in the server factory, you provide the protocol class, which is then instantiated when a client makes a connection, this means that you cannot state that the server does not have more than one client connected [12:26] nessita, lets bring alecu in the conversation, I'm a little boy with twisted compared to his knowledge :) [12:26] mandel: unless the protocol class you provide keeps track of that, no? [12:26] alecu, buenos dias! [12:26] hello! [12:26] nessita, yes, exactly [12:26] hola alecu [12:27] mandel, the above sounds right: "this means that you cannot state that the server does not have more than one client connected" [12:28] nessita, mandel: a factory does not keep references to the protocols it has created (unless you do it explicitly in your derived factory) [12:29] alecu: what I was trying to understand (which I think I almost did now), is why mandel was adding the PBClientFactory and PBServerFactory back in ussoc (see https://code.launchpad.net/~mandel/ubuntu-sso-client/fix-broken-tests/+merge/98868), since I removed those some time ago while cleaning up the ipc code [12:31] alecu, the main issue we are having is that we are not waiting for the brokers to disconnect, remember this link: https://code.launchpad.net/~mandel/+junk/fix-sso-tests [12:32] alecu, we originally did something similar with PB to wait in for the tree deferreds and I guess I failed to communicate how important that was.. [12:32] * mandel should have sent and email to ubunet-discuss or something [12:32] * alecu hates returning to Unity just while trying to get used to OS X alt-tabbing. [12:33] mandel, the "tree" deferreds? what tree? [12:33] alecu, sorry, brain fuck, three :) [12:33] oh, ok. [12:33] alecu: so, after reading the article that mandel linked to me (http://mumak.net/stuff/twisted-disconnect.html), I would like that we add that machinery to the production code, not to the tests [12:34] nessita, I don't think it's needed [12:34] alecu: since without it, I think our PB IPC services will not be able to "restart" properly? [12:35] alecu: we still need to make syncdaemon be able to restart on windows... you don't think this is part of that? [12:35] (for some cases, I understand is not always an issue) [12:36] nessita, I think is worth investigating if that is indeed the issue [12:36] nessita, and in a way, I agree that we should make it easier for people to write tests for the ipc by providing this functionality [12:36] nessita, I think this is nice to have for tests, but not really needed in production code. [12:36] alecu: why not? [12:37] nessita, in prod code this will be catched by twisted handlers and will be just logged as a disconnection error. [12:38] alecu: but we're having "ugly" traces (just traces) about the broken connections... isn't this part of the issue? [12:38] nessita, what we need to do in windows is have the IPC reconnect when some of the process is finished and looses the ipc connection [12:38] nessita, what are those "ugly" traces? do you have a link? [12:39] alecu: not right now, but is that trace from persepctive broker about... something (can't remember the trace text now) [12:39] about one end disconnecting and the other end not knowing [12:40] mandel, i get this: http://paste.ubuntu.com/896382/ [12:40] and get stuck there [12:41] gatox, what I was seeing in ralsinas trace, there is more than one protocol.. I really need to know what is doing the ipc in the background [12:41] gatox, funny thing is, my vm is tuned so that I get just one lol [12:42] mandel, ah.... you already saw this? let me know if you need to test this further with my vm [12:43] gatox, I'm seen it, atm I have no bloody clue of the reason :( [12:45] nessita, so, after re-reading the article, I agree that it's something nice to have for all our tests so we should try to generalize the bits that mandel did and have them possibly in u1devtools. (I know I used some bits similar to that too somewhere) [12:45] alecu, in the webclient, I had to add them to ensure that we disconnected [12:45] nessita, but I don't think we should try to apply this solution to our ipc disconnection problems [12:45] alecu, and tcp activation.. [12:46] those are the place I remember from other times.. [12:46] alecu: ack... but why not the the production code? [12:46] nessita, I'd like to see what exactly are the ipc disconnection issues, and try to fix them. [12:46] nessita, also, the ipc in windows does not currently have the "feature" of reconnecting if one of the processes ends. [12:46] nessita, and that's something we should plan and add. [12:47] alecu, maybe letting the guy know that we started again we can do that.. does it sound hacky? [12:49] mandel, alecu: ack then. So mandel, will you be adding this to u1devtools? [12:50] nessita, yes, lets do it and clean all the tests then! [12:50] nessita, might not be as easy as it sounds of course, but will certainly work on it :) [12:50] nessita, mandel: can't we do it in a month or so? :-) [12:51] nessita, alecu I'll create a bug for this in dev-tools, we might as well let the mac guys know that they should not trust the ipc tests atm [12:51] alecu: why? [12:51] mandel: what else is on your plate? [12:51] nessita, let me see.. [12:51] alecu: if we're adding these pieces of code, I would prefer we add it to the right please [12:51] nessita, I don't like doing cleanups before releases [12:52] alecu: this is not a cleanup... the code is not present anywhere so far [12:52] nessita, this is what I have as my bug list: https://bugs.launchpad.net/ubuntuone/+bugs?field.searchtext=&orderby=-importance&search=Search&field.status%3Alist=NEW&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&assignee_option=choose&field.assignee=mandel&field.bug_reporter=&field.bug_supervisor=&field.bug_commenter=&fie [12:52] ld.subscriber=&field.tag=&field.tags_combinator=ANY&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&field.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on [12:52] nessita, god, sorry, let me make it shorter [12:52] alecu: mandel is adding new code, so I really prefer that he adds it to the right place [12:52] alecu: we may not change u1client to use this yet... [12:53] nessita, I thought you meant the refactoring of the tests to move the "cleaning after servers" bits to u1devtool. [12:53] nessita, http://tinyurl.com/c7nyqhq [12:53] alecu: the thing is that there is no current code, so there is no refactoring. mandel was *adding* new code, and I think is best if he adds it to the right place [12:54] mandel, what new code are you adding? [12:54] alecu: https://code.launchpad.net/~mandel/ubuntu-sso-client/fix-broken-tests/+merge/98868 [12:54] nessita, there's code to do what the mumak article says in at least two places. [12:54] alecu: where? [12:54] alecu: and if so, why mandel is adding yet to a third place? :-) [12:54] nessita, webclient tests and tcpactivation, let me find the code.. [12:54] nessita, webclient and ipc, iirc [12:55] ok, not ipc, tcpactivation. [12:55] alecu: in ussoc there is no test code using a PBClientFactory [12:56] nessita@dali:~/canonical/ussoc/trunk$ grep PBClientFac * [12:56] ubuntu_sso/utils/ipc.py:26: PBClientFactory, [12:56] ubuntu_sso/utils/ipc.py:339: self.factory = PBClientFactory() [12:56] nessita@dali:~/canonical/ussoc/trunk$ [12:56] nessita, one: http://bazaar.launchpad.net/~ubuntuone-control-tower/ubuntu-sso-client/trunk/view/head:/ubuntu_sso/utils/webclient/tests/__init__.py#L74 [12:56] mandel: that's a different code, no? [12:56] nessita, and http://bazaar.launchpad.net/~ubuntuone-control-tower/ubuntu-sso-client/trunk/view/head:/ubuntu_sso/utils/tests/test_tcpactivation.py#L47 [12:57] nessita, yes and no.. is the same issue, is certainly due to different protocols/reasons [12:57] nessita, I mean, you have the same problem, need the 3 deferreds, but you are extending diff clases [12:57] nessita, this is not only about PBClientFactory, but about all cases where a fake server is started for testings, and we should make sure that the connection from the client being tested is completely closed before finishing the test. [12:58] alecu, mandel: so, I'm -5 to add yet another place we have this hack. I may agree we don't change existing bits, but new code should go where it belongs [12:58] nessita, so it needs a *delicate and thought out* piece of reusable code to go into devtools, in my opinion. [12:58] nessita, since we will be using this in many places. [12:59] alecu: I know how things goes, and I know is very unlikely this will be revisited any time soon [12:59] so, if we're adding *new* code, it should go in the right place [12:59] nessita, I think we should come up with some reusable bits first in one of the projects (say, sso or sd), and after a few iterations of that we move it to u1devtools and use it from other projects. [12:59] I disagree for this case [12:59] alecu, indeed, and is not that easy.. because you might be using other protocols and factories that need this and you might not know [13:00] nessita, alecu I'm out of the vote, yet I think we should be pragmatic since urbanape and briancurtin are expecting this tests to pass on mac and I don't think we should block them [13:01] mandel: I agree we should solve this. Yet i'm not approving more hacks. [13:01] nessita, I don't want to have a half-assed solution in u1devtools and to have to go iterating thru devtools, since it takes too much time. [13:01] mandel, checked, o sso running [13:01] that's *no* sso running [13:01] nessita, and mostly so close to releases [13:02] ralsina, thx! [13:02] alecu: this is not affecting releases, no? we will not change production code [13:02] nessita, alecu is not a hack, is the right way to do it for those tests.. right? is the only way to have deterministic tests on the ipc code [13:02] nessita, I think it affects our time to bugfix releases [13:03] alecu: we sacrificed doing the right before already, and we learn we lost useful time instead of gaining it [13:04] nessita, I'm not saying we do it wrong. I'm saying it's wrong because it's slow to go thru devtools for iterations. [13:04] main problem as I see it is, we are breaking tests every time on non-linux platforms. So, get me an estimate of how much it would take to fix this forever, and I am maybe happy to invest it. [13:04] alecu: but is the right thing to do [13:05] nessita, there's no "absolute" right. :-) [13:05] alecu: agreed [13:05] (non relevant though for this talk ;-)) [13:05] nessita, devtools is the right place to have that bit available to other projects. But it's the wrong place to iterate. [13:06] alecu: then we need to fix the latter, and not adding code to other projects because of that [13:06] nessita, the testing classes we put in devtools never gets updated; they end up being "patched" in every test case. [13:06] alecu: that's not good, and the mistake is not to fix devtools [13:07] nessita, and that's because going thru devtools is slow. Because you have to wait for fixes to land in devtools, then wait for devtools to be available on tarmac, etc. [13:07] nessita, and I think that's counter productive to do when we are two weeks from releases on both platforms. [13:07] alecu: that process is not that slow, we do it very often between ussoc and controlpanel [13:08] alecu: the problem is the time waiting for reviews, which we need to fix [13:08] I suspect most of us are not comfortable reviewing devtools [13:08] since a break there breaks everything [13:08] So that will always be slower [13:08] ralsina: perhaps, and we should change that, no? [13:09] nessita: indeed [13:09] ralsina: my point is we can not add code elsewhere, even if it conceptually belongs to devtools, just because it may break [13:09] we can break ussoc, and sometimes we do, and then we fix [13:09] and breaking ussoc means breaking u1 *and* software center, for example, yet that does not scare us [13:10] so, why not take this as an experiment. Let's try to do this in devtools. Let's review that every test on every platform passes, and then we check our time to deliver, and we learn from it. [13:10] We don't have, AFAIK, any hard data on how long a roundtrip through devtools is [13:10] ralsina, nessita it is not an easy piece of code what so ever [13:10] mandel: she's not code! ;-) [13:11] mandel: I know, but you have a recipe, you have done this before, no? [13:11] ralsina, nessita, and is coming from me, a retard that things everything is easy [13:11] ralsina, lol [13:11] mandel: agreed, but that just means that whenever we add another test, we may break every platform since we are not getting it right anyway [13:11] mandel: and then it works on linu, breaks on windows, and dejavu [13:11] mandel: so, I wonder why you are sure of adding this code to ussoc and not to devtools ;-) [13:11] nessita, I have done it before, yes, and it worked, and we could do it correctly for PB, other generalizations are hard [13:12] mandel: I'm +1 to solve only PB in this iteration, I agree with alecu is dangerous to try to fix pieces that are right now working [13:13] nessita, ok, it if is just Pb, I'm willing to tackle it, a bigger generalization I won't :) [13:13] mandel: makes sense [13:13] alecu: would only tackling PB be a middle ground for you? [13:13] nessita, yes. [13:13] nessita, that was my main concert 'acotar' the problem [13:13] alecu: thanks [13:14] mandel: I will review the devtools branch [13:14] mandel, but please take a deep look at all the other tests where this same technique is being used, so you can have in mind a better generalization. [13:14] alecu, nessita, ack! [13:14] * mandel adds bug [13:15] nessita, alecu, hehe I already added a similar bug 944125 [13:15] Launchpad bug 944125 in ubuntuone-dev-tools "Provide reusable code to create a twisted save server for tests" [Low,Triaged] https://launchpad.net/bugs/944125 [13:15] Ayone needs reviews? If not, I want some head-down time in some issues [13:15] but is not pb [13:15] ralsina, briancurtin, urbanape: I've been playing with /dev/fsevents, and managed to make an old C example work with Lion: http://pastebin.ubuntu.com/896369/ [13:16] alecu: neat! [13:16] ralsina: before you go... [13:16] nessita: I'll still be around, just not reading unless someone pings me :-) [13:16] ralsina: this bug affects 92 people and has a *lot* of dupes https://bugs.launchpad.net/ubuntu/+source/ubuntu-sso-client/+bug/943046 [13:16] Ubuntu bug 943046 in ubuntu-sso-client (Ubuntu Precise) "ubuntu-sso-login crashed with SIGSEGV in QSocketNotifier::setEnabled()" [High,Confirmed] [13:16] nessita: here's a cleaned up and isolated version of the symlink branch: https://code.launchpad.net/~brian.curtin/ubuntuone-control-panel/windows-symlink/+merge/99017 [13:16] ralsina: is starting to worry me [13:16] briancurtin: ack! [13:16] nessita: looking... [13:17] nessita: looks like we are losing a reference to something, but we are not using QSocketNotifier ourselves, so we must be losing something higher-level [13:17] nessita, I'm taking a look too. [13:18] nessita: we are getting dbus data after we lose the dbus proxy or something [13:19] nessita, alecu, ralsina, FYI bug 963082 [13:19] Launchpad bug 963082 in ubuntuone-dev-tools "Provide reusable code for tests that use twisted.spread.pb" [High,In progress] https://launchpad.net/bugs/963082 [13:20] mandel: ack, thanks [13:20] mandel, no: "provide reusable code for tests that start a tcp server" [13:20] nessita: have you ever had it yourself? [13:20] mandel, this should not be limited to PB [13:21] alecu, hm.. should be doable with a TCP server since all should inherit from the same, I'll update it [13:21] hi czajkowski [13:21] ralsina, how do you suspect dbus? [13:21] dobey: hello :) [13:21] alecu: stacktrace [13:22] dobey: I was told you'd be the person to talk to, having problems with banshee so trying to use Rhythmbox, but all my music is there twice :/ [13:22] ralsina: never [13:22] ralsina, because of dbus/mainloop/qt.so ? [13:22] czajkowski: what version of rhythmbox-ubuntuone do you have? [13:22] alecu: it's segfaulting on pyqtDBusHelper::readSocket [13:23] alecu: that stinks of dbus ;-) [13:23] dobey: how do I find that out, am running 12.04 [13:23] czajkowski: dpkg -l rhythmbox-ubuntuone [13:23] or apt-cache policy rhythmbox-ubuntuone|grep -i installed [13:23] dobey: http://pastebin.ubuntu.com/896420/ [13:24] czajkowski: ok. quit rhythmbox; rm ~/.local/share/rhythmbox/rhythmdb.xml; start rhythmbox [13:25] ralsina: from yesterday, do we need to do something about --with-icon? or is that for after QA builds? [13:25] briancurtin: if you start it from the menu, it should start with --with-icon already [13:25] briancurtin: doesn't it? [13:25] dobey: start: Unknown job: rhythmbox [13:25] ralsina: i'll check (i had been starting from desktop icon) [13:26] briancurtin: no, sorry, the autostart is --with-icon, the desktop icon or the menu will not [13:26] czajkowski: that wasn't literal. :) [13:26] :/ [13:26] briancurtin: if it was already running with --with-icon, starting it will just show it [13:26] czajkowski: just start rhythmbox again after you deleted the rhythmdb.xml :) [13:27] ralsina: ah, so i'll have a change for the autostart code then. i also wonder if we should start it up (coming from the installer) with --with-icon [13:27] dobey: don't laugh :( [13:27] dobey: No such file or directory [13:27] briancurtin: I think so yes [13:27] my day just gets better! [13:27] czajkowski: no such file or directory from what? [13:28] cannot remove `/home/czajkowski/.local/share/rhythmbox/rhythmdb.xml': No such file or directory [13:28] ralsina: ack, will propose shortly (need to test in XP VM first) [13:28] briancurtin: cool [13:29] czajkowski: ok, so it's gone then. just run rhythmbox again now [13:30] dobey: ok [13:30] dobey: now I have no music [13:30] czajkowski: it should be rescanning [13:30] so your music should appear in a minute [13:31] might be a little slow if you have lots of music in the u1ms folder [13:31] dobey: love your optimisim :) [13:31] shall wait and see [13:31] thanks for the help [13:32] briancurtin: maybe we should just do --with-icon everywhere [13:32] briancurtin: think about it and let me know ;-) [13:32] czajkowski: well, unless you deactivated the plug-in and the library setting got reset to the xdg music folder, and you have no music there :) [13:32] ralsina: i'll check it out [13:32] rebooting, this machine is working like crap [13:33] czajkowski: is there not a progress bar in the status bar going back and forth or anything? [13:33] dobey: nope nada [13:33] that would be helpful to see alright [13:34] czajkowski: and no music showing up? is the u1 store listed in the tree? [13:35] dobey: http://twitpic.com/905xp2/full [13:35] czajkowski: what if you select the "Music" entry with the icon next to it? [13:36] hmm now music is coming in [13:36] but I've been selecting it on and off for the last few mins [13:37] ok music now in there most of it is U1 bought music, I'd have expected to see it under the U1 purchased [13:37] i think there is a bug in rhythmbox with how it handles the multiple libraries case [13:37] but at least it's still there [13:37] dobey: thanks again for the help [13:37] sure [13:37] popey: I now only have one copy of music :) [13:38] also, the fact that the u1 folder appears twice there is weird [13:38] dobey: indeed a little bit confusing :) [13:39] ah, that might be a bug in the plug-in [13:49] sigh. mocker. how dare you mock me [13:49] * dobey wonders how to remove mocker from these tests [13:53] ralsina, nessita: anyone aware of bug #940669 on the team and able to work on it? [13:53] Launchpad bug 940669 in ubuntu-sso-client (Ubuntu) "ubuntu-sso-login crashed with SIGSEGV in QSocketNotifier::setEnabled()" [High,Confirmed] https://launchpad.net/bugs/940669 [13:54] joshuahoover: we were talking about it a bit earlier [13:54] joshuahoover: we're aware, i just mentioned this a few minutes ago [13:54] ah, very good :) [13:54] joshuahoover: so far none of us has actually seen it [13:54] joshuahoover: just in case, the user is logged in anyway after the crash? [13:54] ralsina: not sure [13:55] joshuahoover: ok [13:58] gonna go check out a coworking space. Will be back in plenty of time for standup. [14:00] fml. sitting here answering a question on askubuntu, and bam, a spider appears 6 inches in front of my face, rappelling down from the ceiling [14:02] dobey: were you using a goto by chance? http://xkcd.com/292/ [14:03] briancurtin: would you quickly fix this and I will approve? [14:03] ubuntuone/controlpanel/gui/qt/tests/test_folders.py: [14:03] 25: [W0611] Unused import sys [14:04] nessita: yep, 1 min [14:04] thanks! [14:13] nessita: hola! [14:13] hola dobey! [14:13] dobey: want some mate? /me hands the mate [14:14] con medialunas? [14:15] nessita: might you have any ideas how to get rid of mocker usage in tests/platform/linux/test_notification.py in u1client? [14:15] dobey: let me look (right after I finish this review) [14:15] sure, thanks [14:18] nessita: just saw in the backlog, that bug by elopio about the mail languages seems like just a bug somewhere, the request was more for feature work. Thanks though! [14:20] ralsina: ack! [14:21] mail languages? [14:21] dobey: I would definitely build a custom class to act as a faked notification module, following the module API, but instead of actually showing notification, storing an internal state where we can assert over it [14:21] dobey: want me to build something for you? [14:22] nessita: well it needs to call the real API [14:22] nessita: because a faked class, or mocker, seems to hide problems [14:23] dobey: yes, mail languages, don't worry about it :-) [14:23] ralsina: was it the evolution default mail message? [14:23] dobey: no, SSO's mail confirmation was sent half in spanish [14:23] oh [14:24] nessita: also, the API from the gir is a little different from the one in pynotify :( [14:25] maybe the fix for this bug is to fix the notify gir though [14:25] dobey: oh, let me dig a little deeper then. Would you be ok with showing actual notifications in the tests? I will as long as we use xvfb [14:25] * gatox fix the bug.... but the tests is killing me: CHALLENGE ACCEPTED [14:26] nessita: i guess i'm fine with having to use xvfb there. not sure if foundations guys are though [14:27] dobey: let me try some quick options [14:27] hrmm [14:27] dobey: what bug are you trying to fix, though? [14:27] bug #961342 [14:27] Launchpad bug 961342 in Ubuntu One Client "GI error while trying to show notifications" [High,Confirmed] https://launchpad.net/bugs/961342 [14:27] talking about notifications, do I remember right that we have a TypeError and all notifications are broken on unity? [14:28] ralsina: not unity [14:28] ralsina: but yes [14:28] dobey: not *only* unity :-) [14:28] ralsina: broken everywhere [14:30] dobey: looking [14:31] ok, late lunch for me [14:31] * mandel lunch [14:32] dobey: sing Xvfb and skipping them if DISPLAY is unset? [14:32] s/sing/using/ [14:36] ok [14:36] libnotify is itself broken [14:36] yays [14:36] ok, no, I'm stating, I'll go after the stand up [14:37] dobey: it is? [14:37] nessita: it has set_hint_foo API for various types, but not for boolean, though lots of hints are of type boolean [14:40] dobey: so the call self.notification.set_hint('transient', True) is not "valid" in this API? [14:40] nessita: apparently not with python-gi [14:44] hrmm [14:44] but looks like we can use int32 [14:44] dobey: yes, that works [14:45] so, a simple integration test that we can add is a simple as: [14:45] dobey: http://pastebin.ubuntu.com/896508/, that does not assert anything but will fail if the notification shows crash [14:46] dobey: if the gir API provides way to assert over its state, we can definitely migrate all tests to use the real mechanism [14:47] which I just checked it does not provide any getter, just setters [14:47] right [14:48] dobey: we can definitely wrap the notification instance with a very thin wrapper that records every call [14:48] I've done this in the past, with a recorder [14:48] so, make a call, the recorder saves the call, and then performs the real call [14:50] hrmm [14:50] dobey: and we can use the same suite to run it twice, one with the gi reactor, and one with the glib reactor [14:50] that will exercise both options using the same code [14:50] gatox: shall I re-review main-moved? [14:51] nessita, checking..... [14:51] nessita: i wonder if the diff will be a bit too large for doing it in precise though, at this point [14:52] dobey: will affect only tests [14:52] so I'm +1 [14:52] nessita, ahhhhh i didn't saw your last comment..... your proposal wasn't working.... so i needed to do that.... let me check how i can do that and i'll modify the tests..... i'm finishing the test for the reset branch [14:52] * nessita is always +1 to have better tests that detect issues sooner [14:52] gatox: thanks! [14:54] nessita: i've fixed the existing code in lp:~dobey/ubuntuone-client/hint32 i'm not sure exactly how to do it with the real calls. i sonder if i should jusst strip out all the mocker bits and see what happens [14:56] dobey: I can give this a try, if I don;t get anything good in a couple of hours, I will leave for the future [14:57] people I am off to take son to pediatrician, so pasting my standup in a bit [14:59] DONE: another windows QA build, debugged the sso-pops-under bug with elopio, team call, gatox 1:1, bunch of small things. TODO: get you all to review pending branches, another QA build maybe, reviews, work on unfixing geometry BLOCKED: yes, pediatricians are seldom punctual [14:59] hope he's well. [14:59] ralsina, ack [14:59] urbanape: he's great, but he needs a certificate for school's PE and swimming [14:59] ah, so [14:59] urbanape: and there are 16.5 million kids trying to get theirs this week ;-) [15:00] so, we'll see you next month, some time? [15:00] me [15:00] me [15:01] me [15:01] me [15:01] me [15:01] urbanape: hopefully, in 2 hours :-) [15:02] alecu, dobey ? [15:02] me [15:02] ok, let's! [15:02] DONE: lots of reviews, landed code with new colours for the controlpanel (bug #956077), also fixed bug #822629 while I was at it, weekly call [15:02] TODO: finish reviews, see if I can help with rewritting the notification tests, start with fix for bug #959447 [15:02] BLOCKED: nopes [15:02] NEXT: gatox [15:02] Launchpad bug 956077 in Ubuntu One Control Panel trunk "[UIFe] Colour changes for the QT control panel" [High,Triaged] https://launchpad.net/bugs/956077 [15:02] Launchpad bug 822629 in Ubuntu One Control Panel "QT UI Gaps in tab outlines" [Low,Triaged] https://launchpad.net/bugs/822629 [15:03] DONE: [15:03] Finish (finally) with the reset-password branch, fixing tests in backend getting stuck branch. [15:03] TODO: [15:03] Finish with the last tests, Bug #944256 [15:03] BLOCKED: [15:03] Launchpad bug 959447 in Ubuntu One Control Panel "Computer to cloud wizard page: if os.walk fails, 'Calculating' header never goes away" [High,Triaged] https://launchpad.net/bugs/959447 [15:03] Launchpad bug 944256 in Ubuntu One Control Panel "Using ubuntuone-control-panel-qt defaults to limit bandwidth" [High,Triaged] https://launchpad.net/bugs/944256 [15:03] No [15:03] briancurtin, go [15:03] DONE: a bunch of windows branches, cleaned a few up, did some manual testing and branch testing from the doc's office, very brief mac session [15:03] TODO: finish the last piece of autostart, get back to mac [15:03] BLOCKED: none [15:03] NEXT: urbanape [15:03] DONE: Made some progress on the tests. Still two random hangs, waiting on word from mandel [15:03] TODO: Code for testing network presence [15:03] BLOCK: Not really [15:03] mandel: go [15:03] DONE: Look at why are tests broken on windows. Implemented half of the solution. [15:03] TODO: Find out why tests on windows are getting more than one protocol. Implement solution and provide unified way to close Tcp connections correctly in trial for ubuntuone-dev-tools [15:03] BLOCKED: no [15:03] COMMENTS: I need to go a little early to take the dog to the vet [15:03] alecu, go [15:03] DONE: got a macmini, updated, installed XCode, started learning OSX, researched /dev/fsevents, got ticket to UDS [15:03] TODO: get back and finish proxy bugs [15:03] BLOCKED: no [15:03] NEXT: dobey [15:03] mandel, hope iron gets well! [15:04] alecu, should not be something terrible.. he is prone to problems, like the owner [15:04] oh [15:04] urbanape, let me have lunch and I'll give you a hand [15:04] sure, no problem [15:04] mandel, is he so mindless that he plays rugby too? [15:04] it's intermittent, but not something I'd want to land [15:05] urbanape, is that in sso? [15:05] dobey: standup pliz? [15:05] alecu, no, he is just a darwin fail.. chinese dogs.. you know :) [15:05] nessita: yeah, sorry. have to write the things :) [15:05] sure [15:05] λ DONE: team meeting, triage [15:05] λ TODO: bug fixing, triage, reviews [15:05] λ BLCK: none. [15:06] mandel: yeah. [15:06] ubuntu_sso.utils.tests.test_tcpactivation [15:06] ActivationDetectorTestCase [15:06] and i don't remember everything i did yesterday. meh [15:06] test_is_already_running [15:06] ActivationInstanceTestCase [15:06] test_get_port_fails_if_service_already_started [15:06] mandel: ^ [15:06] those two tests will intermittently hang. 2 out of 5 trials will end with one or the other hanging. [15:08] nessita, mandel if you have some free time for a review please: https://code.launchpad.net/~diegosarmentero/ubuntu-sso-client/reset-error/+merge/99039 [15:08] gatox: ack [15:09] urbanape, sso tests are broken due to issue on how we close the tcp connections [15:09] mandel: ralsina suggested that you had some fix for these in particular on the Windows port. [15:09] was that fix skipIf? [15:09] urbanape, no, is not skipIf hehehe [15:10] urbanape, but yes, I'm working on a fix to be pushed to ubuntuone-dev-tools, the main reason is realted to this: http://mumak.net/stuff/twisted-disconnect.html [15:10] danke [15:10] urbanape, feel free to 'ignore' those failures, I'll make sure things work with ipc/tcp tests [15:10] though we'll probably need an ffe for that [15:12] ok, lunch time for me [15:12] dobey, ouch! [15:12] * mandel lunch [15:21] oh right [15:21] also [15:22] TODO: perf review stuffs [15:29] nessita, branch updated: https://code.launchpad.net/~diegosarmentero/ubuntu-sso-client/main-moved/+merge/98703 [15:29] gatox: ack [15:29] * gatox go back to limit bandwitdh [15:40] ok, time for lunch. bbiab [15:47] * gatox lunch === gatox is now known as gatox_lunch [16:01] alecu: would you have time for a "pure python" review? [16:04] nessita, looking [16:04] nessita, I mean, send it to me! [16:04] alecu: branch is https://code.launchpad.net/~nataliabidart/ubuntuone-dev-tools/add-recorder/+merge/99058 [16:04] ack [16:04] alecu: just pushed a forgotten file (the test file!!!) :-) [16:04] forgotten as in forgot to bzr add [16:05] I see :-) [16:08] alecu: this class in currently in ussoc, my plan is once we have it in devtools, be able to reuse it from u1client (which I need now to fix some notifications tests), and also to remove it from ussoc and use the devtools' one [16:08] this class == Recorder [16:09] nessita, your branch fails pep8! [16:09] nessita, " it is generally better to append a single trailing underscore rather than use an abbreviation or spelling corruption" "class_ vs klass" [16:09] alecu: it does not here... [16:09] alecu: really? was not aware of that [16:09] will change [16:09] nessita, http://www.python.org/dev/peps/pep-0008/ [16:10] alecu: changing [16:10] nessita, not that I really care. I don't like class_ better than klass, but I thought it would be fun correcting you on pep8ness :-) [16:11] alecu: was it? :-) [16:11] nessita, It really was! [16:11] glad I could help (?) [16:11] alecu: fixed and pushed up to revision 61. [16:12] great! [16:16] nessita, how does the logic with _next_result works? [16:17] nessita, say, I'm making a test, does the test_* method need to set _next_result to each result just before the tested code uses the attr? [16:18] nessita, this seems to be bordering a mocking framework. [16:18] alecu: it depends, you cat set it at setUp time if yoiu want to always return the same (use case: a backend and a ginve operations, like 'volumes_info' [16:18] alecu: naaaaaah :-) [16:19] alecu: you can also set _next_result up in a given test, if you want to force a specific result, for example, None (you may be testing None as a result is handled) [16:20] nessita, what I don't like about this is that if every non-existing method will return a next_result [16:20] -if [16:20] alecu: yes, you should set _next_result with pathc... like I did in the test [16:20] would you set _next_result to None after using it? [16:22] * alecu is thinking [16:24] nessita, what if we make _next_result a dict with the method name as the key? [16:25] alecu: sounds good! [16:26] I can also remove the _next_result altogether, but since we're using it already, I wanted this to provide it [16:27] nessita, anyway, if you decide to make any of those changes don't worry doing them in this branch, since the current code is fine. [16:27] alecu: I can ceratinly do the dict [16:27] I was just making sense of how it worked. [16:27] will be quick [16:28] nessita, also, please try to expand the docstring of the class so it includes the class attributes that provide this special behaviour (other than recording) [16:28] alecu: can you please elaborate a bit on that? not completely sure what you mean [16:30] nessita, this class is a Recorder, and the docstring for that aspect of this class is perfect. But since we would like this class to be used in many tests, the class docstring could also include some bits on the special attributes that other desktop+ devs using this class could set. [16:30] nessita, like _next_result or _handle_attr_error [16:30] ah, sure, will add that [16:31] nessita: what is this devtools branch about? [16:32] alecu: also, would you know how can I make the __name__ of the Recorded class be the __name__ of the class_? In code, I would like this to be: [16:32] 157 def add_recorder(class_): [16:32] 158 """Class decorator to wrap 'class_' and record every call made to it.""" [16:32] 159 @wraps(class_) [16:32] 160 class Recorded(Recorder, class_): [16:32] 161 """Record every call.""" [16:32] 162 [16:32] 163 return Recorded [16:32] alecu: but wraps over a class does not work :-/ [16:32] dobey: I'm moving a 'recorder' helper to devtools so I can use this to build the Notification tests, using the real notification engine and also recording every call with its paremeters, to be able to test it [16:33] nessita: can you file a bug please? also is it ready or are you still working on it? [16:34] nessita, no, no idea about that. I've not yet added @wraps to my mental toolkit, so I'm in the dark regarding using it for classes. [16:34] nessita: we'll probably need a ffe if this is to go in for precise [16:35] ugh, i like how this works fine in pure python but not in the frozen binary. wtf. [16:35] nessita, the branch so far looks good. Let me know if you make any of those changes. [16:36] * alecu will have lunch now. === alecu is now known as alecu_away [16:36] ralsina: when you get back, i have an autostart question re: frozen binary [16:36] ralsina, ping! [16:37] dobey: oh... we will? (yeah I know the answer) [16:37] but but but is just a helper [16:38] it's new api in a library [16:38] * nessita cried [16:38] cries* [16:38] dobey: ok, I'll file the bug [16:42] nessita, yeah.. same happens for the ipc test I suppose.. :*( === gatox_lunch is now known as gatox [16:44] mandel: yes, will cover both in one bug report [16:49] dobey: would you add anything to https://bugs.launchpad.net/ubuntu/+source/ubuntuone-dev-tools/+bug/963265? [16:49] Ubuntu bug 963265 in ubuntuone-dev-tools (Ubuntu) "[FFe] Lack of some specific helpers" [Undecided,New] [16:49] mandel: what's the bug number of the thing you're working on? [16:49] nessita, one sec, I'll get it [16:49] nessita, bug 963082 [16:49] Launchpad bug 963082 in ubuntuone-dev-tools "Provide reusable code for tests that use twisted.spread.pb" [High,In progress] https://launchpad.net/bugs/963082 [16:50] nessita: the series targets; and i'd make it only for the recorder stuff. mandel already filed a bug about the pb test case stuff [16:51] but it will also need an ffe [16:51] dobey: yeah, but wanted to request a single FFe, like joshuahoover usually advice us [16:51] dobey: series target added [16:51] dobey: also added this comment "The first item described in this bug report is being specifically handled in bug #963082." [16:51] Launchpad bug 963082 in ubuntuone-dev-tools "Provide reusable code for tests that use twisted.spread.pb" [High,In progress] https://launchpad.net/bugs/963082 [16:51] nessita: they should be separate FFes i think. they are separate things [16:52] dobey: they are both 'missing helpers' :-D [16:52] dobey: if you insist, I will make them 2 separate FFe [16:52] but I prefer handing one single bug # to the release tema [16:52] they are separate branches and separate features [16:52] team [16:53] ok then [16:53] mandel: just FYI, the bug reports are usually phrased describing the problem [16:53] not describing the task that needs to be done [16:54] ack [16:54] mandel: so, instead of "provide foo", the bug may be "foo is not provided" or "Does not provide foo" or "Need foo" [16:54] nessita: where is the recorder stuff being moved from? [16:54] dobey: ussoc, with some minor improvements [16:54] nessita, understood [16:54] mandel: thanks! [16:55] nessita: it might be better to leave it there for now then, and move it for after precise [16:55] dobey: I need it from u1client [16:55] for* [16:55] nessita: yes and u1client already depends on sso [16:55] dobey: you prefer u1client build-dep to list python-ubuntu-sso-client.tests? [16:55] nessita: isn't that why you install the tests? [16:56] dobey: for controlpanel, but yes, we should have move the helper to devtools [16:56] well it makes everything a whole lot easier for precise [16:57] dobey: what if: if I get the FFe, I do it in devtools, if not, I use it from ussoc? [16:57] moving things is a huge changset, and we've onmly got 2 weeks [16:57] dobey: I can have this done today (fyi) [16:58] nessita: well i'd really rather avoid the ffe entirely. [16:59] dobey: I understand your point, but I'm completely sure I see a drawback from requesting a ffe for this. Besides asking the FFe itself, what other problem do you foresee? [16:59] I'm not* completely sure :-) [17:01] it's not about potential problems i see or don't see. it's about keeping the changes as small as possible. we should not be doing any freeze exceptions at this point. it adds more work to landing the code, it adds more work to do ing the release, it means the changes are probably big (and they are in this case) [17:03] our goal should be to never need to request exceptions, and i think we've done way too many this cycle already [17:04] dobey: ok, will tweak the branch and leave it proposed. in a couple of weeks, we could still land in trunk, no? [17:06] alecu_away: changes pushed [17:06] we can land it in trunk now, if need be. but i don't really want to merge it into stable-3-0 and ship it in precise if we can avoid it [17:07] the same for mandel's bug === alecu_away is now known as alecu [17:07] nessita, thanks [17:08] dobey: ack [17:08] will have lunch now [17:08] brb! [17:21] czajkowski / dobey the duplicate music issue fixed? [17:22] popey: yes [17:22] dobey: what do I need to do? [17:22] popey: remove the old duplicates (the fix doesn't remove the old ones unfortunately) [17:22] nessita, i've just fixed the problem in the webclient..... it's working.... i'm going to try to adapt the test for test_webclient now [17:23] popey: quit rhythmbox, delete ~/.local/share/rhythmbox/rhythmdb.xml, then start rhythmbox back up and let it rescan your library [17:24] how do i know which are the "right" ones to delete dobey ? [17:24] * beuno senses a star wars quote coming up [17:24] ☺ [17:25] oh, one is a symlink, bin that [17:26] well, make sure you only remove it from the library. don't actually delete it :) [17:28] alecu, ping [17:28] gatox, pong [17:28] no, i removed the symlink ☺ [17:28] alecu, quick question: where are you testing qtnetwork in sso?? (i assume your hands are related to that :P) [17:29] i'm looking at test_webclient..... but it's not really clear for me if that is using qtnetwork [17:30] gatox, test_webclient is both testing qtnetwork.py and libsoup.py [17:30] gatox, remember that the sso tests are two step: first the gtk test are run, then the qt ones. [17:30] alecu, ok, thanks..... i'll keep looking into that then [17:31] gatox, the switch for selecting one or the other is in ubuntu_sso/utils/webclient/__init__.py [17:31] gatox, what exactly are you looking for? [17:32] alecu, i want to test the result from _handle_finished, particularly when that fails and return a WebClientError [17:33] hello again! [17:33] ralsina, hi there.... everything ok in the doc? [17:33] briancurtin: what doesn't work on frozens? [17:34] gatox: perfect! [17:34] ralsina, great [17:34] gatox: my son is allowed to run, swim and or jump all year [17:35] ralsina: add_to_autostart() - works great running u1cp from python, but it seems like the whole function is ignored when run as a frozen exe [17:35] ralsina: that's when you already have cred [17:35] briancurtin: interesting [17:35] ralsina: i know it was working when run through the wizard [17:36] ralsina: i even took the getattr(sys, "frozen", False) check out to run the winreg stuff regardless of python or frozen and it only works on frozen... [17:36] briancurtin: want me to give you a hand, I can in about 15' [17:36] ralsina: yeah, whenever you have time [17:36] briancurtin: ack, will ping you in a few minutes [17:38] gatox: awesome!!! [17:39] nessita, between yesterday and today..... i reach the conclusion that tests hate me jejeje [17:39] ralsina, 1-1 in like about 15-20 mins? [17:39] ralsina, we forgot to do it [17:39] mandel: sure [17:39] mandel: I did not forget, I skipped it [17:39] mandel: *you* may have forgotten ;-) [17:39] gatox: as written in the back of my business card: "tests are women are always right" [17:39] ralsina, it was deferred :P [17:40] nessita, jejejejeje [17:40] nessita, you slogan is not very motivational right now :P [17:40] gatox: until you find out that tests were right, that's when you feel illuminated :) (really, not kidding) [17:41] nessita, i trust you..... but this backend thing confuse me a lot :P.... but i'm getting there! [17:41] gatox: let me know if I can help [17:41] nessita, no worries [17:42] dobey: https://code.launchpad.net/~nataliabidart/ubuntuone-dev-tools/add-recorder/+merge/99058/+edit-status set to needs review again, --fixes added and pushed, and bug invalidated for stable-3-0 and precise [17:43] thanks dobey [17:46] mandel: 1:1 quick so I am free to help brian [17:47] ralsina, sure, let me reboot the mac (mumble just works there) [17:47] mandel: ack [17:48] popey: np. [17:48] nessita: ok, though i don't think you wanted to paste the +edit-status link :) [17:49] dobey: nopes :-) [17:53] nessita, approved. [17:53] alecu: thanks! [18:02] nessita: should i propose my fix for the TypeError issue in the notifications as-is, or do you still wnat to look at using the recorder for the tests from the one in sso? [18:02] dobey: I'm working on that branch as we speak [18:09] briancurtin: finally, ready to help [18:09] nessita, got an idea, in a future branch, what about running the ipc tests of windows/mac on linux too? they have no other dependency but twisted [18:10] mandel: they are already ran [18:10] ralsina: i think i might have figured it out, trying something now...i think im just an idiot [18:10] nessita, and we do not get dirty reactors? [18:10] mandel: test_ipc is run on every OS [18:10] mandel: no [18:10] briancurtin: ok, that's a valid excuse! :-) [18:10] nessita, uh... que feo! [18:10] nessita, ok, then forget what I said :) [18:10] :-) [18:11] ralsina: in the meantime, https://code.launchpad.net/~brian.curtin/ubuntuone-windows-installer/with-icon/+merge/99086 [18:11] mandel: sockets on windows and linux are not semantically the same. For example, using local sockets as a condition for app unicity worked exactly backwards [18:11] briancurtin: reviewing! [18:11] briancurtin: I will try to propose and merge mine first [18:12] ralsina, oh my lords.. is every single part of the os stack different? [18:12] ralsina: ack [18:12] nessita: is it ok if we merge the branch of windows-installer I am using to build the windows test builds? It's easier for brian to fix stuff if that's in, or else we get brnaches piling up [18:12] ralsina: which one would be those? [18:13] ralsina: if we have merge proposal for that, sure, we can review and merge [18:13] nessita: mine is lp:~ralsina/ubuntuone-windows-installer/doing-windows [18:13] nessita: it does a few things that are "just for now" because it merges branches manually and I remove them as they get approved. [18:14] ralsina: reading the list of pending branches from a non-versioned file, or having them as command line arguments is too much to ask? [18:14] nessita: command line arguments is a pain. A non-versioned file is possible [18:15] ralsina: just fyi, the version of the last release is 2.99.91 (not 2.99.1), not sure if you're using 2.99.1 on purpouse [18:15] nessita: must be a mistake [18:16] nessita: I think I saw that in the milestone list, may have typed wrong and then jut was wrong consistently [18:16] gatox, in your unicode ventures, did you happen to meet the error mentioned by elopio in bug #854328? [18:16] Launchpad bug 854328 in Ubuntu One Client "On localized windows, XDG gives the wrong folder names" [High,In progress] https://launchpad.net/bugs/854328 [18:16] ralsina: I would prefer having the list of pending branches being loaded from some source external to the script, but will not be strict about this (meaning if you really consider is necessary to have this as is right now, I will trust you) [18:16] * gatox looking.... [18:17] nessita: yes please, because it helps brian and I build the same things [18:17] alecu, do you know if he is using the latest things in trunk? [18:18] gatox, it's a very old bug! 2011-09-26: [18:18] ralsina: does that means that loading the pending branches list from an external source is too much to ask? (not sure if that's what you really mean) [18:18] nessita: no, it's not much but it's something else to do and I need to get this done. The list will be clean by monday [18:18] alecu, because that seems to be fixed in the latests changes..... but i would like some kind of confirmation [18:19] ralsina: ok then [18:19] nessita: cool, thanks [18:19] gatox, should I assign that bug to you and ask elopio to try again? [18:19] alecu, ok [18:19] alecu, unicode doesn't scare me anymore! jeje [18:19] just make mme cries sometimes :P [18:20] gatox, brave man! you are a unicode superhero nowadays! [18:20] nessita: rethinking, I will merge it with a clean list of branches and keep that on my own [18:20] alecu, gatox, I'll look at my brazilian xp to try again. [18:20] ralsina: sounds better :-) [18:20] elopio, great! thanks, please let me know if the problem persist [18:21] gatox: I don't think I'll have time for that today, but I'll leave it installing in the night and quickly try tomorrow. [18:21] I'll add a comment on the bug. [18:21] briancurtin: I am proposing doing-windows now, after we merge that, let's get as many of your branches off your woodpile as we ca today :-) [18:21] elopio, no problme.... i'm pretty busy today too [18:21] elopio, ok..... alecu please assign that bug to me, so i can see it in my queue [18:22] alecu, assigned....... thakns [18:22] elopio: I've added a comment to that bug too, and assigned it to gatox. [18:22] great. Thanks. [18:24] alecu: why is bug #633280 still "triaged" ? ;-) [18:24] Launchpad bug 633280 in Ubuntu Single Sign On Client "Support proxy" [High,Triaged] https://launchpad.net/bugs/633280 [18:24] as well as bug #387308 [18:24] Launchpad bug 387308 in Ubuntu One Client "HTTPS Proxy Support for file sync" [Medium,In progress] https://launchpad.net/bugs/387308 [18:25] ralsina, probably because it slipped under the radar :-) [18:26] elopio: do you remember the number for the "sso pops under" bug? I have a clear explanation of why it happens now [18:26] ralsina: bug #962407 [18:26] Launchpad bug 962407 in Ubuntu One Windows Installer "SSO window is below the U1 window" [Undecided,Triaged] https://launchpad.net/bugs/962407 [18:27] elopio: thanks! [18:28] ralsina: here are the outstanding branches: https://pastebin.canonical.com/62951/ [18:29] ralsina: the "issue" i had with autostart is that i wasn't building/bundling/installing the autostart branch, but a clean one...so yeah, that's why it didn't "work" for a few tests i was doing [18:29] i'm going to step away for a few minutes to make lunch, back in a few mins [18:29] * urbanape feels he could have benefitted by a week-long immersion course in syncdaemon. [18:30] briancurtin: ouch [18:30] briancurtin: happened to me a few times, too. Have a nice lunch! [18:30] brb [18:30] urbanape: it's a non-trivial piece (mass?) of code, granted. [18:31] https://code.launchpad.net/~dobey/rhythmbox-ubuntuone/undup-lib-entries/+merge/99085 <- fairly simple review if anyone would be so kind? :) [18:36] alecu: I bet that felt good ;-) [18:36] dobey: on it! [18:36] lol [18:37] * ralsina adds "ceremonial bug killing" to the possible perks for devs [18:41] dobey: +1 [18:44] briancurtin, mandel, gatox: could I get a review of https://code.launchpad.net/~ralsina/ubuntuone-windows-installer/doing-windows/+merge/97972 [18:44] or two [18:44] ralsina, on it [18:44] ralsina: already looking [18:44] then I'm not needed and I EOD :) [18:44] all, have a bloody great weekend! [18:44] mandel: have a good weekend, not too bloody! [18:45] mandel: you know, spare the chihuahuas [18:48] nessita: one branch that could use a review from you is https://code.launchpad.net/~ralsina/ubuntuone-control-panel/u1cp-windows-styling/+merge/98704 [18:48] ralsina: ack [18:48] ralsina: did you merged trunk in there? [18:48] nessita: basically, the focus hacks look like crap on windows, so I had to move them into platform-specific qsses [18:49] nessita: right, will do and let you know when it's done [18:49] thanks [18:51] nessita, gatox, ralsina: this bug is no longer valid on windows, right? bug #803952 [18:51] Launchpad bug 803952 in Ubuntu One Windows Installer "Wizard client tries to register twice to SSO" [Low,Triaged] https://launchpad.net/bugs/803952 [18:51] alecu: I suspect it's not because all that code is gone [18:51] since installer was merged and it's no longer separate [18:51] ralsina: doing-windows approved [18:51] ralsina, great. [18:51] briancurtin: thanks! [18:51] alecu: very likely [18:51] nessita, i don't think so [18:51] gatox: no? [18:52] nessita, do you think that is still valid? [18:53] gatox: alecu asked for the negative :-) "this bug is no longer valid on windows, right?" my answer -> "very likely" (that is no longer valid) [18:54] no? [18:55] j/k [18:56] nessita, ahhhhh so, i answer the same.... is no longer valid :P [18:57] gatox: you answered the opposite! :-D [18:57] jejeje you are confusing me [18:57] nessita, well.... i wanted to say the same as you in my brain [18:57] jejeje [18:58] gatox: I figured. But for a moment you scared me :-) [18:58] (like, this was still an issue) [18:58] jeejej [19:10] alecu, ping..... is there any way to force the webclient in qtnetwork to receive a custom reply in _handle_finished....... this is driving me crazy [19:10] ?? [19:11] i'm trying to patch something..... but it seems that i cannot reach the things i need to patch [19:11] because of the way that the signals are connected and so [19:19] nessita: https://code.launchpad.net/~ralsina/ubuntuone-control-panel/u1cp-windows-styling/+merge/98704 merged, conflicts resolved. It moves quite a bit of qss around, so take a good look in linux and windows [19:20] nessita: basically, you should have no visual difference whatsoever on linux [19:21] ralsina: will do! [19:21] nessita: also, will surely conflict with your colors branch :-/ [19:21] ralsina: my colours branch landed already... [19:22] so I guess you solved the conflicts already? [19:22] nessita: then it surely conflicted ;-) [19:22] ralsina: did you solve those? :-D [19:22] nessita: I solved them all! [19:22] nessita: did I solve them correctly? That is the question now ;-) [19:23] ralsina: wanna check? :-D [19:23] nessita: it looks good on windows [19:24] looks like we have some problem killing syncdaemon on windows [19:24] * ralsina debugs a bit === yofel_ is now known as yofel [19:27] nessita, alecu: u1sdtool -q (or other reasonable means) fail to top syncdaemon in windows [19:27] ralsina: when is running? [19:27] it prints "2012-03-23 16:26:31,704 - twisted - INFO - Main loop terminated." but keeps the logs open [19:27] nessita: yes [19:27] when is not running, apparently, it starts it again [19:27] (there is a bug for that) [19:28] nessita: it is running, and if we try to stop it, it doesn't. Since it closes the IPC port, another syncademon starts, but because the logs are still open, neither works [19:28] so it's sort of a real problem [19:29] cannot by Ctrl-C'd either [19:39] ralsina: why another syncdaemon tries to start?> [19:39] nessita: if, for instance, I start u1cp again [19:39] alecu: can that ^ be related to the tunnel? or the twisted disconnection madness? [19:39] ralsina: you behind a proxy? [19:39] nessita: no [19:41] I want to do a patch that after sd closes the main loop kills it very dead [19:42] even if we are not cleaning up correctly, keeping the process alive at that point is completely useless [19:42] and the OS will clean up after us [19:42] ralsina: I would advice talking about this with alecu, for sure [19:42] nessita: yes, I will [19:42] alecu: any thoughts? [19:43] ralsina, thinking [19:59] dobey: I quit having this working. The fact that the Notification.new object comes from the gi layer, is making any attempt to record the calls a complete failure [20:00] dobey: I'm sorry I could not help in this case. I would advice though adding a single test case that will open a real notification, like I showed in the paste [20:02] ralsina, I'm taking a look, and can't find anything very obvious. [20:03] ralsina, is this on trunk? [20:03] alecu: yes [20:03] alecu: I checked and main.quit is being processed, and it's doing a reactor.stop() that never returns [20:03] ralsina, I would add a print just after reactor.run() [20:04] nessita: i'm happy to just get rid of all the mocker stuff [20:04] nessita: then they will all be real calls [20:04] alecu: to make it more fun, this can only be tested on .exes :-/ [20:04] dobey: yes, but you can't assert that you made the proper calls, and every needed call (you can't assert you called set_hint_string if the update flag is on, etc) [20:05] dobey: so, until we replace Mocker tests with soemthing else, we can't remove them [20:05] alecu: ok, will do some more prints [20:05] dobey: my advice is to add a new testcase, that will show a notification, without mocking anything [20:05] so, the 2 suites together, will give better coverage than what we have now [20:05] ralsina, only on .exes? ouch. [20:05] alecu: yes, but at least I can do them quickly :-) [20:06] nessita: but calling the wrong thing will at least actually fail, without the mocker. [20:06] alecu: feels like C++ [20:06] anyway [20:06] dobey: yes, that's why I say having the 2 test suites [20:06] dobey: the mocker, to check that anything is left out, the real life one, to check that every call is valid [20:06] anything -> nothing [20:07] ralsina: if you do u1sdtool -q while running syncdaemon from trunk, does it stop? [20:07] nessita: not on windows [20:07] ralsina: it does not stop? os is reproduceable from trunk? [20:07] ok [20:07] nessita: does not stop [20:08] ralsina: ok, so alecu can reproduce using trunk, right? [20:08] ok, this is fun. reactor.stop() is returning, but sys.exit() is not. [20:08] So, it may be an atexit handler that is not finishing? [20:08] nessita: yes [20:10] ralsina, or a thread that keeps running? [20:10] alecu: all threads should be daemonic, and stop... [20:11] should, could, would [20:12] alecu: are we creating threads somewhere in sd? [20:12] I know, we are [20:12] but why would this work on linux then [20:13] ralsina, yup: I remember the hash queue, but I know some other places may create threads too. [20:13] but they should be *very* few. [20:13] ralsina, alecu: in windows you have all the threads to read directory changes [20:13] ralsina, anyway, it does not make sense for them to work differently when .exed [20:13] ok, so twisted is putting a lot of stuff hooked on sys.exit [20:14] nessita, that's right too! [20:14] alecu: ralsina just said this can be reproduced from trunk [20:14] alecu: let me try again from .py and see what happens [20:14] ralsina, sure. [20:15] the thing when running from .py is that u1sdtol doesn't work correctly [20:15] u1sdtool -q starts an "exe" syncdaemon [20:16] and everything fails differently [20:16] ralsina, and what if the .py sd is already running? [20:16] ralsina: but what if you have an already started syncdaemon? [20:16] alecu, nessita: I start the .py syncdaemon, and u1sdtool starts an exe anyway [20:16] ralsina, how comes? [20:17] alecu: if I knew I would fix it :-) [20:17] ralsina, they should be listening in the same port, right? [20:17] alecu: yeah [20:17] ralsina, I mean, ipc port [20:17] let me see if the .py sd is listening [20:17] ralsina, oh, -q [20:17] ralsina, perhaps we have never tested -q right on windows [20:18] ralsina, I know that -q does some weird things on linux [20:18] alecu: used to work [20:18] ok, if I use the .py, it's not opening the IPC port [20:18] because it can't start the proxy tunnel [20:18] " alecu: used to work" <- what percentage of certainty? :-) [20:18] alecu: previous releases, used it :-) [20:18] ok [20:18] :-) [20:18] so that's why this has to be exes [20:19] basically sd doesn't work from .py anymore [20:20] ralsina, and what was the change that made it impossible to run from .py? I can't believe it was the tunnel... [20:21] nessita, these branches are ready for review: https://code.launchpad.net/~diegosarmentero/ubuntu-sso-client/reset-error/+merge/99039 - https://code.launchpad.net/~diegosarmentero/ubuntu-sso-client/main-moved/+merge/98703 [20:23] gatox: thanks! [20:25] if anyone told me something after I said "doesn't work from py anymore" I missed it [20:28] ralsina, alecu told you: ralsina, and what was the change that made it impossible to run from .py? I can't believe it was the tunnel... [20:28] alecu: you better believe it! ;-) [20:29] alecu: the whole "start the tunnel" thing was completely broken on windows. Brian and I fixed it for the common case (exes) but not for python binaries, since those are just not executable [20:29] alecu: so to fix it we would have to detect that we are not frozen and hack the argument list, and insert the python exe in it, which is gross [20:29] and completely platform-specific to boot [20:29] ralsina, oh, I see. Since the proxy process is not being started.... [20:30] alecu: maybe we should make it assume there is no proxy if that process fails, though [20:30] ralsina, right. That's what the code does (or should be doing) [20:31] ralsina, I have testcases for that. [20:31] alecu: it's not what it's doing, though [20:33] and this may block the windows release, I'm afraid :-( [20:34] ralsina: is there anything i can do to help out? i noticed it was hard to close SD but i figured it was because of the SHOW_CMD or something making windows stick around [20:34] briancurtin: No, it's gone all Bruce Willis on us :-) [20:35] briancurtin: a good thing to have here that may help is a fix so that when the TunnelRunner fails it just assumes there is no proxy and sd doesn't fail. That way we can debug it much easier. [20:35] briancurtin: global approve for windows-symlink [20:35] ralsina: thanks [20:36] briancurtin: you have some needsfixing on autostart-clean [20:36] ralsina: that's what im working on now [20:36] briancurtin: ack [20:36] is there any pending branch for the SSO login not working when started via the wizard? [20:37] briancurtin: please update with-icon because you are going to have a conflict [20:37] briancurtin: it *is* working, I just used it :-) [20:37] hm, i'll try again [20:39] people.... i'm going to enter EOD mode... i'm actually programming bugs right now :P have a nice weekend! [20:39] gatox: the bug you are fixing is linux-specific right? [20:40] ralsina, right now?? or the 2 branches i proposed? [20:40] gatox: let me put it another way ;-) [20:40] alecu: are we really trying to send dns queries through the proxy server? [20:40] gatox: do you have any branches pending that fix windows problems? [20:40] ralsina, nop [20:40] dobey: that's standard procedure [20:40] ralsina, ah yes [20:40] ralsina, the backend one that is for review [20:41] dobey: proxys are often configured for systems that have absolutely no decent DNS resolution [20:41] gatox: ack [20:41] ralsina, you already approved, but then i need to put the changes in another branch for some bazaar stuff....... this one: https://code.launchpad.net/~diegosarmentero/ubuntu-sso-client/main-moved/+merge/98703 [20:41] and this after i move it, doesn't have your approve [20:41] dobey, no. They are tried with the locally configured dns server, and they will in most cases just fail. [20:42] gatox: ok, will look [20:42] dobey, most proxy servers only allow HTTP proxying, so there's no way to proxy those DNS queries anyway. [20:42] gatox: I am merging that one manually so far [20:42] w. t. f. [20:42] ralsina, ok..... it's working.... i tested that one a lot! [20:42] gatox: so did QA :-) [20:43] ralsina, even with py2exe [20:43] dobey: that's how proxys work IRL [20:43] alecu: how is the dns query failing then? the gateway is blocking the DNS queries? [20:44] ok, bye!! if someone needs anything or my branches needs any further improves, please e-mail me [20:44] proxies are a problem looking for a problem to solve [20:48] dobey, the dns query fails, because it's done against the local dns server or /etc/hosts, and it returns no match for a SRV type query. [20:48] nessita: removed the add_to_autostart call from the wizard - it works fine, fix pushed [20:48] alecu: I am giving you bug #963404 [20:48] Launchpad bug 963404 in Ubuntu One Client "On windows, syncdaemon can't be stopped." [High,Triaged] https://launchpad.net/bugs/963404 [20:48] briancurtin: yey! [20:48] alecu: it's important [20:48] briancurtin: you saw mandel's comments? [20:49] nessita: "don't do a setUp for only one test" is such a crappy comment :-) [20:49] dobey, but I've discussed this with facundo, and we have agreed to make a list out of the default server conf option, that's used when that query fails. [20:49] alecu: local server you mean "server configured on the local network which is broken" here? [20:49] nessita: yeah i saw them, but i need the test to work that way. if i switch the order the patching happens too late [20:50] alecu: yes, i'm not arguing against that. we should probably do that anyway regardless of any proxy nonsense [20:50] dobey, either the dnsmasq running on localhost, or the dns server running in your corporate environ that can resolve internal addresses, but blocks resolving external addresses. [20:50] briancurtin: looking closer then [20:50] alecu: i'm just trying to understand how it can break like that [20:50] briancurtin: your patch makes perfect sense :-) [20:50] or rather, why you saw it break [20:50] briancurtin: you need that patch before the class creation, which is inside the super'ed setUp [20:51] yep [20:51] briancurtin: will approve now [20:51] briancurtin: argh, no, will not approved [20:51] briancurtin: I haven't run the suite yet, but I can see pep8 issues there [20:51] alecu: they way you said it in the meeting, and the way it's worded in your bug report, makes it seems like the dns queries are going through the proxy server, which sounds completely wrong [20:51] dobey, I run tests in a VM, and I have explicitly removed the default gateway from that VM route. The only ip reachable is the ip for a squid running on the host. [20:51] briancurtin: can you please grab a post-it and write DOCSTRINGS in it, and paste it near your monitor? :-D [20:52] nessita: haha, i will [20:52] thanks ;-) [20:52] i'll fix it now, 1' [20:52] sure [20:53] dobey, what part is worded wrong in the bug report? [20:53] briancurtin: while pylint is hell on windows, pep8 works just fine and can even be ran manually ;-) [20:55] alecu: i'm not sure, which is why i'm asking about it, because i wasn't fully understanding what you were saying :) [20:55] dobey, does it make sense now after I've explained it yet again? [20:55] alecu: but it sounds like i should not think about it and just resolve to the fact that proxies are always broken [20:56] dobey, proxies are usually not broken. It's just some people not getting in the same mindset as them. [20:56] :-) [20:56] alecu: no, but probably not your fault. but the fault of bad sysadmins who intentionally break the network to use a proxy [20:57] nessita: docstrings added [20:57] briancurtin: yey! [20:58] dobey, most of the sysadmins I've met at medium sized companies are overwhelmed with real work, and setting up a proxy is something they do unwillingly, because users bother them just to check mail, and the sysadmin usually has a direct connection and don't care about proxies working "right". [21:00] nessita: you get "foo" ? That can't be good :-) [21:00] ralsina: eh? where? [21:01] ah, you reading the emails? [21:01] ralsina: there's more to come [21:01] nessita: the bug mail about "need more than 3 values" yes [21:01] ralsina: alecu and I found it, I added a final comment [21:02] nessita is awesome! [21:04] hahaha saw the comment. I suppose that was a bit too fake. [21:04] I will take a break and put a couple of hours late tonight [21:04] so, if I don't see you, have a nice weekend all! [21:04] ralsina: i just updated with-icon whenever you have time later [21:05] briancurtin: will check! [21:05] ralsina: you too\ [21:05] briancurtin: please check the diff and see you are not missing any & on parameters [21:05] ralsina: have a good weekend [21:05] briancurtin: I added one that was missing earlier o trunk [21:05] ralsina: yeah i made sure to include those in the merge [21:05] briancurtin: cool, will review tonight [21:05] briancurtin: re-approve windows-symlink, it bounced for no reason [21:06] and... gone! [21:21] ok, need to roll. have a good weekend all! [21:33] ok, I'm gone have a great weekend everyone! [21:33] bye nessita [21:33] bye! [23:26] ralsina, is not a crappy comment! [23:26] and is because I'm lazy, I'm not blocking due to that, but due to the fact that the patch is done there, which is weird :) [23:38] EOW! bye peoples