/srv/irclogs.ubuntu.com/2011/05/24/#ubuntuone.txt

=== rye` is now known as rye
mandelmorning all07:56
mandelralsina: ping07:56
ralsinamandel: pong08:27
mandelralsina: got time for a review?08:28
ralsinamandel: sure!08:28
ralsinanessita was having a problem with a slot being called twice?08:28
ralsinaon a button click?08:28
* ralsina is guessing08:28
mandelralsina: yes, the issue was with autoconnect, while that works ok in C++ in python is calling the signal without params and with a bool08:29
ralsinamandel: known problem, is in the FAQ and everything. It's even on my tutorial ;-)08:29
ralsinayou have to add a decorator to set the signature of the slot08:30
ralsinaor check the extra parameter and do nothing if it's None08:30
mandelralsina: yes, I told here to ignore the signal with no param08:30
mandelI did not know there is a decorator08:30
ralsinait's somewhat cleaner with the decorator08:30
mandelralsina: yes, it is08:31
ralsinaI really should spend some time in ART timezone today08:31
mandelralsina: why?08:33
ralsinato help with this kind of thing :-)08:34
mandelnow you know how it is to be the only one working ;)08:34
mandelralsina: can you take a look at :https://code.launchpad.net/~mandel/ubuntu-sso-client/fix_signals_emition/+merge/5989808:34
ralsinasure thing!08:34
mandelralsina: we have sd using named pipes :)08:36
ralsinamandel: neat!08:36
ralsinamandel: was it painful?08:36
mandelralsina: no, the code now is soooo much nicer08:36
ralsinacool08:36
mandelthere is no crazy COM code around and is a matter of installing the correct reactor, so the choice was good08:37
ralsinaI've checked and IOCP is quite nice to use!08:37
ralsinamandel: checked the code in fix_signals_emition and looks ok, does it need fieldtesting?08:52
mandelralsina: did I add any test instructions?08:53
ralsinajust to run the tests08:53
ralsinaYou do the if in line 201, kwargs can be {}, right?08:53
ralsinaif that's the case, you can still do callback (*fixedargs, **kwargs)08:54
ralsinamandel:  ^ (no hurry!)09:05
mandelralsina: one sec, I need to fix something with a sd branch that broke and I'll look into it09:07
ralsinacool09:07
mandelralsina: ok, so I've got sd running with naed pipes on windows performing all my syncs :)09:39
ralsinaniiiiiiiice09:39
mandelralsina: including shares, although I have no udfs in my account09:39
ralsinayou should create one just in case09:40
mandelnext step is to move everything to json, which aint easy09:40
mandelralsina: yes, will do, lets first see if it syncs and get changes from windows and pushes them to the web :)09:40
ralsinamandel: are you using mattia for that, right?09:40
ralsinawe have him until next friday ;-)09:41
mandelralsina: I can do that, he did the basic protocol stuff, but I'll add it to the projects, he is workin in a C++ implementation so that we can use it in the shell extensions :)09:41
ralsinaok, great09:41
ralsinajust don't want him to be unused09:42
ralsinanow, got 2' for my review?09:42
ralsinaor if you prefer to just get needsfixing and comments, I am happy to do it that way ;-)09:42
mandelralsina: yes, what was it, something about {}, right?09:43
ralsinaright, line 201 and 20209:43
ralsinain https://code.launchpad.net/~mandel/ubuntu-sso-client/fix_signals_emition/+merge/5989809:43
ralsinaif kwargs can be something like None, yes that's necessary, but if it is only {} then the if is useless09:43
mandelralsina: it could be none09:44
ralsinaok then +109:44
ralsinaI hate than launchpad doesn't give you a nice way to jump to the source code in context09:44
mandelralsina: it was the only reason I added it :)09:44
mandelhaha file a bug ;)09:44
mandelralsina: you know canonical, either there is a bug or there is a wiki page09:45
ralsinamy bug would be "make it work like googlecode's commit view" ;-)09:45
ralsinaI couldn't test it on natty because my VM is broken, and I am reinstalling09:45
ralsinaso unless you did it...09:46
faganstill cant find a bug that I can do :/11:35
ralsinafagan:  this is really not the simplest codebase for small bugs :-(12:20
ralsinafagan: most of the code is pretty hairy12:21
ralsinafagan: is it a holiday in the UK or anything? It's pretty quiet today12:22
faganralsina: well I dont think it is12:31
ralsinafagan: ok12:32
faganyeah im seeing that the code is a bit hairy from looking through the bugs12:32
faganits a little bit hard to find a task then12:32
fagannot really a lot of low hanging fruit12:32
duanedesignrye: ping12:48
ryeduanedesign, pong12:49
duanedesigngood day rye12:50
ralsinafagan: I will ask at standup, maybe one of the developers has something in mind12:51
duanedesignrye: i cant find the u1conflict renaming script from the other week12:51
ryeduanedesign, hmmm12:52
faganralsina: cool12:53
duanedesignrye: aha foound it12:54
=== zyga is now known as zyga-afk
alecuhola #ubuntuone!13:05
faganhola alecu13:05
* fagan was trying to think of the word dude but was too lazy to open google translate13:06
duanedesignhola alecu13:12
alecuhola fagan, duanedesign!13:14
nessitaralsina: meeting?13:15
ralsinaannd.... I'm back. Meeting13:17
ralsinasorry but had a kid emergency13:18
ralsinathis place's connection is way too crappy for mumble :-(13:19
ralsinagrmbl, I will try again13:19
ralsinaI keep getting dropped off mumble13:27
ralsinasorry guys but I will be back in my usual place for the next call, and then it will work.13:29
nessitamate time!13:30
* fagan break13:30
* ralsina tries to figure out how o order a non-turkish coffee13:32
ralsinaIt's not worth fighting this connection, will be back when I have decent internet :-(13:32
=== karni_ is now known as karni
thisfreddobey: when switching u1cp from pylint to u1lint, (how) can I pass it '--ignore ui'?13:54
thisfredjust adding that as an argument to u1lint does not work13:55
thisfredin general I think it would be good if it just passed all arguments it does not handle itself to pylint13:57
nessitaalecu: I need to have a common place for GUI strings... I'm planning on having a gui module with the gtk and qt inside13:58
alecunessita, +113:58
alecubtw: riverbankcomputing's webservers seem to be hosted in turkey :P13:58
mandelme13:59
nessitastill 30 seconds to go! :-)13:59
mandelbooo13:59
nessitamandel: weren't you having lunch with @parents?13:59
mandelreactor.callLater(.30, me)13:59
dobeythisfred: it can't14:00
mandelnessita: yes, but I can do the standup, they are looking at me with a funny face because I have the laptop on the table but is ok14:00
mandel:)14:00
nessitame14:00
mandelme14:00
thisfredme14:00
=== m_conley_away is now known as m_conley
nessitaralsina, alecu, dobey, fagan?14:00
alecume14:01
dobeythisfred: and we can't just pass arguments on, because we support using pyflakes as well there; which doesn't take the same arguments as pylint14:01
dobeyme14:01
nessitaonly 2 to go! ralsina, fagan?14:01
thisfreddobey: ok, then we need the ignore method, because we can't be checking the generated code since there is no way to fix it14:02
nessitaok, let's14:02
nessitaDONE: QT windows control panel port, reviews, emails14:02
nessitaTODO: more of the same14:02
nessitaBLOCKED: a little by QT, but it will get better.14:02
nessitaNEXT: mandel14:02
thisfredignore argument I mean14:02
mandelDONE: Moved SSO to use txnamedpipe. Started the process to migrate SSO to json. Made SD to work with txnamedpipes. Syc is working ok.14:02
mandelTODO: Fix ubuntuone-dev merge proposal from dobeys remark. Propose merges for SD and SSO. Continue work for json14:02
mandelBLOCKED: No14:02
mandelthisfred, go14:02
thisfred* TODO https://bugs.launchpad.net/bugs/78111914:02
thisfred* TODO https://bugs.launchpad.net/bugs/78153814:02
thisfred* INPROGRESS https://bugs.launchpad.net/ubuntuone-control-panel/+bug/78187514:02
thisfred* INPROGRESS make u1cp use u1lint instead of pylint14:02
thisfredNEXT: alecu14:02
ubot4Launchpad bug 781119 in ubuntuone-couch (Ubuntu) (and 1 other project) "Crashes if not logged into Ubuntu One (affects: 1) (heat: 6)" [Medium,Confirmed]14:02
ubot4Launchpad bug 781538 in ubuntuone-couch (Ubuntu) (and 1 other project) "OAuth support doesn't handle query parameters (affects: 1) (heat: 300)" [Undecided,New]14:02
ubot4Launchpad bug 781875 in ubuntuone-control-panel "ERROR - ReplicationSettingsChangeError: args (<ubuntuone.controlpanel.dbus_service.ControlPanelBackend at /preferences (affects: 1) (heat: 17)" [Undecided,Confirmed]14:02
alecuDONE: a branch to put sensible names to the Qt widgets. Started digging into using qt-network as a replacement for libsoup14:03
alecuTODO: qt-network for today, thankyouverymuch. Meet andrew and lissete in tonight's dinner at the web&mobile sprint14:03
alecuBLOCKED: riverbankcomputing hosts its webserver in turkey14:03
alecuNOTE: tomorrow is a nat holiday14:03
alecuNEXT: dobey14:03
dobeyλ DONE: Some more nightlies work, reviews14:03
dobeyλ TODO: Patch logilab-common on O, Still some more nightlies work14:03
dobeyλ BLCK: logilab-common test suite failing14:03
faganme whoops14:03
nessitafagan: go!14:03
fagansec writing it up 2 secs14:03
nessitaas alecu said, tomorrow is National Holiday in ARG. I'll be swapping for next Monday though, but ralsina and alecu are not coming tomorrow14:04
nessitamandel: tomorrow is only you and me!14:04
nessita(for windows port)14:04
faganDONE14:04
fagan* Booked flights14:04
fagan* updated the wiki with travel info14:04
fagan* Looked for a bug to do14:04
faganTODO14:04
fagan* Find a bug to do14:04
faganBlocked14:05
mandelnessita: cool :)14:05
fagan* nope14:05
faganoh and if anyone has any bug that I can do send it my way14:05
alecuthisfred, re:" * INPROGRESS make u1cp use u1lint instead of pylint", why are we doing this?14:05
dobeyis tomorrow a turkish holiday too?14:06
thisfredalecu: we might not, if we can't change u1lint14:06
nessitadobey: nopes, but ralsina is still an argentinian resident14:06
faganand can we start using the bytesize tag please14:06
thisfredalecu: the reason for doing it is consistency across projects14:06
nessitafagan: what's the bytesize tag for?14:06
dobeywhat the heck is "bytesize tag"?14:06
nessitafagan: and bug in which area/project are you looking for?14:06
nessitafagan: remember we're not in your head, so you need to be a little more explicit here :-)14:07
faganthe dx team uses it for tasks that arent going to be done by a member of the team and can be done pretty fast14:07
alecuthisfred, right. But can't we delay it a few weeks? nessita and I are already changing a lot on u1cp, and changing that may make life harder for us right now.14:07
faganits mainly done for unity at the moment14:07
dobeyoh, no14:07
thisfredalecu: Sure14:07
dobeylet's not bother with adding tags to bugs that we're not going to use ourselves14:08
nessitafagan: and when would we use such tag? I mean, can you please give an example?14:08
fagannessita: give me a sec ill get the link14:08
dobeynessita: unity uses it as a means to increase outside contributions14:08
nessitafagan: don't make me read doc! my time is little and precious! :-P14:08
nessitadobey: ah\14:08
dobeynessita: ie, "these are the easy bugs that anyone can do"14:08
nessitanot sure if we want to go that road then14:09
nessitafagan: did you discuss this with ralsina?14:09
dobeyyeah i don't think it makes sense for us14:09
fagannessita: he said he would mention it here14:09
nessitaah, I don't think we have those :-D ("easy bugs")14:09
faganbut he is off because of the interwebs14:09
dobeyralsina: btw, you need to do 1:1 with everyone on the team this week :)14:10
fagannessita: well we *could* have some small things maybe even features that arent a priority14:10
fagannessita: https://bugs.launchpad.net/ubuntu/+bugs?field.tag=bitesize14:10
fagandamn lp did that weird its doing it for all ubuntu projects14:11
nessitafagan: I see. Thanks for sharing that. From my POV, I think we should spread this in a more uniform manner, meaning that if we decide to do it, it should be shared across the whole team.14:11
dobeyfagan: no it's not. it's doing it for ubuntu. ubuntu is a distribution14:12
fagannessita: well I was just thinking it would have been handy for me since I was looking for tasks to startb out on14:12
fagandobey: yeah thats what I mean14:12
dobeydistributions don't have projects, but they do have packages; if you want just project bugs then use the project bugs page instead14:13
=== urbanape_ is now known as urbanape
dobeynessita: well, there really is no way it can be shared across the whole team14:13
dobeynessita: only us and mobile can use it really, but i don't think we should14:13
nessitadobey: and foundations for the client and protocol14:13
dobeynessita: well, maybe; protocol is used on server too, and normal users can't test whether it will break that or not14:14
faganbetter link https://bugs.launchpad.net/ubuntu/+source/unity/+bugs?field.tag=bitesize14:14
dobeydesktopcouch is sort of similar there, but not as bad14:14
dobeyfagan: https://bugs.launchpad.net/unity/14:15
nessitadobey: well, you could run a desktop client pointing to that protocol and confirm, but I see your point14:15
dobeynessita: right, but that doesn't tell you if the server code breaks :)14:15
fagandobey: they dont have the tag in use for those bugs14:15
dobeyanyway, i think it's also a waste of time14:15
fagandobey: its against the distro package14:15
dobeyanything that any of us coudl classify as "bitesize" we should be fixing immediately anyway, most likely14:15
dobeybecause it will take just as much time to fix it, as it will to add the tag to the bug14:16
faganWell I suppose unity has more little bugs that could be left alone14:16
dobeyif it will take longer, it's not bite size :)14:16
faganu1 doesnt have many of those14:16
faganmaybe we should have a fagan tag where bugs that I can do get marked :D14:16
dobeywell, it's a dumb thing to say something is "bite size" because it means you have to take the time to determine that first14:17
thisfreddobey: large parts of desktopcouch don't deal with any client server concerns at all, but other than that, yeah, this may become valuable *when* we have a community that can mark files as such, but I doubt us doing it will grow that community14:17
dobeythisfred: well, right, which is why i said "desktopcouch also, but it's not as bad"14:18
faganthisfred: well most backend stuff dont get many casual contributors in general14:18
dobeythisfred: however, i don't think wasting time tagging bugs in that manner is useful14:18
thisfredagreed14:18
thisfredfagan: because it's not possible to contribute ;)14:18
nessitaalecu: does this ring any bell? http://pastebin.ubuntu.com/612270/14:18
fagananyway then keep an eye out for smaller bugs for me then and ping me when you see one14:19
dobeyevery "small" bug i end up deciding to work on, turns into a snowballing nightmare14:19
faganI can sort it out and spread the loads out a bit and learn a bit too14:19
faganoh I didnt know the distro package tracks the project bugs now14:21
faganthats nice14:21
dobeyhuh?14:22
dobeyit doesn't14:22
ralsinaone-on-one with everyone on thursday14:22
fagandobey: if you look at the unity page under the distro package it says that it tracks the unity project too14:23
fagandobey: look just under the top of here https://bugs.launchpad.net/ubuntu/+source/unity/+bugs?field.tag=bitesize14:23
dobeyno?14:23
faganoooh misread it14:24
* fagan really needs to take more breaks 14:24
ralsinadobey: pretty much every small bug in u1 so far was a huge bug that's well hidden ;-(14:25
nessitaralsina: say me!14:25
ralsiname14:25
nessitaralsina: go14:25
ralsinaDONE: teh leads call, reviews, administrivia14:25
ralsinaTODO: mgmt call in 5 minutes, more administrivia, schedule 1-on-1s,14:26
ralsinaBLOCKED: nope14:26
nessitaralsina: any idea why accessing Dbus from qt+reactor is raising exceptions.MemoryError?14:26
ralsinanessita: nope14:27
nessitaalecu: ping14:27
ralsinanessita: usually that means you are getting a conflict between two different garbage collectors14:27
nessitaralsina: can you confirm that from http://pastebin.ubuntu.com/612270/ ? I mean, does that trace give you more info?14:27
ralsinafor example, if the Qt object is being deleted by the parent/child relationship while you have a python reference, but that usually gives a more meaningful error. let me see the trace...14:28
ralsinanessita: probably not that14:28
nessitaeither I get MemoryError or Segmentation fault14:28
dobeyah, the joys of integrating reactor, main loops, dbus, etc...14:29
nessitadobey: "the joys"14:29
ralsina the message in line 4 means you are doing something wrong already, but may not be related to the problem that causes the crash14:30
nessitadobey: does this ring a bell for you? /usr/lib/pymodules/python2.7/gtk-2.0/gtk/__init__.py:127: RuntimeWarning: PyOS_InputHook is not available for interactive use of PyGTK14:30
nessitais appearing when importing syncdaemon stuff into the control panel14:30
ralsinanot to mention that line 1 means you are still importing gtk ;-)14:30
nessitaralsina: I'm not14:30
ralsinanessita: yes you are14:30
nessitaralsina: ...14:31
ralsina/usr/lib/pymodules/python2.7/gtk-2.0/gtk/__init__.py:127 means you are14:31
nessitaralsina: define "you"14:31
ralsinaok, the code is importing gtk somewhere.14:31
dobeynessita: no, but i've seen it before; in the build logs for nightlies iirc14:31
dobeyi have no idea what PyOS_InputHook is, either14:32
=== hito_jp0 is now known as hito_jp
alecunessita, pong14:35
nessitaalecu: does this ring any bell? http://pastebin.ubuntu.com/612270/14:35
alecunessita, not at all14:36
nessitaalecu: ok, seems like qt4reactor + dbus + qt mainloops does not get along14:36
dobeynessita: where is that QThread warning coming from? perhaps that's the problem14:39
dobeysigh, logilab14:40
* dobey wonders how this thing even made it into the debian archive14:40
nessitadobey: I have no idea, I'm not creating nor using any QTHread14:42
nessitanot QThread14:42
nessitaralsina: any clues where that QThread comes from?14:43
ralsinathat warning may mean you are setting up a timer on a thread that was started from python14:43
ralsinaor that you are doing it before initializing the QApplication14:43
ralsinabut I would worry first about getting a gtk warning...14:43
nessitaralsina: I'm not, I can confirm that. And I'm not using any explicit timer not thread...14:44
alecunessita, what about the first line? "/usr/lib/pymodules/python2.7/gtk-2.0/gtk/__init__.py:127: RuntimeWarning: PyOS_InputHook is not available for interactive use of PyGTK"14:44
nessitaalecu: I have no idea about that. I'm reviewing all the files and I don't find any gtk import of our own14:45
dobeyi don't think the gtk warning is the problem14:46
* nessita neither14:46
nessitaalecu, ralsina: the gtk warning appears when this code is executed: from ubuntuone.platform.linux.tools import SyncDaemonTool14:47
dobeynessita: that's importing from dbus_interface too, so maybe the same problem you mentioned yesterday14:50
nessitadobey: about the reactor?14:50
nessitahum...14:50
dobeynessita: right, though not sure where gtk would come from; nothing in syncdaemon should be using gtk anywhere14:51
nessitaright14:51
dobeynessita: make a local gtk/__init__.py that just does "raise Exception('GTFO')" or something, so you will get a stack trace when it gets imported14:52
dobeynessita: then you can see what's importing it at least14:52
nessitaralsina, alecu, dobey: bug #52667614:52
ubot4Launchpad bug 526676 in pygtk (Ubuntu) "[Lucid] PyOS_InputHook is not available for interactive use of PyGTK set_interactive(1) (affects: 11) (heat: 51)" [Undecided,New] https://launchpad.net/bugs/52667614:52
nessitaseems like pyinotify is doing something nasty?14:52
dobeyoh, pynotify14:53
alecunessita, what are we using SyncDaemonTool for?14:53
nessitaalecu: most of sd_client stuff14:53
ralsinayes, it's pynotify14:53
nessitaalecu: anyways, the warning appears the same when importing anything related to syncdaemon14:53
dobeywell that makes no sense14:53
nessitaralsina, alecu: anyways, I'm pretty sure that warning is not related to the sg faults14:53
nessitaseg*14:53
alecunessita, ok, but the dependencies of syncdaemontool seem to be too convoluted, so we probably should get rid of that.14:54
ralsinanessita: ok, could be14:54
dobeywhy would a C module import pygtk?14:54
dobeyand i'm pretty sure nessita's error is due to the threading/timeout issue14:55
nessitaralsina, alecu, dobey: the warning has nothing to do, confirmed. I'm raising an exception inside /usr/lib/pymodules/python2.7/gtk-2.0/gtk/__init__.py and I'm getting seg fault before that exception is being raised, so is a timing thing14:58
ralsinanessita: ok14:58
ralsinanessita: I am in the mgmt call, I can try to debug it in about 20 minutes, I think14:58
nessitaralsina: ok14:58
nessitaI'll move on commneting out that code14:59
ralsinanessita: http://www.qtcentre.org/threads/12135-PyQt-QTimer-problem-FIXED15:01
ralsinait's pretty much a generic message that can be triggered by a bunch of internal qt things15:01
ralsinalike, loading an image15:01
nessitaralsina: so you say that it has nothing to do wth the sg fault, right?15:02
ralsinanessita: probably nothing to do, yes15:02
ralsinain fact, I have seen it in the past on programs that worked just fine15:03
* dobey hopes pylint doesn't still go nuts now15:09
ralsinanessita: done with the call, what branch are you trying?15:10
dobeyYAY15:10
nessitaralsina: browsing link15:10
nessitaralsina: https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/bind-some-more15:10
ralsinanessita: ok, branching15:11
nessitaralsina: branch and run DEBUG=True PYTHONPATH=. ./bin/ubuntuone-control-panel-qt15:11
ralsinanessita: so you get the crash every time, right?15:11
nessitathen, uncomment qt/controlpanel.py the line that reads15:11
nessitaself.backend.file_sync_status()15:11
nessitaand re-run, and boom15:11
nessitaralsina: yes, every time for me15:12
ralsinaok, let's try...15:12
ralsinareproduced.15:14
ralsinanow, give me a few moments to try and debug it15:14
nessitaralsina: withy memoryerror or seg fault?15:14
ralsinasegfault15:14
ralsinaand it doesn't seem to be happening in a deferred, which may make it slightly easier15:17
* mandel => errants15:17
ralsinanessita: you didn't have this before you started this branch, right?15:18
nessitaralsina: nopes, and even if you comment the line "self.backend.file_sync_status()" there is no crasg15:19
nessitacarsh15:19
nessitacrash!15:19
nessita:-)15:19
ralsinacash! ;-)15:19
=== rodrigo__ is now known as rodrigo_
ralsinaok cool, let me dig a bit more then15:19
nessitaralsina: I bet is related to accessing dbus from qt+reactor15:19
dobeyerrants15:19
ralsinaprobabbly15:20
nessitawhich sucks! :-)15:20
nessitais very hard to debug15:20
ralsinayes, it is15:20
ralsinahey, got the memoryerror now15:22
nessitaralsina: right, is a timing issue15:22
nessitarace condition maybe15:22
ralsinawhen there is a segfault, there is no QTimer error15:24
nessitaralsina: but only becasue (I think) the seg fault happened before the stdout buffer was flushed15:25
ralsinaI am now seing the control panel :-D15:26
ralsinathat was an interesting fluke15:27
ralsinaI got the memory error *and* the control panel became visible. Once.15:27
ralsinaso it really smells like a race condition15:28
ralsinait is because of calling dbus :-(15:44
nessitaralsina: yes! any way of fixing it?15:45
ralsinanessita: working on it15:45
nessitaralsina: awesome15:45
ralsinait *may* get fixed if we keep a reference to something, but not 100% sure15:46
ralsinaok, something *is* starting threads, and the segfault is on a QTimer15:48
ralsinanessita: http://pastebin.ubuntu.com/612302/15:49
nessitame looks15:50
nessitaralsina: I'm not very skilled on this front, but looks like dbus and qt interaction is a no?15:51
ralsinadbus and qt interaction is ok, but here we seem to be having a problem in that the qt mainloop is started in the wrong thread15:51
ralsinawhich I have no idea how could happen. Specially since I have no idea who is starting a thread15:51
alecuis the qt reactor starting threads?15:52
ralsinaalecu: no idea15:52
* ralsina looks15:52
alecuralsina, no, it doesn't15:52
alecujust checked.15:52
ralsinahere's the interesting part of the C backtrace: http://pastebin.ubuntu.com/612304/15:53
alecuralsina, have you commented the import of sdtool in your branch?15:53
ralsinaalecu: didn't know I should :-)15:54
alecuralsina, no, I'm trying to guess if some other part is starting the threads.15:54
ralsinaok, I will dig some more15:55
dobeygrr, broken deps15:57
dobeywhy are python deps not automatically determined at build time, wtf is ${python:Depends} for15:59
ralsinaI have no idea where the threads are coming from16:00
ralsinaand the segfault is caused by using a QTimer in the "wrong" thread16:01
nessitaralsina, alecu, mandel: are we having our meeting?16:01
ralsinasure, let's16:02
ralsinabuuuut mandel: ping?16:02
aleculet's16:02
nessitaI just loose tons of changes to a file due to lack of disk space!16:02
nessitaCRAP16:02
ralsinamandel's last words "errants"16:02
dobeyralsina: his errant use of english :)16:03
ralsinahe may be an errant knight16:03
alecuhere, have 100 pesos. Go buy a terabyte!16:04
nessitaalecu: I know...16:04
ralsinaalecu: you said that with old-unix-guy voice, too!16:04
alecu:-)16:04
* ralsina really, really, really hates threads16:05
dobeydon't blame threads for python16:05
alecuand now.... mumble won't connect.16:05
fagandobey: you just took the words right out of my mouth16:05
dobeynope16:06
* alecu will be right back16:06
ralsinadobey: I hated threads before I started using python ;-)16:09
faganralsina: well threads in C are kinda weird I have to admit, java was so much easier to figure out16:10
dobeyyou are one of those "async code with a single thread" people, aren't you16:10
ralsinaNo, I am the rare "don't share state" people16:10
ralsinayou know. real unix people. Those who are not afraid of processes.16:11
nessitaralsina: can you sms mandel?16:11
ralsinanessita: maybe16:11
ralsinalet me skype/sms him16:11
nessita:-)16:11
dobeyoh, you're a fundamentalist16:11
faganI can sms him for like 10c if someone pms me his number16:12
ralsinadobey: history will prove us right ;-)16:12
ralsinasms and twittered him16:12
dobeyralsina: shouldn't you be at church? :)16:12
ralsinathreads are basically the wrong solution for almost anything beyond trivial. And once you start using them right, you may as well be using real parallelism with message passing.16:13
* alecu believes "threading" to be a great tool for some purposes.16:14
alecujust not UI nor network code.16:15
ralsinanessita: silly question, but where is the qt main loop being started?16:15
nessitaralsina: controlpanel.py:main16:16
nessitaralsina: you mean the QApplication, right?16:16
alecuralsina, the qt main loop is being handled by the qt reactor.16:17
ralsinaalecu: oooook16:17
alecuralsina, so "reactor.run()" would be the time it's started.16:18
ralsinaalecu: cool, thx16:18
nessitaah16:18
ralsinaanyone has a link to the page of *this* qt4reactor?16:19
dobeyurl is in u1trial16:20
dobeyif you don't have it and use --qt-reactor=ui as an argument to it, it should complain with the url16:20
ralsinaneverming, got it16:20
alecuralsina, https://github.com/ghtdak/qtreactor16:21
fagannessita: are we getting added to that all in one system settings thing in 11.1016:22
fagan(the cp I mean)16:22
* fagan was just playing about with it and wondered 16:23
nessitafagan: at first, no, but is not confirmed.16:23
fagannessita: cool just wondered16:23
dobeyi don't think we belong there16:25
fagandobey: well im on the fence I can see why we should be in there but I dont think it would be as good as it would by itself16:26
ralsinaha, this segfault hits on so many different things it's almost pretty16:26
nessitaralsina: what are we doing with the meeting? I would need to have lunch at 1pm ART, if possible16:26
ralsinanessita: I got no response from mandel16:27
ralsinaI say we delay again until after your lunch, but then it will be 8PM here16:27
ralsinaso, we can do that if it's not going t be very long16:27
nessitaargh :-/16:28
nessitaralsina: what's the main goal of the meeting? do you need a specific date to pass along to the bosses?16:28
ralsinanessita: that is for friday16:28
ralsinathis meeting is because you were worried about task assignments16:29
nessitaralsina: are we having a meeting on Friday?16:29
ralsinayes we are16:29
AJenboHi when ever i try to go to https://one.ubuntu.com/contacts/ i get a 504 gatway time out error :(16:29
ralsinaI got the magical "it works" race condition16:29
nessitaralsina: I'm still am, given that alecu and me are going one way, and maybe we need to change to another way (referrring to reactor/tcnamedpipes/etc)16:29
alecunessita, yes, I remember you were the one that asked for this meeting today!!!16:29
AJenboMy iPhone also gives an error when i try to sync and my Android gives up after uploading 2716:30
nessitaalecu: kinda, ralsina said "let s have a meeting on X day" and I suggested to move it sooner to know how we should be moving forward16:30
ralsinathe two meetings are for different things16:31
beunoAJenbo, we're shutting down contact syncing in a week16:31
AJenboAfter a few attempts it has not removed all my existing contacts from my android but not downloaded any from the web16:31
AJenbobeuno for good?16:31
nessitaralsina: true, but in order to answer "when" we need to know "how" :-)16:31
ralsinanessita: that's why this meeting is first ;-)16:31
nessitaexactly! :-)16:32
ralsinaok, see you guys at 8PM turkey time16:32
beunoAJenbo, for a few months. We're going to completely replace the server and clients for something more... stable. And, free.16:32
nessitaralsina: that is how long from now?16:32
ralsina88 minutes16:32
ralsinaso, after your lunch16:32
ralsinahopefully manuel will be around16:32
AJenboBeuno, ok, better clients sounds like a big plus :)16:32
alecuit's already 17.32 madrid time16:32
AJenboStill i would love to have some phone numbers to call in the mean time, any idears?16:33
beunoAJenbo, we will only have clients for iOS and Android, though. Which sounds like what you have.16:33
AJenboYep, the most important is the Android16:33
AJenbobeuno: so no more desktop sync?16:34
ralsinanessita: basically, this segfault is happening in a combination of elements that we don't really need right now (dbus+qt)16:34
beunoAJenbo, yes, desktop sync stays teh same.16:34
beunoAJenbo, no good answer for now, though  :(16:34
nessitaralsina: we do need, to be able to develop on linux...16:34
ralsinanessita: yesssss but it's not what we need to deliver16:35
AJenboK, i might be able to get some of them from my desktop and type them in manually16:35
ralsinait's ok, I will try to debug it16:35
nessitaralsina: right, but...16:35
AJenboprobably can sync some from facebook also16:35
ralsinabut I know I know.16:35
beunoAJenbo, Facebook doesn't provide phone or email addresses16:35
nessitaralsina: I can try other options, such as: faking the syncdaemon info and avoiding caling dbus altogether16:35
nessitacalling*16:35
nessitathat will work16:36
ralsinanessita: could use the current mocks from tests?16:36
AJenboReally? I did call some one via the phone number on facebook, though it's posible that i was doing it via the website16:36
nessitaralsina: mocks in tests are DBus services, so I guess no. I think the best route is to fake the results on our modules16:36
ralsinanessita: ok16:36
AJenboI'm not talking Ubuntu one <-> facebook, but android <- facebook16:36
ralsinawhy are we using twisted here for, again? Just to get deferreds on dbus calls?16:36
* ralsina is dizzy already ;-)16:37
nessitaralsina: on the QT controlpanel?16:37
ralsinanessita: yes16:37
AJenboAny way it can be done manually in any case16:37
nessitaralsina: nopes, it was for communicatin with SD, that is going to be replaced by the txnamedpipes, that I think they use twisted as well? can; t tell for sure, that tech is still a ghost for me16:37
nessitaspeaking of which, I think there are ghosts in my new place16:38
AJenbobeuno: any way i can keep a tab on the progress?16:38
nessitabut that is not related :-D16:38
ralsinanessita: yes, unrelated ;-)16:38
beunoAJenbo, contact sync for Android should be shipped in July or so16:38
nessitaralsina: I'm not sure if, when migrating to txnamedpipes, we will keep using the reactor or not16:38
beunoAJenbo, I'll blog about it as we go16:38
nessitaalecu: can you help me on that answer? ^16:38
ralsinaok, on windows SD gives us txnamedpipes as IPC, so twisted. But on Linux it gives us dbus, right?16:38
AJenbobeuno: thanks i will keep an eye out16:39
alecuralsina, that's right.16:39
faganralsina: mterry did a nice u1 post on planet16:39
faganabout the api stuff16:40
alecunessita, the "tx" in txnamedpipes means "twisted"16:40
alecunessita, so, the twisted reactor is mandatory.16:40
ralsinaok. we will use twisted because we need it on windows. On Linux we could get along without it :-(16:41
nessitaalecu: thanks! I always bind tx with transfers16:41
alecunessita, yeah. talk about acronym overload.16:41
nessitaralsina: the thing is, if we're pushing the QT iface to linux, we need to resolve this...16:42
ralsinanessita: indeed16:42
nessitanot right now, but in the short term16:42
ralsinait is surely solvable, because 1 in every 20 attempts it works already ;-)16:43
ralsinaI will keep hacking at it, surely something will come up16:43
nessitaawesome16:43
alecuralsina, I propose you don't waste time making this run on linux, since that is not our focus.16:43
ralsinaa stupid *twisted* question. What is it the inlinecallbacks decorator does?16:44
alecuwe won't be using qt+dbus for the next 4 weeks16:44
alecuralsina, not so stupid.16:44
ralsinaalecu: right, but if nessita is going to help from linux, it would be nice to have it soon. Since her days are more productive than mine, I prefer to waste one of mine ;-)16:44
nessitaanyways, like I mentioned I can fake the results16:45
alecuralsina, ok, but it would be simpler if we just use mock data on linux, and then we make it run on windows with the proper reactor and transport there.16:45
alecunessita, exactly.16:45
alecuralsina, back to inlinecallbacks16:46
alecuralsina, it turns a generator into a series of callbacks16:46
ralsinaok, then let's do that. I will give myself a deadline of today. If I can't fix it, it stays broken for a while16:46
alecuralsina, let me fetch an example.16:46
ralsinaalecu: explain me with file_sync_status if possible ;-)16:46
alecuralsina, please point me at that file16:47
ralsinaubuntuone/controlpanel/backend.py +39316:47
alecuoh, backend.py16:47
ralsinaI think I understood from the docs. Basically every yield gives a deferred, and when the deferred is finished the execution continues?16:49
nessitaralsina: yes. If you don't yield on it, it continues "in the background"16:50
ralsinaok16:51
ralsinanow that makes sense16:51
nessitaralsina: that usually is done when you don't need to wait for the result, like in the file_sync_status case16:51
nessitaralsina: where the status is signaled in a callback16:51
dobeylunch time, bbiab16:52
alecuralsina, "every yield gives a deferred" is wrong.16:52
ralsinanessita: ok16:53
alecuralsina, "every yield *takes* a deferred, and returns the result when the deferred is called back"16:53
alecuralsina, here's the same code with callbacks: http://pastebin.ubuntu.com/612329/16:53
alecuralsina, (not tested, just translated from memory)16:53
ralsinaalecu: ok, it's pretty clear :-)16:55
=== beuno is now known as beuno-lunch
ralsinathe segfault is inside qtreactor. How about that for ugly?17:02
* nessita runs scared17:03
ralsinaok, here's my current guess17:04
ralsinaok, no, no guess yet17:05
nessitaoh17:05
ralsinaThe QTimer is in qtreactor. BUT that is being called by the dbus loop17:05
nessitaralsina: I would hope that all of them run in the same main loop, but seems like not17:06
ralsinanessita: yeah, this is not smelling right. We may be using one thing or the other in the wrong way17:06
ralsinaor like dobey will surely say, we have one thing too many in the mix17:07
ralsinatime to go hardcore. Installing valgrind17:13
nessitaok, I'll have some lunch now17:14
ralsinaThis doesn't look fixable :-(17:20
=== zyga-afk is now known as zyga
ralsinaOf COURSE the segfault is in the C side of python-dbus...17:26
mandelralsina: ping17:29
ralsinamandel: pong17:29
mandelsorry I had to sort my life, I have finally done so17:29
mandelralsina: you were saying?17:29
mandelI mean on twitter17:29
ralsinamandel: cool. done it with regional eastern european dance algorithms? ;-)17:30
mandelralsina: yes, you could say so ;)17:30
ralsinamandel: I know it's late, but can you stay for a short mumble in 30 minutes?17:30
ralsinaabout task assignments and sucj17:30
mandelralsina: I was going to stay for longe17:30
mandelralsina: I took some time of, so of course17:30
nessitamandel: we had a meeting at 12 ART17:30
mandelnessita: did we?17:30
nessitayes! :-)17:31
mandeloh, shit the one we had at 9 that was moved....17:31
nessitayeap17:31
mandelsorry sorry17:31
ralsinaha! it's a bug in Qt's dbus integration!17:31
ralsina#0  0x00007ffff55201ff in QObject::startTimer(int) () from /usr/lib/libQtCore.so.417:32
ralsina#1  0x00007ffff584672c in add_timeout (timeout=0x116c840, data=0x13428c0) at /build/buildd/python-qt4-4.8.3/dbus/dbus.cpp:14617:32
mandelralsina: where is that?17:32
ralsinathat data pointer is invalid17:32
mandelralsina: qtreactor, txnamedpipes or other?17:32
ralsinamandel: a branch from nessita trying to use twisted+dbus+qt on linux17:32
mandelralsina: oh my!17:33
ralsinawhich I am tempted to say we should NOT try to do in the future ;-)17:33
dobeyheh17:33
mandelralsina: hahah17:33
ralsinawe can use just qt+dbus, although it means changing a ton of code17:33
ralsinaor gtk+dbus17:33
nessitaralsina, mandel, alecu: I'm still chewing but we can have the meeting in.. 10 minutes?17:34
mandelralsina: which dbus lib, are we useing the python bindings?17:34
mandelralsina: what about the dbus in qt?17:34
mandelnessita: I'll be here17:34
nessitanot sure what is the status of alecu17:34
ralsinamandel: this is using the python dbus bindings. The qt dbus stuff is not wrapped for python, AFAIK17:35
mandelralsina: hm… are you sure: http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/dbus.html17:35
alecunessita, I'm around here.17:35
ralsinamandel: that's just the main loop integration17:36
mandelralsina: exactly, are we using that?17:36
ralsinamandel: yes17:36
nessitamandel: yes17:36
mandeloh, ok17:36
mandelbummer17:36
dobeymandel: your branch has a conflict in bin/ubuntuone-syncdaemon17:37
mandeldobey: ok, I'll take a look, I think another branch was added before17:37
mandelshould be easy to solve17:37
mandeldobey: may I have the url?17:37
dobeyhttps://code.launchpad.net/~mandel/ubuntuone-client/provide_windows_vm_helper/+merge/6058617:38
alecumandel, ralsina, nessita: can we do the meeting soonish?17:38
nessitaalecu: I'm still chewing, but let's17:38
ralsinafine by me17:38
mandelI'm here17:38
nessitamandel, ralsina: mumble17:38
mandelnessita: launching it17:39
dobeygrr, where is this guy at that was supposed to come and give me an estimate for fixing my yard17:57
facundobatistadobey, maybe playing poker with the guy that supposed to come last week and fix my roof :|18:13
dobeyheh18:13
dobeypartypoker.net18:13
dobeyi should play that18:13
thisfreddobey: I notice tarmac does not run tests for ubuntuone-couch at all when merging.18:14
dobeyeh?18:15
dobeyverify_command = ./run-tests18:16
dobeyso lies18:16
nessitathisfred: probable the bash script does not have the set -e thingy?18:16
thisfreddobey: well trunk has 3 broken tests18:16
thisfredmichael's latest branch broke them18:16
nessitathisfred: can you please link me to run-tests?18:17
thisfrednessita: http://bazaar.launchpad.net/~ubuntuone-control-tower/ubuntuone-couch/trunk/view/head:/run-tests18:17
dobeyuhm18:18
nessitathisfred: right, the problem is that script18:19
nessitathisfred: you need to "set -e" at the top18:19
nessitathisfred: and also, `which xvfb-run` u1trial -c "$MODULE" && style_check should be:18:19
nessita`which xvfb-run` u1trial -c "$MODULE"18:19
nessitastyle_check18:19
thisfredok18:19
dobeyright, that18:20
thisfrednessita: that latest change will run the style check when tests fail, which is less than useful though or not?18:20
dobeyno it won't18:21
nessitathisfred: nopes, with set -e, the script will abort as soon as any command returns non zero status18:21
dobeyerr18:21
dobeyyou need to set -e also18:21
thisfredah18:21
thisfredok, done18:21
thisfredthx!18:21
nessitathisfred: wanna a review?18:21
thisfrednessita: in a bit18:21
dobeywhat horrible project names18:22
thisfredI need to split this out into a new branch, I was working on something else18:22
nessitathisfred: let me know18:22
thisfredthx18:23
nessitadobey: I'm tempted to charge you a dollar every time you complain about something. But then I realized someone can do that to myself  and steal all my money :-D18:23
dobeynessita: when did u1cp start using python-apt?18:27
dobeynessita: not aptdaemon, but apt?18:27
nessitadobey: midish last cycle, I think18:27
nessitaalong with aptdaemon18:27
thisfrednessita: dobey:  https://code.launchpad.net/~thisfred/ubuntuone-couch/fix-tests-and-run-tests/+merge/6216918:27
dobeynessita: how was it that nightlies were building at all, since neither is in the Build-Depends?18:28
nessitamandel: help?18:28
nessitadobey: ... i don't know18:28
nessitadobey: seems like a bug in the packaging (for natty as well). I would guess python-aptdaemon is bringing it?18:30
nessitadobey: would you please file me a bug?18:30
dobeywell i don't think the ubuntu package is running unit tests18:31
dobeyi am fixing nightlies right now18:31
=== beuno-lunch is now known as beuno
nessitadobey: right, but could you please file one so I can fix natty and oneiric packages?18:31
nessitathisfred: approved18:31
thisfredthanks!18:32
dobeyhrmm, the qt stuff isn't getting installed yet either18:40
dobeybut i guess that's fine, since it's still pretty broken18:40
mandelnessita: tell me18:41
nessitamandel: I fixed it!18:42
mandeloh, sorry I was havin coffee, what was it?18:42
nessitamandel: when running tests without the run-tests script, I needed to pass a --qt-reactor option otherwise I was getting ugly errors18:43
mandelnessita: yes, the reactor that is used by default is the glib one18:43
nessitaright18:43
mandelI'm going to fix the merge proposal for ubuntu-dev-tools to make it more obvious18:43
mandelmaybe say something like no reactor specified or something18:44
nessitamandel: did you change the name of the CredentialsManagementTool on linux?18:48
mandelnessita: no AFAIK18:48
mandelwhy?18:48
nessitamandel: grabbing some evidence, one sec18:49
mandelnessita: i dont recall changing the name to be hones...18:49
nessitamandel: bug #787126 and now the thing that I have installed does not have the CredentialsManagementTool defined. bzr blaming now...18:49
ubot4Launchpad bug 787126 in ubuntuone-client "Ubuntuone can't access the credentials and fals to open at startup (affects: 1) (heat: 6)" [Undecided,Incomplete] https://launchpad.net/bugs/78712618:49
nessita971.3.18 mandel@ | class CredentialsManagementProxy(object):18:50
nessitamandel: why did you change the name to CredentialsManagementProxy?18:50
mandelnessita: I really do not remember doing that....18:50
nessitamandel: where did CredentialsManagementTool go? :-)18:51
mandelI mean, I trust you that I did the change, I dont remember why or when…18:51
mandelnessita: was it last week?18:51
nessitano idea, browsing LP now18:51
nessitamandel: http://bazaar.launchpad.net/~ubuntuone-control-tower/ubuntuone-client/trunk/revision/984#ubuntuone/platform/linux/credentials.py18:52
mandelnessita: let me take a look at the code18:52
nessitamandel: "Date: 2011-05-12 22:24:08 This branch fixed the issue where windows does not have credential management code. This branch does the following:18:52
nessita* Refactor the CredentialsManagementTool so that it can be used by other platforms.18:52
nessita* Implemented the CredentialsManagement code for Windows."18:52
mandelnessita: hm, it looks like I did the change aand did not double check that no one was accessing the creds modul directly18:53
nessitamandel: CredentialsManagementTool is a documented API, you should nor change it nor remove it18:54
nessitamandel: all the extremely long docstrings are there for a reason! :-)18:54
nessitawell, were there :'*18:54
nessita:'(18:54
mandelnessita: the are in ubuntuone/credentials.py18:55
mandelnessita: it was move out of platform, that is the reason why the docs are not there, they are in a diff location18:55
mandelwhere is the import error happening?18:55
nessitamandel: in ubuntuone-launch, and it can be happening on many places, that is public API and is not meant to be changed or moved18:56
nessitaif you needed the same functionality, you should have move the logic but leave the name and functionality as is18:56
mandelnessita: ok, I can change it back to its location, I did not know that was a public api18:56
mandelnessita: the idea was to share the logic, not copy it18:56
nessitamandel: is ok, you can move the logic without destroying the API18:57
dobeyit's python. anything installed in /usr/share/pyshared is public api whether you want it to be or not18:57
nessitaand the import paths18:57
dobeyunless you're blocking it being used with the __all__=[] hack, but then you can't use it from other modules in the same code, so also fail18:57
mandelyes, sorry I though it was just an internal class not share over diff things18:57
mandellame from my part...18:57
nessitamandel: on doubt, eveything is public18:57
mandelok18:58
dobeymandel: one of the many reasons i hate python :)18:58
nessitaalso, mandel, why would you set ubunutone/credentials.py as #!/usr/bin/env python ?18:58
mandelnessita: is from the vim template I use18:59
nessitamandel: that should not be there on 95% of the cases18:59
mandel does it hurt?18:59
mandelneed to go, sorry19:00
nessitamandel: yes, you're declaring a python module to be executable when is a lie19:00
mandelwill talk later19:00
nessitadobey: is there any way of reverting a merged branch in u1client?19:03
mterryalecu, ping about CreateItem bug19:04
alecuhi mterry19:04
dobeynessita: many ways...19:04
dobeyhi mterry19:04
nessitadobey: can you please teach me the easiest and cleanest (ideally)?19:04
dobeymterry: this is keyring bug?19:04
mterryalecu, I'm trying ubuntu-sso-client trunk in oneiric and I still hit the error about CreateItem's dbus signature19:05
mterrydobey, yeah19:05
alecumterry, right: we have not worked on that issue yet.19:05
dobeymterry: are you using ppa:ubuntuone/nightlies ?19:05
alecumterry, oneiric defaults to gnome keyring 3?19:05
dobeyalecu: well i think CreateItem signature was fixed, but there are still some other issues19:05
mterryalecu, oh, I thought that was bug 745540, which is marked fix committed19:05
ubot4Launchpad bug 745540 in ubuntuone-client (Ubuntu) (and 5 other projects) "Method "CreateItem" with signature "a{sv}(oayay)b" on interface "org.freedesktop.Secret.Collection" doesn't exist (affects: 19) (heat: 102)" [Undecided,Invalid] https://launchpad.net/bugs/74554019:05
dobeyalecu: yes, 3.x stuff is in O19:06
mterryalecu, yes, 3.x19:06
alecuok.19:06
mterrydobey, no, compiled a deb myself, though I should use the nightly ppa19:06
dobeymterry: please use nightlies :)19:06
mterrydobey, sure, but do you happen to know if they work?  You say there are other issues?19:06
mterryI'm still getting the same CreateItem error for example19:06
dobeymterry: well i know there is a separate issue with names of properties, but the CreateItem error should be fixed; are you sure you used trunk?19:08
dobeymterry: or did you just build from lp:ubuntu/ubuntu-sso-client?19:08
dobeynessita: sorry. what revision would you like to revert?19:09
mterrydobey, I used trunk.  I've now switched to the PPA, same error19:09
dobeymterry: hrmm, ok; weird19:09
nessitadobey: this merge https://code.launchpad.net/~mandel/ubuntuone-client/provide_credentials_management/+merge/5974319:10
nessitadobey: so mandel can re-19:10
nessitaoops19:10
nessitafix it and re propose it19:10
dobeynessita: bzr diff -r 984..983 will generate a reverse patch19:12
nessitaok, on it now19:13
dobeynessita: then you can appply that, and fix the conflicts, and go from there to get to where you want19:13
nessitadobey: right, I'll try19:13
nessitathanks!19:13
dobeysure19:13
dobeynessita: so diff -r $REVNOYOUWANTTOREVERT..$PREVIOUSREVNO, is how you generate a reverse diff of the changes; if you want to add it to your notes that way so it's easier to remember :)19:14
nessitadobey: I will, thanks19:15
dobeygrr, why is firefox in 11.04 having drawing issues19:16
dobeyand keyboard issues apparently :-/19:16
dobeymterry: ok, am upgrading my laptop right now to be sure, and will test it there19:17
mterryalecu, dobey: it's because the first CreateItem returns "Invalid properties argument" and then the sso code falls back to old signature19:17
dobeymterry: ah, so it's becuase the properties are wrong too19:18
dobeysigh, why did they have to break such things19:18
dobeyoh wow19:19
dobeyand i thought control panel looked bad with the correct theme19:19
alecuyes, they changed the names of some properties, so our code will have to try both property names if we want to be compatible with both gnome-keyring versions.19:19
dobeyhmm, and couch is broken19:20
dobeyhopefully cp nightlies succeed this time19:24
dobeysigh19:25
mterrydobey, alecu: looking at gnome-keyring code (gkd-secret-property.c), I think the new property names are Label and Type19:26
mterryinstead of token-name and key-type19:26
mterryoh whoops19:27
mterryI misread what I was seeing over the dbus wire.  We already use Label and Attributes19:27
dobeyno they changed some stuff from Foo to org.blahblah.blah.Foo19:28
nessitadobey, alecu: can I have some reviews for https://code.launchpad.net/~nataliabidart/ubuntuone-client/revert-provide_credentials_management/+merge/62181 ?19:29
fagannice write up mterry :)19:31
mterryfagan, thanks  :)19:31
alecunessita, I'm reviewing19:34
nessitaalecu: thanks19:34
dobeynessita: +119:35
nessitacheers19:35
alecunessita, there seems to be something different: "1019 lines (+702/-230) 8 files modified" vs "1062 lines (+230/-745) 8 files modified"19:35
nessitaalecu: some change in trunk in the mean time? maybe mandel landed some changed on one of the removed files19:36
nessitaalecu: I applied the patch, got rejects on the files that were supposed to be removed19:36
dobeyhrmm, 43 line difference19:36
nessitahum, in theory I'm removing more lines that those that were added? weird19:39
dobeyah19:40
dobeyyes you are19:40
dobeyit looks like windows/credentials.py got larger in a later change19:40
nessitaright, for example: in the original branch, we have:19:41
nessita181+        self.assertIs(callback,19:41
nessita182+                    self.management.register_to_authorization_denied(callback))19:41
nessitaand in my removes, that same line is:19:41
nessita178-        self.management.register_to_authorization_denied(callback)19:41
nessitaand that happens for several tests19:42
dobeyright19:42
dobeyand the window impl had some larger changes as well19:42
dobeylike the __init__ for CredentialsManagement is different there, and has some other methods added and such19:43
mterrydobey, is there a workaround I can do to get some credentials on an oneiric machine?  I'd like to do some further testing of U1 stuff in oneiric19:43
dobeyprobably as the IPC on windows actually got implemented, stuff changed19:43
nessitaright... anyways, I think that mandel can re add the latest version of the file once we agree on how he will be moving sutff out of linux19:45
dobeymterry: not sure19:47
dobeygimme a minute, i gotta make a phone call19:47
nessitaalecu: the difference in the lines is casued by later changed to the windows files19:49
nessitawhich by reverting are being removed19:49
alecunessita, ok, then I can assume it to be safe, right?19:50
nessitaalecu: I think so, yes. We have all the version control history so mandel will not loose the latest changes, and he can re-propose a cleaner/working branch for us to review19:50
dobeyok19:51
nessitaalecu: I did nothing extra other than applying the reverted patch and fixing the rejects19:51
dobeyit is safe19:51
alecunessita, ok.19:51
nessitaheh, qt tests are saying:19:52
nessitaApplication asked to unregister timer 0x53000003 which is not registered in this thread. Fix application.19:52
alecunessita, finally: I don't get why are we reverting instead of fixing this.19:52
nessitano dbus involved at all on that timer warning19:52
nessitaalecu: did you see the attached bug report?19:52
nessitaalecu: ubuntuone-launch is failing for every single user running nightlies19:52
nessitadue to an ImportError. And I'm not fixing the import error itself since the changes that mandel landed break an API that is not meant to be broken19:53
nessitaalecu: so mandel and I need to discuss how he can add the changes he needs without breaking the existing API19:53
nessitaalecu: maybe there is another solution that th rush is not letting me see?19:54
alecunessita, I can't see any quick solution, no.19:56
dobeynessita, thisfred, alecu: couple quick reviews for https://code.launchpad.net/~dobey/ubuntuone-control-panel/fix-dc-lint/+merge/62189 please? :)19:56
thisfredon it19:57
nessitadobey: sure19:57
nessitadobey: looks trivial! +119:57
thisfred+1d as well19:57
dobeyaye, and it seems to be the final nail for fixing the cp nightlies :)19:59
nessitadobey: great work!19:59
nessitadobey: that in in O, right?19:59
dobeywell, except for maverick, anyway19:59
dobeyO and N19:59
nessitadobey: maverick issue is some introspection stuff, right?19:59
dobeysome weird error in soup, yes20:00
alecunessita, hmmm... regarding your revert branch: this is nightlies, and nightlies by definition some times get broken.20:00
alecunessita, I still feel that reverting is taking a step back, because mandel's branch will have to go back thru reviewing and all.20:00
nessitaalecu: right, and we fix them ASAP. Consider we advise most of our users using nightlies20:01
alecunessita, so, I wonder if it would make more sense to wait till tomorrow and have him take a look at this and fix it.20:01
alecunessita, (I'm guessing he has not seen this yet)20:01
alecuok20:01
nessitaalecu: and yes, I'm hoping to be able to review that whole (new) branch since he has added some stuff I disagree with20:02
nessitaand code duplication, and shebangs to non-executable python modules, etc20:02
alecuok again.20:02
nessitaalecu: I see your point, but I'm scared by the fact that nightlies are broken for every nightlies users, which among those we have several regular and paying users20:03
nessitaI've already emailed ralsina and mandel about this, but they don't seem to be around (or they would have replied I think)20:04
alecunessita, ok. My error comes from my idea that "nightlies" in every other open source project means "will break often", and not "you should use this because stable is too old."20:05
alecunessita, so, I'm approving.20:05
nessitaalecu: yeah, I hope we can do something about nightlies and delivering improvements to older clients. And thanks.20:06
dobeyalecu: eh, if it's the wrong thing to do we can always revert the reversion :)20:06
nessitaand that also20:06
nessitaalecu: the thing that motivates me to revert is that the code is not lost20:06
dobeyok now sso client20:07
dobeyugh20:11
dobeythere is no good way to do this, i think :(20:12
dobeyugh and the dbus api isn't introspecting :(20:15
dobeyso d-feet is totally useless20:15
nessitaalecu: ok, so I have ready the branch that we talked about this morning (grouping ui implementations into a gui module and moving all the constants there for easy access). Is big, but it works, and is ready for review. Will you let me know when you have a slot to look at it?20:21
alecunessita, I'm having lunch (!) so post the url, and I'll review when I finish.20:21
nessitaalecu: long merge description is in place, please read before panicking :-P https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/bind-some-more/+merge/6219120:23
dobeyman i hate git20:24
dobeycgit certainly doesn't help20:25
thisfredOhai, I heard you like distributed versioning control, so I made every action you want to do into two separate commands!20:26
* nessita brbs20:28
alecunessita, I don't understand the lines 213 and 214 in the proposal: https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/bind-some-more/+merge/6219120:30
dobeywhat i really like is distributed distribution20:30
nessitaalecu: ah, that is a "bug fix", in the sense that when setting a status_changed callback, it is expected that the getter return what you've set and not another function20:40
dobeyi wonder if using the long property names will 'just work' with the old keyring20:41
dobeynot sure how to test20:41
nessitaalecu: without that fix, if you set function f to be the status_changed callback, when you query it you get another function (process_and_callback). process_and_callback only makes sense from the backend to below (ie syncdaemon)20:41
alecunessita, ack20:43
nessitaalecu: I noticed that when writing the test, not sure how I didn't notice it before :-/20:44
alecunessita, probably it was not used before.20:45
dobeywhat a mess20:47
alecunessita, why is this line repeated from 2301+? "from ubuntuone.platform.linux.tools import SyncDaemonTool"20:49
nessitaalecu: is inside the calls, so when we import that module ubuntuone.platform.linux.tools does not get imported at module import time20:50
nessitaalecu: otherwise the default twisted is installed before we install our own20:50
alecunessita, oh, ok.20:50
nessitafeo, sí :-(20:50
nessitaalecu: any ideas how to make that less pucking?20:51
alecunessita, a factory function that's used from every test?20:51
alecunessita, that function then imports sdtool, and returns an instance20:52
nessitaalecu: the issue is not the tests, but the live code. But yes, a factory makes sense20:52
dobeyfix whatever is importing/installing the reactor, so that it doesn't do it when you import that module20:52
nessitaalecu: fixing that now20:52
alecuoh, right, it's the actual code.20:52
nessitayeah20:52
nessitabut yes, a factory makes sense20:53
alecunessita, besides that, it looks great.20:53
dobeyyay, finally; brb20:53
alecunessita, +!20:53
alecunessita, +120:53
nessitayey! fixing that last bits before convincing thisfred he will love that branch (?)20:54
thisfredI'm easy to convince. try: convince() except NotConvinced: feed(beer)20:55
nessitalol20:55
thisfrednessita: do I need to review that branch?20:55
alecunessita, oh... the tests are failing20:56
nessitaalecu: they are? I run them several times, but maybe20:56
alecunessita, there's a missing __init__.py in u1/cp/gui20:56
nessitaalecu: ah! my bad, I have it, and you don't :-P20:56
nessitaalecu: you also don't have the ubuntuone/controlpanel/gui/qt/tests/test_controlpanel.py!!!20:57
alecunessita, now I have an empty one, don't need yours!20:57
nessitawhich is where all the magic happens20:57
alecuyes... I need that too!20:58
alecunessita, please let me know when I can pull20:59
nessitayes20:59
* alecu will EOD after reviewing, because he's feeling like crap. Like a gin drinking, gitanes smoking, blues singing, piece of alecu21:00
* thisfred will buy that cd21:00
alecuhahaha21:00
nessitaalecu: pushing.21:01
nessita.21:01
nessita.21:01
nessita.Pushed up to revision 160.21:01
nessitathisfred: feel like doing an epic review?21:01
thisfrednessita: always!21:01
nessitathisfred: sos groso! https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/bind-some-more/+merge/62191 (please read merge description!)21:02
thisfredon it!21:02
dobeywow. glad that dude got here when he did. it just got *dark* outside, and thunder's rolling21:02
alecudobey, what dude?21:03
dobeyalecu: getting an estimate to do some work on part of my yard21:03
alecudobey, building another workshop for your cars?21:04
alecunessita, ************* Module ubuntuone.controlpanel.gui.qt.gui21:05
alecuE1101: 71:main: Module 'twisted.internet.reactor' has no 'stop' member21:05
dobeyalecu: not yet. just trying to have a yard that's not all 3ft tall weesd21:05
nessitaalecu: bu, I'm not getting that. How come?21:05
alecunessita, don't know. Just did ./run-tests21:06
nessitaalecu: fixing it...21:06
nessitaalecu: maybe I need to merge trunk in? let's see21:06
alecunessita, also, there are a lot of DEBUG messages flying by when running -qt21:06
alecuDEBUG:ubuntuone.controlpanel.webclient:getting url: GET, http://localhost:39780/unauthorized21:06
alecuDEBUG:ubuntuone.controlpanel.webclient:got http response 401 for uri 'http://localhost:39780/unauthorized'21:06
dobeywoah21:07
alecuyes, it's only happening for -qt21:07
nessitaalecu: that is... weird21:07
dobeythat lightning was *CLOSE*21:07
nessitaalecu: is your system up to date?21:07
alecunessita, let me check21:07
nessitaI think mine is, though I could use a reboot21:08
nessitaand some tea, actually21:08
dobeyand here's the rain21:08
nessitadobey: say Hi to her21:08
nessitatell her we're missing her in Córdoba, a lot21:09
thisfredalecu: nessita fwiw run-tests and run-tests -qt pass here, BUT I still get a million debug prints21:09
nessitathisfred: is your system up to date?21:09
thisfrednessita: it was this morning21:09
nessitaand also, what the heck is "http://localhost:39780/unauthorized"?21:09
nessitasounds desktopcouch-ish21:10
mandelnessita: ping21:10
thisfrednessita: I don't think we have an /unauthorized url though...21:10
nessitaalecu: do you have21:10
nessita      39 [couch_httpd_oauth]21:10
nessita     40 use_user_db = false21:10
nessitain /etc/couchdb./default.ini?21:10
nessitamandel: you are back! :-) I thought you were gone for the day...21:11
nessitathisfred: what messages do you have?21:11
thisfredhe should be...21:11
mandelnessita: never, I just wanted to apolgize for the crazy approvals we had during the windows sprint21:11
mandelnessita: as I said in the mail, like spaniards say 'visteme despacio que tengo prisa'21:11
nessitamandel: honestly I'm a bit scared :P-)21:11
nessitamandel: but good news! we can fix it21:12
alecumandel, that was napoleon!21:12
thisfrednessita: dist-upgraded. but I don't see a change. pastebinning21:12
alecunessita, I have that set to true.21:12
mandelnessita: yes, we can, there was way to much done and not corretly reviews21:12
mandelalecu: oh, so it was the guy who conquered us… bastards ;)21:12
nessitaalecu: well, you need that in false to have a working couch when using ubuntuone-hackers (private) PPA. Not sue of it's related though21:12
thisfrednessita:  http://paste.ubuntu.com/612439/21:13
nessitamandel: you can rest today, we already reverted the changes, in the hope that tomorrow we can talk about it and come to a clean solution21:13
nessitamandel: is very late for you!21:13
mandelnessita: it might b late ;)21:13
nessitathisfred: is that from running ./run-tests?21:14
mandelnessita: nevertheless I feel resposable, I did not know that the code was a public API, and honestly I really did not consuder the #! comment to be an issue21:14
thisfrednessita: yep21:14
mandelnessita: first news  I had about it21:14
thisfrednessita: this has been happening for a long time though21:14
thisfrednessita: not related to your branch, but I don't know how to stop iy21:14
nessitamandel: is not a big issue, but that makes me worry about the quality of the reviews21:14
nessitathisfred: weird! very21:15
thisfred21:15
nessitamandel: shall we talk tomorrow about how to add what we need for windows re: credentials? I'm sure we'll come up with a clean solution re-using your former branch21:15
thisfredbasically the logging goes to stdout always for me21:15
nessitathisfred: yeah, it happens somethimes for syncdaemon as well21:16
nessitanever find out why21:16
mandelnessita: ok21:16
nessitamandel: rest some, I'll start working before 9am ART21:16
mandelnessita: ok, will do thx, and sorry21:17
nessitamandel: :-)21:17
karniCardinalFang: you had ping timeout on canonicals irc.21:18
nessitamandel: you said you replied to my email or I misunderstood?21:18
mandelnessita: I did reply21:18
nessitamandel: to all?21:20
mandelnessita: as in all emails or to everyone?21:20
nessitamandel: all the recipients in the email. I mean, I did not get any email, but that may be fine21:21
nessitamandel: nevermind, I was looking the wrong folder :-/21:22
nessitamandel: I did got the reply21:22
thisfrednessita: you probably explained this to alejandro, but why the import *? Can't you just do import gui, and then namespace the constants?21:23
mandelnessita: hehehe21:23
thisfredso gui.CONSTANT etch21:23
thisfredetc.21:23
thisfredstar imports considered harmful21:24
nessitathisfred: I could, but from my POV (I'm open to suggestions) the fact of using gui.CONSTANT makes the code less readable. Imagine the tests, they will read gui.gui.CONSTANT. So, I know namespaces are one honking idea, but for this particular use case I find import * more clean and simple (again, is my POV)21:24
nessitathisfred: how I see it, adding gui. does not add any value to the constant name21:25
thisfrednessita: well, my viewpoint is no better than yours, so I will approve, but I would go to almost any length to avoid * imports21:25
nessitathisfred: I agree with you 99%21:25
thisfrednessita: no but you pollute the namespace, which can confuse tools and developers21:26
thisfredespecially if the developers *are* tools :D21:26
nessitathisfred: is not more polluted than before, the constants existed before in the module, they were moved for easy reuse from QT21:26
thisfrednessita: I would personally import them one by one, before doing the * import, even ;)21:27
thisfredbut again, matter of taste21:27
nessitathisfred: that is cleaner, granted. But they are so many... if you insist I'll do it21:28
thisfredI don't21:28
thisfred+1d21:28
nessitathanks!!!21:28
thisfredpracticality beats purity21:28
thisfredand purity beats scissors21:28
nessitalol21:30
dobeysigh21:31
dobeythis will not do21:31
dobeyi guess i have to buy a bigger UPS :(21:31
dobeyoh21:32
dobeywhere did this go?21:32
dobeycp: cannot stat `debian/tmp/debian/tmp/usr/share/applications/ubuntuone-control-panel-gtk.desktop': No such file or directory21:32
dobeysomeone broke the setup.py21:33
nessitadobey: I need to propose a branch for packaging-dailies, for u1cp21:35
nessitanot sure that is related though21:35
dobeynessita: for what?21:37
nessitaa merge proposal worths thousand words21:38
nessita:-D21:38
dobeynot always21:39
dobeyah i see what's wrong21:40
dobeyalecu broke it :)21:40
nessitadobey: what is it?21:40
dobeythe new build command to generate the qt junk isn't chaining up to the parent build command's run()21:43
dobeynessita: doh, and you broke po/POTFILES.in :(21:44
nessitadobey: yes, fixing that now21:44
nessitadobey: I change it without actually doing the bzr move21:44
nessitachanged*21:44
dobeyright21:45
dobeynessita: can you also stick http://pastebin.ubuntu.com/612448/ in your branch?21:45
nessitabien sur!21:46
dobeynessita: i take it the packaging change is to update the -gtk.install for the ui files being moved to a subdir?21:46
nessitadobey: yes sir21:47
nessitaI will update it, that is21:47
dobeyoh and installing the .qt files21:48
dobeydoh; i had updated it earlier when i was trying to fix the nightlies, and then i saw they weren't being installed yet21:48
dobeywhich is probably good since qtreactor isn't packaged21:48
nessitadobey: https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/move-data-gtk/+merge/6220921:58
nessitaanyone else can review ^?21:58
dobeyewww21:59
nessita?21:59
thisfredI can21:59
dobeynessita: how exactly did you modify the .ui files for the difference in image patH?21:59
nessitadobey: by hand22:00
dobeybecause ../ is nasty and evil22:00
nessitadobey: what would you suggest?22:01
nessitadobey: simlinking those png into gtk?22:01
nessitathat can be an option22:01
dobeyno22:01
dobeynot sure what you mean by that, but no22:01
nessitadobey: I mean having the real png under data, and symlinks inside data/gtk to avoid the ../ in the XMLs22:02
dobeythere should be some way to set the image directory on the builder i would think; or we could add a custom theme path and load the icons by name instead22:02
nessitadobey: all that effort for and UI that will die soon?22:03
* nessita googles22:03
dobeywhy should it die?22:03
nessitadobey: I don't want to have that discussion right now, but basics are we will not maintain 2 UIs22:05
cwayneello22:06
nessitadobey: can I promise you a later branch loading all the imaged programatically?22:06
dobeyno, i have given up on promised branches22:07
dobeyhi cwayne22:07
nessitadobey: I never lied, except for me not testing your nautilus branch yet22:07
nessitadobey: I'm leaving soon, what would you like me to do re that branch?22:09
dobeywell, i also don't want to have such discussion right now; and it's time for me to get away from the computer and go do other things22:09
dobeywell i guess i'll just abstain for now. and i think there is a rush to get it in right now22:10
nessitadobey: I do too22:10
nessitadobey: but I kinda need your +122:10
dobeyerr, i don't think there is a rush to get it in right now22:10
dobeysee i am tired22:10
nessitadobey: ok, let's continue tomorrow then22:10
dobeyok22:10
dobeyhave a good evening22:11
nessitayou too22:11
nessitabye all!22:11
* nessita eods22:11
cwaynehiya dobey22:15
cwayneyou wouldn't happen to be an expert on the REST api would ya :)22:15
=== m_conley is now known as m_conley_away
cwayneanyone here that can help me with the api?23:30
fagancwayne: could you come back tomorrow23:57
cwaynefagan: sure23:58
faganaround 9-5UTC since thats when most of the devs are around (im an intern so wouldnt be much help)23:58

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