/srv/irclogs.ubuntu.com/2012/04/18/#ubuntuone.txt

mandelmorning all!08:19
JamesTaitMorning all! :)08:22
ryemornings!08:24
alecuhola all!12:16
alecumandel, so: I owe you a review...12:16
mandelalecu, not anymore, nessita just did it :)12:16
mandelalecu, but, fancy to chat about the tcpactivation changes I want to make for mac?12:16
mandelalecu, 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.endpoints12:17
mandelalecu, 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 Mac12:19
mandelor something like that12:19
alecumandel, sounds interesting12:19
alecumandel, on the other hand: what's broken with tcp? why unix domain sockets instead of tcp?12:20
alecumandel, is there some limitations on mac regarding that?12:20
mandelalecu, 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
mandelalecu, also less code, and the less we code the better :)12:21
alecumandel, right: we need to store the port number somewhere.12:21
mandelalecu, but with domain sockets is a file in the users cache dir from xdg12:22
alecumandel, I'm thinking that we should be using unix domain sockets in osx for something related:12:23
alecumandel, getting the events from the daemon that runs as root, to the syncdaemon of each user.12:24
alecumandel, but I was thinking of using a path like: /tmp/UbuntuOne/[username]/events12:25
alecumandel, or [userid] instead of the name.12:25
mandelalecu, yes, since it should be discarded, and better user id :)12:25
alecumandel, and making sure that folder be 060012:26
alecumandel, so only each user can see the events that belong to them.12:26
ralsinagood morning!12:26
alecuhola ralsina12:26
mandelalecu, which simplifies the way in which we have to parse them, certainly less work12:26
alecumandel, also for security reasons12:26
alecumandel, so, perhaps we can use that folder to store all unix domain sockets (UDSs?)12:27
alecumandel, what do you think?12:27
mandelalecu, sure, I have no preference in terms of the path, sounds good to keep them al in the sample place12:28
mandelalecu, 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
alecumandel, sure, let's.12:28
mandelalecu, great, if it is ok I might be able to get use to have the tcpactivation ready today :)12:29
alecumandel, awesome.12:29
mandelalecu, I also found out about the SystemConfigurationFramework, which will let use know about network connection, but we have to use ctypes.. :(12:30
mandelralsina, 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
alecumandel, btw: I know that UDSs have some issues regarding the server process dying and leaving the socket in the fs12:30
alecumandel, http://blog.henning.makholm.net/2008/06/unix-domain-socket-woes.html12:30
ralsinamandel: ack12:30
alecumandel, we should make some scripts to run some IRL tests of this12:30
alecumandel, to make sure that it will not affect us.12:30
ralsinadomain sockets also have different semantics accross OSs12:31
ralsinafor example, on windows you can open a domain socket noone is listening to (really)12:31
ralsinaOr something like that, I stumbled into it when doing the "unique application" work12:31
mandelalecu, yes, we should maybe do stress tests and add them somewhere12:31
alecuralsina, I think you can do that too on unix. It's with pipes that you can't12:31
ralsinaalecu: but then if connect always succeeds, there is no way to do activation (or missing something?)12:32
mandelalecu, ralsina, we should take a look, I'm nearly done with the code so that we can test it today :)12:32
ralsinamandel: awesome12:32
alecumandel, ^ that is what I was talking about regarding that article.12:33
alecumandel, what ralsina just asked.12:33
alecumandel, we need to be sure that we'll be able to use UDSs to do the activation.12:33
ralsinaalecu: we could use pipes12:33
ralsinanamed pipes12:33
mandelalecu, 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 server12:33
ralsinamandel: hopefully you can see the problem there ;-)12:34
alecuralsina, 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
ralsinaalecu: ack12:34
ralsinaalecu: named pipes can be interacted with natively from Qt too, avoiding a need for a reactor12:35
ralsinaon u1cp/sso on windows, at least12:35
mandelralsina, 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
mandelanyway, lunch and we can look deeper into that before we move on12:35
alecuralsina, right. It's SD were we need to be extra careful.12:35
ralsinaalecu: exactly12:36
* ralsina is happy to see everyone bubbling with ideas to fix stuff12:36
alecumandel, "we could just query the presence of the path" but the file will still be present on the filesystem12:36
alecumandel, even though the server died.12:36
mandelalecu, no, twisted cleans it12:36
alecumandel, that's why I want you to read that article :-)12:36
alecuhttp://blog.henning.makholm.net/2008/06/unix-domain-socket-woes.html12:37
alecumandel, died as in died.12:37
mandelalecu, ok, yes, that happens.. which is a PITA12:37
mandelalecu, let me have lunch, read the article and rethink :)12:37
thisfredit's just pining for the fjords12:37
alecumandel, sure :-)12:37
ralsinaAlso: predictable unix socket /named pipe names are frowned upon12:38
ralsinaSpecially on /tmp12:39
ralsinaA second user could hijack the path, and get a copy of all your U1 files that way12:39
ralsinamandel, alecu: ^12:39
mandelralsina, 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 it12:40
mandelanyways, lunch :012:40
alecuralsina, the "root daemon" that's started before it all would create the user folders in /tmp, and set the permissions of each folder.12:40
ralsinaalecu: doing insecure things and veryfying we are doing them securely is often a promise of pain for the future12:41
ralsinaalecu: but hey, it *is* doable :-)12:41
ralsinaI call that concept "asspain debt"12:42
ralsinaIt's like technical debt, only painful, and in the ass12:42
alecuralsina, so, the other option is having the "root daemon" creating the sockets in each users' ~/.cache/ubuntuone/12:43
alecuralsina, but that sounds awful too12:43
ralsinaalecu: well, it has no security issues at least12:44
ralsina~/.local/ubuntuone ? Maybe xdg has a corner for this kind of thing12:45
alecuralsina, that's too bold of a statement: "it has no security issues"12:45
alecu:-)12:45
ralsinaalecu: always remember to add "that I can see" to everything I type12:45
ralsinaOh, a $2 bill! (that I can see) and so on (that I can see)12:45
dobeywhat's up?12:51
alecuralsina, 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
alecuhola dobey!12:51
dobeyhola alecu12:52
ralsinaalecu: esd is ancient code. Orbit I don't know, virtualbox, I am shocked ;-)12:52
dobeywhy are we discussing a "root daemon" creating sockets in the user's home?12:52
alecuralsina, oth: both ssh and pulse are using random names.12:52
ralsinalet's ask for a third opinion: dobey: what do you think about creating unix sockets or named pipes with predictible names in /tmp?12:52
ralsinaalecu: in any case, this is not for linux, right?12:53
alecuralsina, re: vbox: it's on linux.12:53
ralsinaalecu: I mean, we are not doing this on linux. On linux we have dbus12:53
alecuralsina, and yes: dobey the root daemon is for osx.12:54
alecuralsina, right.12:54
dobeyalecu: by root you mean uid 0?12:54
alecudobey, right12:55
dobeywhy do we need to run something as root on osx?12:55
alecudobey, afaik, that's the only way to fetch *all* filesystem notification events from /dev/fsevents12:55
dobeydo we need that? surely every mac application isn't also running some process as root to watch for file changes12:57
alecudobey, 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
dobeyalecu: hrmm12:57
alecudobey, http://arstechnica.com/apple/reviews/2007/10/mac-os-x-10-5.ars/712:57
dobeyi'll read that and get back12:58
dobeymaybe urbanape has some better idea than i would though12:58
ralsinaalecu: we could just do dir-level events and mtime. There is a minimal chance of missing something, of course13:00
urbanapeyup13:02
urbanapeand all the extra effort of polling the directories13:02
urbanapedepending on size13:02
ralsinaurbanape: well, polling just mtimes is not that heavy13:02
ralsinajust a bunch of stats13:02
ralsinaat least is not a local hash13:02
alecuralsina, right: but on syncdaemon we would need to do it in a different thread.13:02
ralsinaalecu: right, we would have to have a "wtcher daemon" really13:03
alecuralsina, and in my mind is much more work than a small daemon that feeds the kind of events we want.13:03
ralsinaalecu: that daemon does the real watching and sends the events to syncdaemon13:03
alecuralsina, I mean, reading them from /dev/fseventsd.13:03
ralsinaalecu: reading *everything* from fseventsd is heavy work. That would have to be really optimized.13:04
dobeyralsina: disk i/o can be extremely taxing though. but i suspect xnu is better at that than linux is13:04
alecuralsina, yup: sd could start that daemon that reads from FSEvents if the root daemon is not running.13:04
ralsinaalecu: right, provide the same API from both daemons13:04
ralsinaso we can start with a FSEvents one or the other and end with both13:04
dobeyhow are we doing IPC on osx exactly?13:12
ralsinadobey: currently, a weird twisted protocol over TCP on localhost13:12
dobeywell it seems that poking /dev/fsevents is a very bad idea13:14
urbanapenot poking, polling.13:16
urbanapereading /dev/fsevents13:16
dobeyright13:16
dobeyblocking, even :)13:16
urbanapeIt's probably worth trying FSEvents and checking for directory contents first, and see whether the performance is acceptable.13:17
urbanapehence the initial talk about using watchdog, as it abstracts over darwin/windows/linux, at least as a first attempt13:17
dobeywhat's the oldest version of osx we're going to support?13:17
ralsinaurbanape: agreed13:18
ralsinaAnd then, if it's not, we *add* a root-level daemon13:18
urbanapedobey: I'd say 10.6, but I think it'd be easier to just start with Lion13:19
ralsinaurbanape: besides abstraction, is watchdog any easier than FSEvents directly?13:19
dobeyhrmm13:19
dobeydo you *have* to be root to read from /dev/fsevents?13:20
urbanapeyes13:20
urbanape(re root)13:20
dobeyboo13:20
urbanaperalsina: probably not. There are a few other libraries that wrap FSEvents for python13:20
urbanapebut that one struck a chord, since it aims to be cross platform as well.13:20
ralsinaurbanape: yes, but we have working solutions on the other platforms13:21
ralsinaurbanape: 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 future13:21
ralsinaurbanape: or at least not harder and/or slower13:21
dobeyooh; has hfs+ been replaced by zfs yet?13:22
gatoxyes! the power is back! :D13:22
urbanapedobey: no13:22
dobeysad panda13:23
gatoxurbanape, 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:25
urbanapeThey get installed inside the dev setup. I changed the entry in my buildout.cfg to point to a file:/// tarball of mandel's branch13:27
dobeywhich is in trunk now so you don't need that any more13:28
gatoxurbanape, mm not sure if i follow.... do you have anything i can read about this or some branch?13:28
gatoxso..... i should install dev-tools directly?13:28
gatoxwith setup.py13:29
urbanapeI'll add to the doc. Just a moment.13:29
dobeysounds like the buildout should install it13:29
gatoxurbanape, thanks!!13:31
urbanapethe buildout should install it13:31
urbanapeand there's an entry by default in the buildout.cfg13:31
urbanapebut we need mandel's branch (until it lands)13:31
gatoxurbanape, ok.... thanks, i'm going to try that13:32
gatoxurbanape, can you share with me your buildout.cfg?13:37
urbanapesure thing13:37
urbanapegatox: https://pastebin.canonical.com/64476/13:38
gatoxurbanape, thanks13:39
urbanapeyou can see that for ubuntuone-dev-tools, I just list a local file:/// URI pointing at a tarball of the bzr checkout13:39
urbanapethe version in the filename is wrong, but that doesn't matter13:39
gatoxyes13:40
urbanapethe egg gets the proper version so is good13:40
dobeyhuh13:41
dobeyurbanape: any reason to not include it and dirspec under [sources] instead?13:42
urbanapeprobably not. This is inherited/edited.13:42
dobeywe should probably put them under sources to just pull straight from trunk13:43
dobeylike the other things13:43
* mandel back13:53
mandelurbanape, should land in a few mins,13:53
urbanapeyour ubuntuone-dev-tools branch?13:59
ralsinagatox is now without internet.14:12
ralsinaI will suggest he invest in smoke signal futures, which seem to be a bright prospect in Córdoba14:12
gatox_ok, trying with 3g now.... until fibertel gets back :@14:16
mandelralsina, urbanape, alecu, so using unix domain sockets does give the problem regarding the activation since if the process crashes the fd is there14:25
* alecu floods gatox_ ip14:26
gatox_alecu, eh? why?14:26
alecumandel, 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
gatox_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 message14:27
alecugatox_, "flood" just because you are on 3g, and I'm evil14:27
gatox_alecu, ahhhhhhh jejejejeje14:27
mandelalecu, I'll take a look if that is possible14:28
briancurtinmandel: if you have some time to look at the buildout changes, here are the proposals: https://pastebin.canonical.com/64482/14:28
mandelbriancurtin, sure I do!14:28
mandelalecu, did you tell gatox_ about his new assignment?14:28
* gatox_ don't trust mandel 14:28
gatoxinternet is back again14:33
* gatox don't trust mandel14:33
gatoxmandel, a really new assignment or you just are going to think about something awful?14:34
mandelgatox, you got move to write the wx ui, we think qt is not ready..14:34
mandelgatox, that or curses14:34
gatoxjejejej14:34
ralsinaalecu: if you could please do a 2nd review of https://code.launchpad.net/~brian.curtin/ubuntuone-windows-installer/buildout-env/+merge/10238614:44
mandelalecu, maybe this could be a way to find out: http://pubs.opengroup.org/onlinepubs/009695399/functions/getsockopt.html14:45
elopioralsina: ping ralsina. Bug #98496414:51
ubot5Launchpad bug 984964 in Ubuntu One Control Panel "SSO is not started with the -testability argument" [Undecided,Triaged] https://launchpad.net/bugs/98496414:51
elopioralsina: could you give that bug a high importance so it's fixed soon?14:52
alecumandel, getsockopt is to get the uid in linux, right? so, it could give us "a way to find out" what?14:53
alecumandel, we would not find out if it was started, right?14:53
mandelalecu, hm.. I think I'm going to avoid domain sockets just due to possible crashes..14:54
alecumandel, no: I think we should use them.14:54
alecumandel, but we need to be certain which way to avoid those crashes.14:55
mandelalecu, I'll keep trying to find out14:57
alecumandel, the thing is, I don't think there's a better option than UDSs. They are fairly well supported in twisted afaict.14:58
alecumandel, other than those I considered using Named Pipes, but the twisted support is not that great.14:59
mandelalecu, using domain sockets on twisted is very easy, I already have an example working (small tiny one)15:00
alecumandel, and we can always use tcp if the other stuff does not work.15:00
alecumandel, so, since it's easy, we should use them, and  find a convincing "activation" story.15:00
briancurtinme15:03
gatoxme15:03
ralsiname but on the phone :-/15:04
ralsinaelopio: I can raise it, yes, but it's not trivial to fix15:04
gatoxmandel, alecu dobey urbanape thisfred standup?15:05
alecume15:05
mandelme15:05
thisfredme15:05
urbanapeme15:05
dobeymeh15:05
gatoxDONE:15:05
gatoxFix 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
gatoxTODO:15:05
gatoxFinish with the buildout and start working on mac tests.15:05
gatoxBLOCKED:15:05
gatoxNot yet (if i can get the buildout to work :P)15:05
gatoxralsina, go15:06
ralsinano notes yet, I'll go last15:06
briancurtinDONE: got buildout into shape, pinned the versions down, updated a few other proposals15:06
briancurtinTODO: get back to the installer automation now that buildout is complete, hopefully get this going on jenkins soon15:06
briancurtinBLOCKED: none15:06
briancurtinNEXT: alecu15:06
alecuDONE: debugging in some private bugs15:06
alecuTODO: review day, more bufixing15:06
alecuBLOCKED: no15:06
alecuNEXT: mandel15:06
mandelDONE: 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
mandelTODO: Look at jenkins status. Talk with urbanape about mac work. Continue with domain sockets.15:07
mandelBLOCKED: no15:07
mandelthisfred, go15:07
thisfredDONE: started on u1db demo app TODO: land first demo app branch BLOCKED: no NEXT: urbanape15:07
urbanapeDONE: updated buildout with mandel's branches, got feedback on my branch. TODO: Update my branch with more shared modules. BLOCK: None NEXT: dobey15:07
dobeyλ DONE: protocol 2.0.1 release and mostly upload, some backport fixes15:07
dobeyλ TODO: more backport fixes, SRUs, u1db packaging/buildsys15:07
dobeyλ BLCK: none.15:07
dobeyralsina15:07
gatoxalecu, if you are in your review day..... can you review this?? :D https://code.launchpad.net/~diegosarmentero/ubuntuone-client/syncdaemon-q/+merge/10098415:08
gatoxplease15:08
dobeyis nessita half day today for uni?15:08
alecugatox: I will do it after I finish this other review.15:09
alecudobey, that's usually on tuesdays, I think.15:09
gatoxalecu, ok, thanks15:09
dobeyah15:09
mandelalecu, urbanape do you have the macs around?15:09
dobeyshe's just not on this channel i guess15:09
urbanapeI'm on a mac right now.15:09
alecumandel, I have one, yes.15:09
alecumandel, and gatox too.15:09
mandelalecu, urbanape, could you look at paste.ubuntu.com/93556115:09
mandelgatox, ^15:09
=== gatox_ is now known as gatox_mac
mandelalecu, 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
mandelalecu, gatox, urbanape, if you run the server, you will notices that echoer and echoer.lock are created, if the server stop correctly, those are removed15:10
alecumandel, the paste looks right.15:11
mandelalecu, 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 fails15:11
ralsinagrmbl, ok, sorry I ended skipping standup15:12
alecumandel, where is "echoer.lock" ?15:12
mandelalecu, same path as the one givem to the domain socekt15:13
mandelsocket15:13
alecumandel, and what happens with that lock? When is it removed?15:13
alecumandel, btw: those examples should work under linux too.15:14
mandelalecu, if the termination is normal, it is remove, else it is left there15:14
mandelalecu, but is not a normal file, or at least os.path.exists(echoer.lock) returns false even when I ls and is there15:15
alecumandel, add this two lines to the client:15:20
alecur.addErrback(util.println)15:20
alecur.addCallback(lambda _: reactor.stop())15:20
alecumandel, on linux it's a symbolic link.15:20
alecumandel, 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:22
alecumandel, sorry, the second line I pasted should be "addErrback" too.15:23
mandelalecu, I noticed, otherwise nothing is printed :)15:23
mandelalecu, killing with -9 an trying to connect will raise a ConnectionRefusedError15:24
alecumandel, so, this little bit of IRL shows that all of this should work for activation. At least on linux, as I tested.15:26
alecumandel, are you testing this on osx?15:26
gatoxmandel, 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 anything15:26
mandelalecu, can you pass me in a pastebin what you did and the results to compare it?15:26
mandelalecu, I'm testing on mac os x15:26
mandelgatox, I used the fill path of the bins15:27
gatoxmandel, ack15:27
dobeymandel: https://bugs.launchpad.net/ubuntuone-dev-tools/+bug/985004 for the squid startup errors issue15:29
ubot5Ubuntu bug 985004 in ubuntuone-dev-tools trunk "Squid service startup hides errors" [High,Triaged]15:29
mandeldobey, thx!15:29
urbanapeHmm… 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:31
alecumandel, something like that?15:33
alecuhttp://pastebin.ubuntu.com/935591/15:33
mandelalecu, perfect, let me fix jenkins and will test it, but with what I have done so far, it looks like it works the same way15:35
alecumandel, awesome then.15:36
alecumandel, it would be very feasible to adapt the tcpactivation code to use this in this case.15:36
mandelalecu, I'm done some work already with that :)15:37
mandelalecu, I'm push it for you to complain about it, let me get windows out of my way :)15:38
ralsinamandel, briancurtin: one additional thing to think about in jenkins is that windows builds seem to get stuck for days15:38
ralsinamandel: which obviously means no builds get done, which means no error messages15:38
briancurtinralsina: do we have any indication of why?15:39
mandelralsina, what do you mean?15:39
ralsinamandel,briancurtin: https://jenkins.errormessaging.com/job/ubuntu-sso-client-windows-test/42/15:39
briancurtinone 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
gatoxmandel, did you modified the run-tests?15:39
ralsinawe should find a way to give them a maximum run time15:39
briancurtinthat'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 finish15:40
mandelralsina, sure, although there it was me because I had to update the ubuntuone-dev-tools of the machine that runs the tests15:40
mandelgatox, no, why?15:40
mandelgatox, I did it manually, we need to add a run-tests that works on mac os x15:40
ralsinamandel: I know it's not supposed to happen, but if we ever get that behaviour again, then we will not even notice15:40
gatoxmandel, ahhhhhhh okok15:40
mandelralsina, ok, we can think of something15:41
briancurtinwe could use the faulthandler library and place timers on tests, then if a test takes too long, dump the traceback and move along15:41
dobeyalright, need to get lunch. bbiab15:42
ralsinabriancurtin: sounds good, if a bit invasive15:42
briancurtinralsina: 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 works15:43
alecubriancurtin, trial has a timeout for tests. It's set to 120seconds by default, but we manually set it lower on most testcases.15:44
mandelralsina, is jenkins down for you?15:44
alecubriancurtin, oh, you mean globally.15:44
codemaniachello is there any way i can sftp upload files to U1 ?15:46
briancurtinalecu: maybe? I'm not actually sure what timing options we actually have. i didn't know about the already existing trial 120sec limit15:46
ralsinamandel: yes, looks down15:48
ralsinamandel: but strangely, something is there since I get the certificate complaint15:48
mandelbriancurtin, 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
mandelralsina, yep, jenkins is being updated15:48
ralsinamandel: ack15:49
elopioralsina: yes, I thought so. I didn't find a place to hardcode the testability arg.15:49
ralsinaelopio: I will find a way, don't fear15:49
elopioralsina: if you want to run the tests -> http://pad.ubuntu.com/u1-testability15:50
ralsinaelopio: but the easiet way is to just grep for QApplication :-)15:50
elopiofor now, you'll have to fill the SSO by hand.15:50
briancurtinmandel: 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 stuff15:50
elopiormcbride, joshuahoover: http://pad.ubuntu.com/u1-testability15:50
elopioit might still be a little unstable15:51
mandelbriancurtin, let me find that for you15:51
ralsinaelopio: awesome15:51
rmcbridewoo hoo!15:51
joshuahooverelopio: very nice...i'll have to give it a try later today15:52
mandelbriancurtin, is TRIAL_TEMP_DIR15:53
briancurtinmandel: where does this come from?15:54
mandelbriancurtin, 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 present15:57
briancurtinmandel: so perhaps I should try to use TRIAL_TEMP_DIR (the jenkins case) and fall back to "_trial_temp" (the local case)?15:58
mandelbriancurtin, 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 do15:59
mandelalecu, I get the same results on mac os x for: http://pastebin.ubuntu.com/935591/16:00
alecumandel, great16:00
=== zyga is now known as zyga-food
mandelalecu, I'll do the jenkins work, then I'll get to the sockets stuff16:04
mandelurbanape, if you pull from lp:~mandel/ubuntu-sso-client/initial-darwin-port you will get your branch merge with trunks and not merge conflicts16:05
urbanapeexcelletn16:05
mandelurbanape, I'm using it to do some changes about the tcpactivation to use domain sockets16:05
* gatox lunch16:10
=== gatox is now known as gatox_lunch
* elopio throws the programmer gown and goes to fetch the tester robe.16:11
mandelbriancurtin, ralsina 18 mins to run the tests on the ec2 for windows.. oh my!16:22
ralsinamandel: well, it's ec216:22
ralsinamandel: maybe we can get a bigger instance16:22
briancurtinit's better than never16:22
* ralsina checks... no, we don't merge a branch every 18 minutes16:23
facundobatistaralsina, alecu, u1sdtool -q in precise stops  *and starts* the client :|16:27
ralsinafacundobatista: nightlies?16:27
ralsinafacundobatista: if not, known bug, fixed in latest release16:28
facundobatistaralsina, ok, thanks16:28
ralsinafacundobatista: fix should also be there in 3.0.016:29
facundobatistaralsina, I have 3.0.0 (clean Precise)16:29
ralsinafacundobatista: ugh16:29
mandelurbanape, 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 point16:30
facundobatistaralsina, you want me to debug anything?16:30
ralsinafacundobatista: trying to replicate, eill ping you in a bit16:30
urbanapecool, I'll get on that as well.16:30
mandelurbanape, 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:31
mandelalecu, 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 one16:32
mandelplease take a look, but is work in progress :)16:32
alecuralsina, isn't that (-q) what gatox latest branch fixes?16:32
ralsinaalecu: was that branch not merged before 3.0.0 release?16:33
mandelok, EOD for me, I need to cafe cafein and walk the dog, laters!16:33
gatox_lunchmandel, bye16:34
alecuralsina, perhaps we are not talking about the same branch: https://code.launchpad.net/~diegosarmentero/ubuntuone-client/syncdaemon-q/+merge/10098416:34
ralsinaalecu: right, I was thinking about the fix for "-q start sd if it's not running"16:35
ralsinawhich is this one16:35
ralsinathought that was done16:35
ralsinafacundobatista: with nightlies, -q when sd is not running does nothing, when it's running closes it16:36
ralsinafacundobatista: I don't get extra starts16:36
facundobatistaralsina, I don't have nightlies,16:38
facundobatistaralsina, I have 3.0.0 (clean Precise)16:38
ralsinafacundobatista: yes, but I do, now will try 3.0.016:38
ralsinafacundobatista: untangling versions to get back to 3.0.0, should be able to try it in a minute16:42
=== gatox_lunch is now known as gatox
=== salgado is now known as salgado-lunch
ralsinadobey: maybe you can help me, I am having trouble dowgrading to 3.0.0: https://pastebin.canonical.com/64508/17:19
ralsinaOh, ok, got it done by specifying the version of everything17:20
dobeyit's easier if you disable the nightlies ppa and apt-get update first17:21
dobeyand then remove the packages and reinstall17:21
dobeyralsina: you're wondering if the -q fix is in 3.0.0?17:22
ralsinafacundobatista: can't reproduce with 3.0.017:23
ralsinafacundobatista: https://pastebin.canonical.com/64509/17:23
ralsinadobey: yes I was17:23
dobeyit is not17:23
ralsinadobey: yes, found out later :-)17:23
facundobatistaralsina, can not reproduce it any longer, :(17:26
facundobatistaralsina, but it was happening, I was seeing the log in one terminal and I was doing -q in the other17:26
facundobatistahad to kill it to make it stop17:26
facundobatistanow it works, though17:26
=== zyga-food is now known as zyga-afk
gatox_macurbanape, 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:40
urbanapehmm. Are you running the tests like I added in the doc?17:42
gatox_macurbanape, yes, but replacing the base path with mine….17:43
codemaniachello17:43
gatox_macif i open python like this:17:43
urbanaperight. Hmm...17:43
dobeygatox_mac: have you compared sys.path in the two cases?17:43
dobeygatox_mac: can you just "import PyQt4" with the "broken" PYTHONPATH?17:43
gatox_macurbanape, 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/python17:43
gatox_macthe import fails17:43
gatox_macdobey, no…. with that python path it fails17:44
dobeygatox_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:45
pmatulishello.  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
gatox_macdobey, ['/usr/local/lib/python2.7/site-packages/PyQt4']17:46
gatox_macmmmm i could try adding the site-packages of the system too17:47
gatox_macyes, that works17:48
urbanapehmm.17:48
gatox_macurbanape, where do you have pyqt?17:49
* urbanape checks to see if even more stuff is custom on his setup.17:49
gatox_macurbanape, i install pyqt using brew…. some days after following the doc… but the procedure was the same17:49
gatox_macinstalled17:49
gatox_macsome days before…. sorry17:49
urbanapeif I just run bin/python from within the devsetup directory, I can import PyQt4 just fine.17:50
urbanapeand that's installed via homebrew17:50
* gatox_mac checking...17:50
urbanapeexists absolutely in /usr/local/Cellar/pyqt/4.9.1/lib/python2.7/site-packages/17:51
gatox_macurbanape, yes… me too… the problem is when i change the pythonpath17:51
dobeygatox_mac: is /usr/local/lib not in python's sys.path by default there?17:51
dobeyalthough if not, wouldn't explain how it would ever have worked for you17:51
dobeyand python killing sys.path with PYTHONPATH set doesn't make sense either17:51
* briancurtin lunch17:51
gatox_macmmm 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
ralsinagatox_mac: you have two pythons17:54
ralsinagatox_mac: maybe?17:54
dobeysounds like someone installed native python before homebrew python17:56
gatox_macralsina, 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
ralsinadobey, gatox_mac: there is always a system python on mac, IIRC17:56
gatox_macralsina, yes17:56
ralsinagatox_mac: and is that the one you are using?17:57
gatox_macralsina, yes17:57
dobeyoh. well that too then17:57
dobeyi haven't booted a mac in a very very long time17:57
ralsinagatox_mac: and that the only python? What's which python say?17:57
gatox_macralsina, version?? 2.7.117:58
ralsinagatox_mac: no, "which python", the path17:58
gatox_macalready fix that problem though…..17:58
urbanapeaha.17:58
ralsinagatox_mac: ok, nevermind then17:58
urbanapeI have homebrew python installed, too.17:58
urbanapewhich makes sense. That's in the doc17:59
urbanapeis /usr/local/bin in your PATH before /usr/bin?17:59
gatox_macmaybe the problem is that i install pyqt before installing python brew...17:59
urbanapeI don't think it is by default in Mac OS X17:59
urbanapethat could be as well17:59
dobeyyay, 2 SRU packages down. 347 to go18:01
dobeyhrmm, i need a vm really18:04
dobeydoing old branch releases on precise isn't the best thing in the world, since 99% of the tests will fail/notwork18:04
dobeyshould i try to get a vm working here, or try to use canonistack though18:05
dobeyor just cheat and use the tarmac instance18:06
gatox_macurbanape, are we using dubs on mac?? sorry if i'm annoying :P i want to know18:08
gatox_macdbus18:08
urbanapenope. Originally went that way, but opted to let it go.18:08
gatox_macurbanape, thanks…. i think that i almost have everything working :D18:10
=== salgado-lunch is now known as salgado
thisfredralsina, 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/10257118:25
ralsinathisfred: cool :-)18:26
alecuthisfred, awsome!18:26
thisfredthis is supposed to become super clear for people with no u1db knowledge,18:26
thisfredso anything that's unclear is a bug18:26
ralsinathisfred: it's written in some sort of computer-language, it seems18:27
ralsinathisfred: write it in HUMAN18:27
thisfredralsina, does google translate do HUMAN?18:31
urbanapeI thought python was basically Dutch?18:32
ralsinathisfred: he18:32
dobeythisfred: it's all mixed metaphors and hearsay!18:34
thisfredurbanape: I'd like you to take a vacation in the Netherlands to test this assumption :)18:35
dobeyman it is hard to remove "friends" on facebook these days18:36
ralsina"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 list18:36
=== thisfred is now known as [x]thisfred
gatox_macurbanape, ok… i have the qt tests for sso running and all passing… i having some problems with test_ipc, not finding ubuntuone.devtools.testcases.tx18:49
gatox_macand i can't find it either :S18:50
alecubriancurtin, ping18:56
alecubriancurtin, I'm reviewing this branch:18:56
alecubriancurtin, https://code.launchpad.net/~brian.curtin/ubuntuone-windows-installer/buildout-env/+merge/10238618:56
alecubriancurtin, I started from a pristine win7 vm, installed python 2.7, pqt, pywin3218:56
alecubriancurtin, and generally followed the steps in the README.txt18:57
alecubriancurtin, and I'm now at the steps where I can run run-tests.bat18:57
alecubriancurtin, but I'm getting a message that says that u1trial is missing.18:57
alecubriancurtin, do you have any idea?18:58
briancurtinalecu: pong, just got back, looking now18:59
alecubriancurtin, http://pastebin.ubuntu.com/935875/18:59
briancurtinalecu: 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 MP19:01
alecubriancurtin, great then.19:01
alecubriancurtin, 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
alecubriancurtin, perhaps I'm missing something else?19:11
briancurtinalecu: 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 fine19:13
ralsinagotta go pick up the kid19:15
ralsinawill be back19:15
briancurtinalecu: 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
briancurtinalecu: also, have you run the "env.bat" script that's in the devsetup folder?19:16
alecubriancurtin, yes, I had run the env.bat script. Let me do the paste of the sys.path19:24
alecubriancurtin, http://pastebin.ubuntu.com/935913/19:28
alecubriancurtin, so, the devtools egg is in sys.path, but run-tests.bat seems to be using the u1trial script from c:\python2719:30
briancurtinalecu: 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. hmm19:31
alecubriancurtin, looks like u1trial.bat was broken by adding the openssl comment.19:32
alecubriancurtin, (the u1trial.bat in trunk, probably)19:33
alecubriancurtin, one problem is here: https://code.launchpad.net/~dobey/ubuntuone-dev-tools/openssl-except/+merge/10021219:36
alecubriancurtin, starting in line 28619:36
briancurtinalecu: 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
alecubriancurtin, double semicolons were used for the comment instead of double colons.19:36
* alecu blames dobey's high-resolution displays and very small fonts.19:37
alecuand some reviewers too :-)19:37
briancurtinalecu: the run-tests.bat uses u1trial, not u1trial.bat, though19:37
dobeywhat?19:38
alecubriancurtin, it's on u1trial.bat, sorry.19:38
dobeyoh bugger19:38
* dobey blames the reviewer :)19:38
alecudobey, we should blame jenkins, since he was supposed to run the tests on windows ;-)19:39
dobeyalso, e-lisp uses ;;19:39
dobeywhee19:39
dobeyanyway, trivial fix19:39
alecubriancurtin, so, that's only part of the problem, since that happens when I try to manually run u1trial.bat19:39
alecudobey, btw: the same happened on u1lint.bat.19:40
dobeyof course19:40
dobeyis there a bug filed yet?19:43
alecudobey, no, just found it. Want me to create one?19:44
dobeyplease19:44
dobeyi already have a branch to fix, but might as well document it properly :)19:44
ralsinaI am back19:46
alecubriancurtin, 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 wizardry19:47
briancurtinalecu: it sets the PYTHONPATH to dot, which is correct for SSO19:47
alecubriancurtin, right. But in that case, where does u1trial get its PYTHONPATH from?19:48
* alecu didn't know that such things as "FOR %%A in (python.exe) do (SET PYTHONEXEPATH=%%~$PATH:A" were possible. :P19:49
alecuit looks like autotools to me.19:50
briancurtinalecu: 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 january19:50
alecubriancurtin, perhaps you have a u1trial installed in c:\python27 ?19:50
alecubriancurtin, I only have the one that buildout installed.19:50
briancurtinalecu: my C:\Python27 is all u1* and ubuntu* free. this is pretty weird...19:52
alecuoh, I see. run-tests is running "python u1trial", not the "u1trial.bat" that's broken.19:58
* alecu starts looking for some other clues19:58
dobeyalecu: did you file the bug?20:05
alecudobey, bug 98518820:07
ubot5Launchpad bug 985188 in ubuntuone-dev-tools "double semicolons break u1trial.bat" [Undecided,New] https://launchpad.net/bugs/98518820:07
alecuok, I'm taking a break.20:15
dobeyhttps://code.launchpad.net/~dobey/ubuntuone-dev-tools/fix-bat-comments/+merge/10258220:15
briancurtinalecu: i'm almost out of suggestions. i'll try to set this up in another way and see if i can catch it20:15
[x]thisfredhttp://www.npr.org/blogs/thetwo-way/2012/04/17/150832594/drinking-on-the-job-is-2012-the-new-196620:16
[x]thisfredI'm just putting it out there20:16
dobeyi wish my liquor was free20:17
[x]thisfreddobey: You did not negotiate that?20:17
[x]thisfredScrew healthcare...20:18
dobeyseriously. waste of money. just give me beer instead20:18
briancurtin401(k) match? nah, here's a kegerator20:19
[x]thisfredWhatever ails me, it'll20:19
[x]thisfrednumb20:19
[x]thisfredDandelion wine all round!20:20
dobeyno ails, but plenty of ales.20:20
ralsinadouble semicolons? wha?20:22
dobeyso apparently when you delete all your friends on facebook, it thinks you're "new" and shows you the "Welcome, find some friends" bit20:22
dobeyralsina: that's the trouble with coding sober, yeah20:22
ralsinadobey: why have an account without friends? Need free online storage for photos?20:23
dobeyralsina: because i'm in the process of deleting my account. but i'm smart enough to delete all the photos/friends/likes/etc/etc first20:23
ralsinadobey: ack20:24
dobeywhich is really annoying if you don't delete your friends first20:24
ralsinadobey: +120:24
dobeybecause then you show up on your friends' lists with no picture, and with no way to remove you20:24
ralsinaon the branch, not on "deleting" friends20:24
briancurtinralsina: 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 sucks20:25
[x]thisfredNo disassemble, no disassemble!20:25
* dobey clicks the [x] next to thisfred20:25
urbanapeend-use of day for me. PT and then I'll be back on later.20:25
ralsinabriancurtin: are you coming back not too late? We can reschedule20:25
dobeyoh, right20:26
dobeybuggery20:26
* ralsina hears thisfred sing "Daisy Bell"20:26
* ralsina was perhaps TOO obscure20:27
briancurtinralsina: 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
ralsinabriancurtin: depends on dobey and thisfred20:27
briancurtinralsina: 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 me20:27
ralsinadobey, [x]thisfred is moving the meeting 30 minutes early ok?20:27
dobeysure20:28
[x]thisfredralsina: fine20:28
ralsinaok, 30 early it is20:28
briancurtincool, thanks all20:28
dobeyi guess you should ask urbanape as well20:33
=== [x]thisfred is now known as thisfred
gatoxmac... IT'S ON!! jeje.... something tells me this is going to be a long debugging as in "the first unicode issues" :P20:38
dobeyzyga: 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 pypi20:44
dobeyerr20:44
ralsinadobey: please remove all names and means of contact before releasing ;-)20:45
ralsina"that u1sync tarball? No idea how it got there, man!"20:46
* dobey disavows all knowledge of u1sync20:46
ralsinaThat's not my tarball! (officer extracts copy of "that's my tarball, by Rodney Dawes")20:48
dobeyself-exploding tarballs ftw.20:50
* gatox_mac confirms that the loading overlay is working correctly and only some u1client process is getting stuck (http://ubuntuone.com/761kdyFRwPX10wkSmhhjZQ ) :D keeps debugging20:55
dobeyhave a good evening all!21:41
=== salgado is now known as salgado-afk
gatoxEOD here....... see you tomorrow people!22:16
alecubye all!22:46

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