[08:19] morning all! [08:22] Morning all! :) [08:24] mornings! [12:16] hola all! [12:16] mandel, so: I owe you a review... [12:16] alecu, not anymore, nessita just did it :) [12:16] alecu, but, fancy to chat about the tcpactivation changes I want to make for mac? [12:17] alecu, I was thinking of using unix domain sockets and to try and put everything toguether with the smallest amount of changes to use th etwisted.internet.endpoints [12:19] alecu, clientFromString and serverFromString so that we can choose a random port for windows and pass tcp:random_port:interface=127.0.0.1 and unix:/Users/mandel/.cache/ubuntu_sso/ipc for Mac [12:19] or something like that [12:19] mandel, sounds interesting [12:20] mandel, on the other hand: what's broken with tcp? why unix domain sockets instead of tcp? [12:20] mandel, is there some limitations on mac regarding that? [12:21] alecu, using tcp random ports means that we have to do store the random port somewhere to read it later etc.. with the domain sockets we dont have to, so less 'moving parts' [12:21] alecu, also less code, and the less we code the better :) [12:21] mandel, right: we need to store the port number somewhere. [12:22] alecu, but with domain sockets is a file in the users cache dir from xdg [12:23] mandel, I'm thinking that we should be using unix domain sockets in osx for something related: [12:24] mandel, getting the events from the daemon that runs as root, to the syncdaemon of each user. [12:25] mandel, but I was thinking of using a path like: /tmp/UbuntuOne/[username]/events [12:25] mandel, or [userid] instead of the name. [12:25] alecu, yes, since it should be discarded, and better user id :) [12:26] mandel, and making sure that folder be 0600 [12:26] mandel, so only each user can see the events that belong to them. [12:26] good morning! [12:26] hola ralsina [12:26] alecu, which simplifies the way in which we have to parse them, certainly less work [12:26] mandel, also for security reasons [12:27] mandel, so, perhaps we can use that folder to store all unix domain sockets (UDSs?) [12:27] mandel, what do you think? [12:28] alecu, sure, I have no preference in terms of the path, sounds good to keep them al in the sample place [12:28] alecu, I have a branch with the changes to use endpoints (although not yet providing the description builders per OS) shall we take a look at it after my lunch? [12:28] mandel, sure, let's. [12:29] alecu, great, if it is ok I might be able to get use to have the tcpactivation ready today :) [12:29] mandel, awesome. [12:30] alecu, I also found out about the SystemConfigurationFramework, which will let use know about network connection, but we have to use ctypes.. :( [12:30] ralsina, morning! I own you jenkins, but there was a blocked branch, I'll fix and land everything after my lunch if that is ok :) [12:30] mandel, btw: I know that UDSs have some issues regarding the server process dying and leaving the socket in the fs [12:30] mandel, http://blog.henning.makholm.net/2008/06/unix-domain-socket-woes.html [12:30] mandel: ack [12:30] mandel, we should make some scripts to run some IRL tests of this [12:30] mandel, to make sure that it will not affect us. [12:31] domain sockets also have different semantics accross OSs [12:31] for example, on windows you can open a domain socket noone is listening to (really) [12:31] Or something like that, I stumbled into it when doing the "unique application" work [12:31] alecu, yes, we should maybe do stress tests and add them somewhere [12:31] ralsina, I think you can do that too on unix. It's with pipes that you can't [12:32] alecu: but then if connect always succeeds, there is no way to do activation (or missing something?) [12:32] alecu, ralsina, we should take a look, I'm nearly done with the code so that we can test it today :) [12:32] mandel: awesome [12:33] mandel, ^ that is what I was talking about regarding that article. [12:33] mandel, what ralsina just asked. [12:33] mandel, we need to be sure that we'll be able to use UDSs to do the activation. [12:33] alecu: we could use pipes [12:33] named pipes [12:33] alecu, ralsina, yes, and it happens like that, that is, I have a pd client and server over domain sockets and I can connect the client with no server [12:34] mandel: hopefully you can see the problem there ;-) [12:34] ralsina, I'm not sure how good named pipes work with twisted, we should certainly take a look at that and make some experiments with both osx reactors. [12:34] alecu: ack [12:35] alecu: named pipes can be interacted with natively from Qt too, avoiding a need for a reactor [12:35] on u1cp/sso on windows, at least [12:35] ralsina, alecu, the client does not create the socket file, that is, I do unix:/Users/mandel/echor and is not create, we could just query the presence of the path... [12:35] anyway, lunch and we can look deeper into that before we move on [12:35] ralsina, right. It's SD were we need to be extra careful. [12:36] alecu: exactly [12:36] * ralsina is happy to see everyone bubbling with ideas to fix stuff [12:36] mandel, "we could just query the presence of the path" but the file will still be present on the filesystem [12:36] mandel, even though the server died. [12:36] alecu, no, twisted cleans it [12:36] mandel, that's why I want you to read that article :-) [12:37] http://blog.henning.makholm.net/2008/06/unix-domain-socket-woes.html [12:37] mandel, died as in died. [12:37] alecu, ok, yes, that happens.. which is a PITA [12:37] alecu, let me have lunch, read the article and rethink :) [12:37] it's just pining for the fjords [12:37] mandel, sure :-) [12:38] Also: predictable unix socket /named pipe names are frowned upon [12:39] Specially on /tmp [12:39] A second user could hijack the path, and get a copy of all your U1 files that way [12:39] mandel, alecu: ^ [12:40] ralsina, alecu in the named pipe case no, since you can state the security context used, so you tell it to inherit those form the process that creates it [12:40] anyways, lunch :0 [12:40] ralsina, the "root daemon" that's started before it all would create the user folders in /tmp, and set the permissions of each folder. [12:41] alecu: doing insecure things and veryfying we are doing them securely is often a promise of pain for the future [12:41] alecu: but hey, it *is* doable :-) [12:42] I call that concept "asspain debt" [12:42] It's like technical debt, only painful, and in the ass [12:43] ralsina, so, the other option is having the "root daemon" creating the sockets in each users' ~/.cache/ubuntuone/ [12:43] ralsina, but that sounds awful too [12:44] alecu: well, it has no security issues at least [12:45] ~/.local/ubuntuone ? Maybe xdg has a corner for this kind of thing [12:45] ralsina, that's too bold of a statement: "it has no security issues" [12:45] :-) [12:45] alecu: always remember to add "that I can see" to everything I type [12:45] Oh, a $2 bill! (that I can see) and so on (that I can see) [12:51] what's up? [12:51] ralsina, so, looking at my /tmp, I see that at least esd, orbit and virtualbox have created folders with 0600 named like my user or userid. [12:51] hola dobey! [12:52] hola alecu [12:52] alecu: esd is ancient code. Orbit I don't know, virtualbox, I am shocked ;-) [12:52] why are we discussing a "root daemon" creating sockets in the user's home? [12:52] ralsina, oth: both ssh and pulse are using random names. [12:52] let's ask for a third opinion: dobey: what do you think about creating unix sockets or named pipes with predictible names in /tmp? [12:53] alecu: in any case, this is not for linux, right? [12:53] ralsina, re: vbox: it's on linux. [12:53] alecu: I mean, we are not doing this on linux. On linux we have dbus [12:54] ralsina, and yes: dobey the root daemon is for osx. [12:54] ralsina, right. [12:54] alecu: by root you mean uid 0? [12:55] dobey, right [12:55] why do we need to run something as root on osx? [12:55] dobey, afaik, that's the only way to fetch *all* filesystem notification events from /dev/fsevents [12:57] do we need that? surely every mac application isn't also running some process as root to watch for file changes [12:57] dobey, the blessed option is to retrieve them using the FSEvents api. But it does not provide "file changed" events, only "something in this folder changed, do a rescan to find out" events. [12:57] alecu: hrmm [12:57] dobey, http://arstechnica.com/apple/reviews/2007/10/mac-os-x-10-5.ars/7 [12:58] i'll read that and get back [12:58] maybe urbanape has some better idea than i would though [13:00] alecu: we could just do dir-level events and mtime. There is a minimal chance of missing something, of course [13:02] yup [13:02] and all the extra effort of polling the directories [13:02] depending on size [13:02] urbanape: well, polling just mtimes is not that heavy [13:02] just a bunch of stats [13:02] at least is not a local hash [13:02] ralsina, right: but on syncdaemon we would need to do it in a different thread. [13:03] alecu: right, we would have to have a "wtcher daemon" really [13:03] ralsina, and in my mind is much more work than a small daemon that feeds the kind of events we want. [13:03] alecu: that daemon does the real watching and sends the events to syncdaemon [13:03] ralsina, I mean, reading them from /dev/fseventsd. [13:04] alecu: reading *everything* from fseventsd is heavy work. That would have to be really optimized. [13:04] ralsina: disk i/o can be extremely taxing though. but i suspect xnu is better at that than linux is [13:04] ralsina, yup: sd could start that daemon that reads from FSEvents if the root daemon is not running. [13:04] alecu: right, provide the same API from both daemons [13:04] so we can start with a FSEvents one or the other and end with both [13:12] how are we doing IPC on osx exactly? [13:12] dobey: currently, a weird twisted protocol over TCP on localhost [13:14] well it seems that poking /dev/fsevents is a very bad idea [13:16] not poking, polling. [13:16] reading /dev/fsevents [13:16] right [13:16] blocking, even :) [13:17] It's probably worth trying FSEvents and checking for directory contents first, and see whether the performance is acceptable. [13:17] hence the initial talk about using watchdog, as it abstracts over darwin/windows/linux, at least as a first attempt [13:17] what's the oldest version of osx we're going to support? [13:18] urbanape: agreed [13:18] And then, if it's not, we *add* a root-level daemon [13:19] dobey: I'd say 10.6, but I think it'd be easier to just start with Lion [13:19] urbanape: besides abstraction, is watchdog any easier than FSEvents directly? [13:19] hrmm [13:20] do you *have* to be root to read from /dev/fsevents? [13:20] yes [13:20] (re root) [13:20] boo [13:20] ralsina: probably not. There are a few other libraries that wrap FSEvents for python [13:20] but that one struck a chord, since it aims to be cross platform as well. [13:21] urbanape: yes, but we have working solutions on the other platforms [13:21] urbanape: so that's not all that tempting. If it's easier, then we could use it anyway, and then consider, say, for windows, in the future [13:21] urbanape: or at least not harder and/or slower [13:22] ooh; has hfs+ been replaced by zfs yet? [13:22] yes! the power is back! :D [13:22] dobey: no [13:23] sad panda [13:25] urbanape, hi.... so, i've installed the programs in the doc in my mac..... did you install dev-tools manually to run tests, or how are you running them? [13:27] They get installed inside the dev setup. I changed the entry in my buildout.cfg to point to a file:/// tarball of mandel's branch [13:28] which is in trunk now so you don't need that any more [13:28] urbanape, mm not sure if i follow.... do you have anything i can read about this or some branch? [13:28] so..... i should install dev-tools directly? [13:29] with setup.py [13:29] I'll add to the doc. Just a moment. [13:29] sounds like the buildout should install it [13:31] urbanape, thanks!! [13:31] the buildout should install it [13:31] and there's an entry by default in the buildout.cfg [13:31] but we need mandel's branch (until it lands) [13:32] urbanape, ok.... thanks, i'm going to try that [13:37] urbanape, can you share with me your buildout.cfg? [13:37] sure thing [13:38] gatox: https://pastebin.canonical.com/64476/ [13:39] urbanape, thanks [13:39] you can see that for ubuntuone-dev-tools, I just list a local file:/// URI pointing at a tarball of the bzr checkout [13:39] the version in the filename is wrong, but that doesn't matter [13:40] yes [13:40] the egg gets the proper version so is good [13:41] huh [13:42] urbanape: any reason to not include it and dirspec under [sources] instead? [13:42] probably not. This is inherited/edited. [13:43] we should probably put them under sources to just pull straight from trunk [13:43] like the other things [13:53] * mandel back [13:53] urbanape, should land in a few mins, [13:59] your ubuntuone-dev-tools branch? [14:12] gatox is now without internet. [14:12] I will suggest he invest in smoke signal futures, which seem to be a bright prospect in Córdoba [14:16] ok, trying with 3g now.... until fibertel gets back :@ [14:25] ralsina, urbanape, alecu, so using unix domain sockets does give the problem regarding the activation since if the process crashes the fd is there [14:26] * alecu floods gatox_ ip [14:26] alecu, eh? why? [14:27] mandel, right. So it might be a matter of not only connecting to the socket but checking to see if somebody is listening and then starting the other process. [14:27] alecu, i'm having some connections issues right now :S i'm trying to install everything in the mac with 3g..... sorry if i miss some message [14:27] gatox_, "flood" just because you are on 3g, and I'm evil [14:27] alecu, ahhhhhhh jejejejeje [14:28] alecu, I'll take a look if that is possible [14:28] mandel: if you have some time to look at the buildout changes, here are the proposals: https://pastebin.canonical.com/64482/ [14:28] briancurtin, sure I do! [14:28] alecu, did you tell gatox_ about his new assignment? [14:28] * gatox_ don't trust mandel [14:33] internet is back again [14:33] * gatox don't trust mandel [14:34] mandel, a really new assignment or you just are going to think about something awful? [14:34] gatox, you got move to write the wx ui, we think qt is not ready.. [14:34] gatox, that or curses [14:34] jejejej [14:44] alecu: if you could please do a 2nd review of https://code.launchpad.net/~brian.curtin/ubuntuone-windows-installer/buildout-env/+merge/102386 [14:45] alecu, maybe this could be a way to find out: http://pubs.opengroup.org/onlinepubs/009695399/functions/getsockopt.html [14:51] ralsina: ping ralsina. Bug #984964 [14:51] Launchpad bug 984964 in Ubuntu One Control Panel "SSO is not started with the -testability argument" [Undecided,Triaged] https://launchpad.net/bugs/984964 [14:52] ralsina: could you give that bug a high importance so it's fixed soon? [14:53] mandel, getsockopt is to get the uid in linux, right? so, it could give us "a way to find out" what? [14:53] mandel, we would not find out if it was started, right? [14:54] alecu, hm.. I think I'm going to avoid domain sockets just due to possible crashes.. [14:54] mandel, no: I think we should use them. [14:55] mandel, but we need to be certain which way to avoid those crashes. [14:57] alecu, I'll keep trying to find out [14:58] mandel, the thing is, I don't think there's a better option than UDSs. They are fairly well supported in twisted afaict. [14:59] mandel, other than those I considered using Named Pipes, but the twisted support is not that great. [15:00] alecu, using domain sockets on twisted is very easy, I already have an example working (small tiny one) [15:00] mandel, and we can always use tcp if the other stuff does not work. [15:00] mandel, so, since it's easy, we should use them, and find a convincing "activation" story. [15:03] me [15:03] me [15:04] me but on the phone :-/ [15:04] elopio: I can raise it, yes, but it's not trivial to fix [15:05] mandel, alecu dobey urbanape thisfred standup? [15:05] me [15:05] me [15:05] me [15:05] me [15:05] meh [15:05] DONE: [15:05] Fix the checkbox wrapping branch, fight with internet and power issues, install everything with brew in mac, dealing with some issues with the buildout. [15:05] TODO: [15:05] Finish with the buildout and start working on mac tests. [15:05] BLOCKED: [15:05] Not yet (if i can get the buildout to work :P) [15:06] ralsina, go [15:06] no notes yet, I'll go last [15:06] DONE: got buildout into shape, pinned the versions down, updated a few other proposals [15:06] TODO: get back to the installer automation now that buildout is complete, hopefully get this going on jenkins soon [15:06] BLOCKED: none [15:06] NEXT: alecu [15:06] DONE: debugging in some private bugs [15:06] TODO: review day, more bufixing [15:06] BLOCKED: no [15:06] NEXT: mandel [15:07] DONE: Start on mac os x. Look and required changes to use unix domain sockets. Made some small changes in the fix-tests branches (waiting them to merge). [15:07] TODO: Look at jenkins status. Talk with urbanape about mac work. Continue with domain sockets. [15:07] BLOCKED: no [15:07] thisfred, go [15:07] DONE: started on u1db demo app TODO: land first demo app branch BLOCKED: no NEXT: urbanape [15:07] DONE: updated buildout with mandel's branches, got feedback on my branch. TODO: Update my branch with more shared modules. BLOCK: None NEXT: dobey [15:07] λ DONE: protocol 2.0.1 release and mostly upload, some backport fixes [15:07] λ TODO: more backport fixes, SRUs, u1db packaging/buildsys [15:07] λ BLCK: none. [15:07] ralsina [15:08] alecu, if you are in your review day..... can you review this?? :D https://code.launchpad.net/~diegosarmentero/ubuntuone-client/syncdaemon-q/+merge/100984 [15:08] please [15:08] is nessita half day today for uni? [15:09] gatox: I will do it after I finish this other review. [15:09] dobey, that's usually on tuesdays, I think. [15:09] alecu, ok, thanks [15:09] ah [15:09] alecu, urbanape do you have the macs around? [15:09] she's just not on this channel i guess [15:09] I'm on a mac right now. [15:09] mandel, I have one, yes. [15:09] mandel, and gatox too. [15:09] alecu, urbanape, could you look at paste.ubuntu.com/935561 [15:09] gatox, ^ === gatox_ is now known as gatox_mac [15:10] alecu, gatox, urbanape, the idea is there to have a simple server and client, you have to change the path to the domain socket (I forgot) [15:10] alecu, gatox, urbanape, if you run the server, you will notices that echoer and echoer.lock are created, if the server stop correctly, those are removed [15:11] mandel, the paste looks right. [15:11] alecu, gatox urbanape , if you force quit the server, they are left there, the idea is that if the server died open(echoer.lock) works and if it is running fails [15:12] grmbl, ok, sorry I ended skipping standup [15:12] mandel, where is "echoer.lock" ? [15:13] alecu, same path as the one givem to the domain socekt [15:13] socket [15:13] mandel, and what happens with that lock? When is it removed? [15:14] mandel, btw: those examples should work under linux too. [15:14] alecu, if the termination is normal, it is remove, else it is left there [15:15] alecu, but is not a normal file, or at least os.path.exists(echoer.lock) returns false even when I ls and is there [15:20] mandel, add this two lines to the client: [15:20] r.addErrback(util.println) [15:20] r.addCallback(lambda _: reactor.stop()) [15:20] mandel, on linux it's a symbolic link. [15:22] mandel, and a bit of IRL testing shows that on linux the lock mechanism is solid: the server only starts once, and killing it with -9 means I can safely restart it. [15:23] mandel, sorry, the second line I pasted should be "addErrback" too. [15:23] alecu, I noticed, otherwise nothing is printed :) [15:24] alecu, killing with -9 an trying to connect will raise a ConnectionRefusedError [15:26] mandel, so, this little bit of IRL shows that all of this should work for activation. At least on linux, as I tested. [15:26] mandel, are you testing this on osx? [15:26] mandel, urbanape so..... the buildout seems to be installed correctly... but i don't have u1lint or u1trial in the env vars...... how are you running the tests? i'm trying to execute ./run-tests, but it doesn't do anything [15:26] alecu, can you pass me in a pastebin what you did and the results to compare it? [15:26] alecu, I'm testing on mac os x [15:27] gatox, I used the fill path of the bins [15:27] mandel, ack [15:29] mandel: https://bugs.launchpad.net/ubuntuone-dev-tools/+bug/985004 for the squid startup errors issue [15:29] Ubuntu bug 985004 in ubuntuone-dev-tools trunk "Squid service startup hides errors" [High,Triaged] [15:29] dobey, thx! [15:31] Hmm… Maybe that was another bit of fudging. I might have copied the binaries into the bin directory. I'm not positive. And my shell history doesn't go back that far. [15:33] mandel, something like that? [15:33] http://pastebin.ubuntu.com/935591/ [15:35] alecu, perfect, let me fix jenkins and will test it, but with what I have done so far, it looks like it works the same way [15:36] mandel, awesome then. [15:36] mandel, it would be very feasible to adapt the tcpactivation code to use this in this case. [15:37] alecu, I'm done some work already with that :) [15:38] alecu, I'm push it for you to complain about it, let me get windows out of my way :) [15:38] mandel, briancurtin: one additional thing to think about in jenkins is that windows builds seem to get stuck for days [15:38] mandel: which obviously means no builds get done, which means no error messages [15:39] ralsina: do we have any indication of why? [15:39] ralsina, what do you mean? [15:39] mandel,briancurtin: https://jenkins.errormessaging.com/job/ubuntu-sso-client-windows-test/42/ [15:39] one way it might happen is if tests segfault and the machine is setup to display crash dialogs, it'll hang until you hit cancel (or debug) [15:39] mandel, did you modified the run-tests? [15:39] we should find a way to give them a maximum run time [15:40] that's actually something we used to run into on CPython's buildbots, i think, until all of the build slaves had Windows Error Reporting turned off to allow tests to actually finish [15:40] ralsina, sure, although there it was me because I had to update the ubuntuone-dev-tools of the machine that runs the tests [15:40] gatox, no, why? [15:40] gatox, I did it manually, we need to add a run-tests that works on mac os x [15:40] mandel: I know it's not supposed to happen, but if we ever get that behaviour again, then we will not even notice [15:40] mandel, ahhhhhhh okok [15:41] ralsina, ok, we can think of something [15:41] we could use the faulthandler library and place timers on tests, then if a test takes too long, dump the traceback and move along [15:42] alright, need to get lunch. bbiab [15:42] briancurtin: sounds good, if a bit invasive [15:43] ralsina: certainly. if we don't need that, then it's even better. may as well start with something on jenkins' end to just say "the whole test suite must take under X mintues" and see how it works [15:44] briancurtin, trial has a timeout for tests. It's set to 120seconds by default, but we manually set it lower on most testcases. [15:44] ralsina, is jenkins down for you? [15:44] briancurtin, oh, you mean globally. [15:46] hello is there any way i can sftp upload files to U1 ? [15:46] alecu: maybe? I'm not actually sure what timing options we actually have. i didn't know about the already existing trial 120sec limit [15:48] mandel: yes, looks down [15:48] mandel: but strangely, something is there since I get the certificate complaint [15:48] briancurtin, in https://code.launchpad.net/~brian.curtin/ubuntuone-client/run-tests-buildout-cleanup/+merge/102394 I know that u1trial uses an env var for _trial_temp we should check for it in the last part of the run-tests, don't you think? [15:48] ralsina, yep, jenkins is being updated [15:49] mandel: ack [15:49] ralsina: yes, I thought so. I didn't find a place to hardcode the testability arg. [15:49] elopio: I will find a way, don't fear [15:50] ralsina: if you want to run the tests -> http://pad.ubuntu.com/u1-testability [15:50] elopio: but the easiet way is to just grep for QApplication :-) [15:50] for now, you'll have to fill the SSO by hand. [15:50] mandel: i haven't seen that, i just ported old run-tests.bat to the new way. i will look at the run-tests (non .bat) to see env var stuff [15:50] rmcbride, joshuahoover: http://pad.ubuntu.com/u1-testability [15:51] it might still be a little unstable [15:51] briancurtin, let me find that for you [15:51] elopio: awesome [15:51] woo hoo! [15:52] elopio: very nice...i'll have to give it a try later today [15:53] briancurtin, is TRIAL_TEMP_DIR [15:54] mandel: where does this come from? [15:57] briancurtin, u1trial picks this up and is set in the machine env vars in the jenkins buildbot, we can remove it from there, set it in the batch used and let runtest read it if present [15:58] mandel: so perhaps I should try to use TRIAL_TEMP_DIR (the jenkins case) and fall back to "_trial_temp" (the local case)? [15:59] briancurtin, so, if the env var is present, us it, else fall back to _trial_temp is the way that u1trial uses, sound like the right thing to do [16:00] alecu, I get the same results on mac os x for: http://pastebin.ubuntu.com/935591/ [16:00] mandel, great === zyga is now known as zyga-food [16:04] alecu, I'll do the jenkins work, then I'll get to the sockets stuff [16:05] urbanape, if you pull from lp:~mandel/ubuntu-sso-client/initial-darwin-port you will get your branch merge with trunks and not merge conflicts [16:05] excelletn [16:05] urbanape, I'm using it to do some changes about the tcpactivation to use domain sockets [16:10] * gatox lunch === gatox is now known as gatox_lunch [16:11] * elopio throws the programmer gown and goes to fetch the tester robe. [16:22] briancurtin, ralsina 18 mins to run the tests on the ec2 for windows.. oh my! [16:22] mandel: well, it's ec2 [16:22] mandel: maybe we can get a bigger instance [16:22] it's better than never [16:23] * ralsina checks... no, we don't merge a branch every 18 minutes [16:27] ralsina, alecu, u1sdtool -q in precise stops *and starts* the client :| [16:27] facundobatista: nightlies? [16:28] facundobatista: if not, known bug, fixed in latest release [16:28] ralsina, ok, thanks [16:29] facundobatista: fix should also be there in 3.0.0 [16:29] ralsina, I have 3.0.0 (clean Precise) [16:29] facundobatista: ugh [16:30] urbanape, alecu lp:~mandel/ubuntu-sso-client/use-unix-domain is a branch in the middle of work that uses twisted.internet.endpoints for the tcp activation, that way we can use tcp or unix domain sockets by passing a diff description of the end point [16:30] ralsina, you want me to debug anything? [16:30] facundobatista: trying to replicate, eill ping you in a bit [16:30] cool, I'll get on that as well. [16:31] urbanape, alecu there are lint issues (inherited by urbanape branch) and I have to make the generation of the server and client descriptions better, but is a start :) [16:32] alecu, urbanape, tests pass atm using tcp, I think we should add two testscases, one using tcp and the other domain sockets, then skipIfOs(win32) the domain socket one [16:32] please take a look, but is work in progress :) [16:32] ralsina, isn't that (-q) what gatox latest branch fixes? [16:33] alecu: was that branch not merged before 3.0.0 release? [16:33] ok, EOD for me, I need to cafe cafein and walk the dog, laters! [16:34] mandel, bye [16:34] ralsina, perhaps we are not talking about the same branch: https://code.launchpad.net/~diegosarmentero/ubuntuone-client/syncdaemon-q/+merge/100984 [16:35] alecu: right, I was thinking about the fix for "-q start sd if it's not running" [16:35] which is this one [16:35] thought that was done [16:36] facundobatista: with nightlies, -q when sd is not running does nothing, when it's running closes it [16:36] facundobatista: I don't get extra starts [16:38] ralsina, I don't have nightlies, [16:38] ralsina, I have 3.0.0 (clean Precise) [16:38] facundobatista: yes, but I do, now will try 3.0.0 [16:42] facundobatista: untangling versions to get back to 3.0.0, should be able to try it in a minute === gatox_lunch is now known as gatox === salgado is now known as salgado-lunch [17:19] dobey: maybe you can help me, I am having trouble dowgrading to 3.0.0: https://pastebin.canonical.com/64508/ [17:20] Oh, ok, got it done by specifying the version of everything [17:21] it's easier if you disable the nightlies ppa and apt-get update first [17:21] and then remove the packages and reinstall [17:22] ralsina: you're wondering if the -q fix is in 3.0.0? [17:23] facundobatista: can't reproduce with 3.0.0 [17:23] facundobatista: https://pastebin.canonical.com/64509/ [17:23] dobey: yes I was [17:23] it is not [17:23] dobey: yes, found out later :-) [17:26] ralsina, can not reproduce it any longer, :( [17:26] ralsina, but it was happening, I was seeing the log in one terminal and I was doing -q in the other [17:26] had to kill it to make it stop [17:26] now it works, though === zyga-food is now known as zyga-afk [17:40] urbanape, sorry to keep bothering you.. but i'm running the tests as the doc says….and i get: "ImportError: No module named PyQt4.QtGui" for devtools/reactors/qt4.py….. but if i open a console and do: "from PyQt4 import QtGui" is working… but if i open python using that PYTHONPATH is not working… is it possible that something is missing in that pythonpath? [17:42] hmm. Are you running the tests like I added in the doc? [17:43] urbanape, yes, but replacing the base path with mine…. [17:43] hello [17:43] if i open python like this: [17:43] right. Hmm... [17:43] gatox_mac: have you compared sys.path in the two cases? [17:43] gatox_mac: can you just "import PyQt4" with the "broken" PYTHONPATH? [17:43] urbanape, PYTHONPATH=.:/Users/gatox/canonical/buildout-env/scripts/devsetup/parts/ubuntu-sso-client:/Users/gatox/canonical/buildout-env/scripts/devsetup/eggs/ubuntuone_dev_tools-2.99.2-py2.7.egg:/Users/gatox/canonical/buildout-env/scripts/devsetup/lib/python2.7/site-packages /Users/gatox/canonical/buildout-env/scripts/devsetup/bin/python [17:43] the import fails [17:44] dobey, no…. with that python path it fails [17:45] gatox_mac: where is PyQt4 on the system? do you have a "PyQt4" directory in any of those directories that doesn't have an __init__.py in it or something? [17:46] hello. yesterday i added a 3rd computer to my account and began syncing my main folder (~/Data/U1). everthing seems to have worked. however, i deleted a pile of directories while working on the 3rd computer but they remain on the other 2. how to troubleshoot this? [17:46] dobey, ['/usr/local/lib/python2.7/site-packages/PyQt4'] [17:47] mmmm i could try adding the site-packages of the system too [17:48] yes, that works [17:48] hmm. [17:49] urbanape, where do you have pyqt? [17:49] * urbanape checks to see if even more stuff is custom on his setup. [17:49] urbanape, i install pyqt using brew…. some days after following the doc… but the procedure was the same [17:49] installed [17:49] some days before…. sorry [17:50] if I just run bin/python from within the devsetup directory, I can import PyQt4 just fine. [17:50] and that's installed via homebrew [17:50] * gatox_mac checking... [17:51] exists absolutely in /usr/local/Cellar/pyqt/4.9.1/lib/python2.7/site-packages/ [17:51] urbanape, yes… me too… the problem is when i change the pythonpath [17:51] gatox_mac: is /usr/local/lib not in python's sys.path by default there? [17:51] although if not, wouldn't explain how it would ever have worked for you [17:51] and python killing sys.path with PYTHONPATH set doesn't make sense either [17:51] * briancurtin lunch [17:54] mmm the problem seems to be, that the default is: /Library/Python…. but i have PyQt in /usr/local/lib/python2.7/site-packages/ [17:54] gatox_mac: you have two pythons [17:54] gatox_mac: maybe? [17:56] sounds like someone installed native python before homebrew python [17:56] ralsina, maybe.. but the default is the one trying to look the things inside /usr/local… either way.. if i add /usr/local… to the python path everything is okç [17:56] dobey, gatox_mac: there is always a system python on mac, IIRC [17:56] ralsina, yes [17:57] gatox_mac: and is that the one you are using? [17:57] ralsina, yes [17:57] oh. well that too then [17:57] i haven't booted a mac in a very very long time [17:57] gatox_mac: and that the only python? What's which python say? [17:58] ralsina, version?? 2.7.1 [17:58] gatox_mac: no, "which python", the path [17:58] already fix that problem though….. [17:58] aha. [17:58] gatox_mac: ok, nevermind then [17:58] I have homebrew python installed, too. [17:59] which makes sense. That's in the doc [17:59] is /usr/local/bin in your PATH before /usr/bin? [17:59] maybe the problem is that i install pyqt before installing python brew... [17:59] I don't think it is by default in Mac OS X [17:59] that could be as well [18:01] yay, 2 SRU packages down. 347 to go [18:04] hrmm, i need a vm really [18:04] doing old branch releases on precise isn't the best thing in the world, since 99% of the tests will fail/notwork [18:05] should i try to get a vm working here, or try to use canonistack though [18:06] or just cheat and use the tarmac instance [18:08] urbanape, are we using dubs on mac?? sorry if i'm annoying :P i want to know [18:08] dbus [18:08] nope. Originally went that way, but opted to let it go. [18:10] urbanape, thanks…. i think that i almost have everything working :D === salgado-lunch is now known as salgado [18:25] ralsina, alecu: first stab at a u1db example app (no UI yet, this is just the minimal backend) https://code.launchpad.net/~thisfred/u1db/u1todo-example-1/+merge/102571 [18:26] thisfred: cool :-) [18:26] thisfred, awsome! [18:26] this is supposed to become super clear for people with no u1db knowledge, [18:26] so anything that's unclear is a bug [18:27] thisfred: it's written in some sort of computer-language, it seems [18:27] thisfred: write it in HUMAN [18:31] ralsina, does google translate do HUMAN? [18:32] I thought python was basically Dutch? [18:32] thisfred: he [18:34] thisfred: it's all mixed metaphors and hearsay! [18:35] urbanape: I'd like you to take a vacation in the Netherlands to test this assumption :) [18:36] man it is hard to remove "friends" on facebook these days [18:36] "Sorry mijn heer, while True: bus.wait()" [18:36] * dobey really misses the time when there was a simple [x] button next to all the names in a list === thisfred is now known as [x]thisfred [18:49] urbanape, ok… i have the qt tests for sso running and all passing… i having some problems with test_ipc, not finding ubuntuone.devtools.testcases.tx [18:50] and i can't find it either :S [18:56] briancurtin, ping [18:56] briancurtin, I'm reviewing this branch: [18:56] briancurtin, https://code.launchpad.net/~brian.curtin/ubuntuone-windows-installer/buildout-env/+merge/102386 [18:56] briancurtin, I started from a pristine win7 vm, installed python 2.7, pqt, pywin32 [18:57] briancurtin, and generally followed the steps in the README.txt [18:57] briancurtin, and I'm now at the steps where I can run run-tests.bat [18:57] briancurtin, but I'm getting a message that says that u1trial is missing. [18:58] briancurtin, do you have any idea? [18:59] alecu: pong, just got back, looking now [18:59] briancurtin, http://pastebin.ubuntu.com/935875/ [19:01] alecu: in order for that to work, you need these changes as well: https://pastebin.canonical.com/64482/ -- the MP you're looking at, by itself, doesn't work with run-tests.bat. Each project needs a change to run-tests.bat to work with the buildout-env MP [19:01] briancurtin, great then. [19:11] briancurtin, I'm testing with the -sso branch in that paste, and it seems to start running the tests, but it crashes because it can't find devtools: http://pastebin.ubuntu.com/935888/ [19:11] briancurtin, perhaps I'm missing something else? [19:13] alecu: hm, let me gather some details and see how we can diagnose it. i just ran the sso tests right before lunch and it was all fine [19:15] gotta go pick up the kid [19:15] will be back [19:16] alecu: can you pprint(sys.path) so i can diff it with mine and see that all of the right things got setup for you? [19:16] alecu: also, have you run the "env.bat" script that's in the devsetup folder? [19:24] briancurtin, yes, I had run the env.bat script. Let me do the paste of the sys.path [19:28] briancurtin, http://pastebin.ubuntu.com/935913/ [19:30] briancurtin, so, the devtools egg is in sys.path, but run-tests.bat seems to be using the u1trial script from c:\python27 [19:31] alecu: i get the same error doing "from ubuntuone.devtools.testcases.txtcpserver import PbServerTestCase", but SSO's run-tests.bat works fine for me and it picks up the devsetup\bin\python fine. hmm [19:32] briancurtin, looks like u1trial.bat was broken by adding the openssl comment. [19:33] briancurtin, (the u1trial.bat in trunk, probably) [19:36] briancurtin, one problem is here: https://code.launchpad.net/~dobey/ubuntuone-dev-tools/openssl-except/+merge/100212 [19:36] briancurtin, starting in line 286 [19:36] alecu: can you tell where it's finding u1trial? i've only ever had an environment setup through this buildout, so i havent (yet) had to deal with it going over the top of existing setups. [19:36] briancurtin, double semicolons were used for the comment instead of double colons. [19:37] * alecu blames dobey's high-resolution displays and very small fonts. [19:37] and some reviewers too :-) [19:37] alecu: the run-tests.bat uses u1trial, not u1trial.bat, though [19:38] what? [19:38] briancurtin, it's on u1trial.bat, sorry. [19:38] oh bugger [19:38] * dobey blames the reviewer :) [19:39] dobey, we should blame jenkins, since he was supposed to run the tests on windows ;-) [19:39] also, e-lisp uses ;; [19:39] whee [19:39] anyway, trivial fix [19:39] briancurtin, so, that's only part of the problem, since that happens when I try to manually run u1trial.bat [19:40] dobey, btw: the same happened on u1lint.bat. [19:40] of course [19:43] is there a bug filed yet? [19:44] dobey, no, just found it. Want me to create one? [19:44] please [19:44] i already have a branch to fix, but might as well document it properly :) [19:46] I am back [19:47] briancurtin, so, it looks like run-tests.bat in sso clears the PYTHONPATH. Can that be the issue? [19:47] * alecu is in awe at briancurtis .bat wizardry [19:47] alecu: it sets the PYTHONPATH to dot, which is correct for SSO [19:48] briancurtin, right. But in that case, where does u1trial get its PYTHONPATH from? [19:49] * alecu didn't know that such things as "FOR %%A in (python.exe) do (SET PYTHONEXEPATH=%%~$PATH:A" were possible. :P [19:50] it looks like autotools to me. [19:50] alecu: it would use the same one, the dot, since it's a subprocess in the same environment, but that's never been an issue since i started using this in january [19:50] briancurtin, perhaps you have a u1trial installed in c:\python27 ? [19:50] briancurtin, I only have the one that buildout installed. [19:52] alecu: my C:\Python27 is all u1* and ubuntu* free. this is pretty weird... [19:58] oh, I see. run-tests is running "python u1trial", not the "u1trial.bat" that's broken. [19:58] * alecu starts looking for some other clues [20:05] alecu: did you file the bug? [20:07] dobey, bug 985188 [20:07] Launchpad bug 985188 in ubuntuone-dev-tools "double semicolons break u1trial.bat" [Undecided,New] https://launchpad.net/bugs/985188 [20:15] ok, I'm taking a break. [20:15] https://code.launchpad.net/~dobey/ubuntuone-dev-tools/fix-bat-comments/+merge/102582 [20:15] alecu: i'm almost out of suggestions. i'll try to set this up in another way and see if i can catch it [20:16] <[x]thisfred> http://www.npr.org/blogs/thetwo-way/2012/04/17/150832594/drinking-on-the-job-is-2012-the-new-1966 [20:16] <[x]thisfred> I'm just putting it out there [20:17] i wish my liquor was free [20:17] <[x]thisfred> dobey: You did not negotiate that? [20:18] <[x]thisfred> Screw healthcare... [20:18] seriously. waste of money. just give me beer instead [20:19] 401(k) match? nah, here's a kegerator [20:19] <[x]thisfred> Whatever ails me, it'll [20:19] <[x]thisfred> numb [20:20] <[x]thisfred> Dandelion wine all round! [20:20] no ails, but plenty of ales. [20:22] double semicolons? wha? [20:22] so apparently when you delete all your friends on facebook, it thinks you're "new" and shows you the "Welcome, find some friends" bit [20:22] ralsina: that's the trouble with coding sober, yeah [20:23] dobey: why have an account without friends? Need free online storage for photos? [20:23] ralsina: because i'm in the process of deleting my account. but i'm smart enough to delete all the photos/friends/likes/etc/etc first [20:24] dobey: ack [20:24] which is really annoying if you don't delete your friends first [20:24] dobey: +1 [20:24] because then you show up on your friends' lists with no picture, and with no way to remove you [20:24] on the branch, not on "deleting" friends [20:25] ralsina: i was just informed that i need to take my GF to the doctor for a 10:30 appt tomorrow, so i will have to miss the team call which sucks [20:25] <[x]thisfred> No disassemble, no disassemble! [20:25] * dobey clicks the [x] next to thisfred [20:25] end-use of day for me. PT and then I'll be back on later. [20:25] briancurtin: are you coming back not too late? We can reschedule [20:26] oh, right [20:26] buggery [20:26] * ralsina hears thisfred sing "Daisy Bell" [20:27] * ralsina was perhaps TOO obscure [20:27] ralsina: would it work to make it earlier? i would plan to leave at 10 my time, which is when the meeting usually starts. could we move it 30 or 45 minutes earlier? [20:27] briancurtin: depends on dobey and thisfred [20:27] ralsina: her doctors are always flaky...sometimes we're in and out of there, sometimes we wait an extra half hour, so i'd hate to have everyone wait and then we miss mandel and everyone throws tomatoes at me [20:27] dobey, [x]thisfred is moving the meeting 30 minutes early ok? [20:28] sure [20:28] <[x]thisfred> ralsina: fine [20:28] ok, 30 early it is [20:28] cool, thanks all [20:33] i guess you should ask urbanape as well === [x]thisfred is now known as thisfred [20:38] mac... IT'S ON!! jeje.... something tells me this is going to be a long debugging as in "the first unicode issues" :P [20:44] zyga: so i am happy to approve your u1sync branch to fix the setup.py, but i don't think we should release a tarball of u1sync, particularly not to pypi [20:44] err [20:45] dobey: please remove all names and means of contact before releasing ;-) [20:46] "that u1sync tarball? No idea how it got there, man!" [20:46] * dobey disavows all knowledge of u1sync [20:48] That's not my tarball! (officer extracts copy of "that's my tarball, by Rodney Dawes") [20:50] self-exploding tarballs ftw. [20:55] * gatox_mac confirms that the loading overlay is working correctly and only some u1client process is getting stuck (http://ubuntuone.com/761kdyFRwPX10wkSmhhjZQ ) :D keeps debugging [21:41] have a good evening all! === salgado is now known as salgado-afk [22:16] EOD here....... see you tomorrow people! [22:46] bye all!