/srv/irclogs.ubuntu.com/2010/04/07/#ubuntu-desktop.txt

rickspencer3TheMuso, robert_ancell, bryceh, RAOF Eastern Edition?00:02
TheMusoSure.00:02
RAOFYup.00:04
robert_ancellgo00:05
rickspencer3k00:05
rickspencer3should be right quick00:05
rickspencer3how about I touch on the highlights, then you can read the wiki at your leisure?00:05
rickspencer3https://wiki.ubuntu.com/DesktopTeam/Meeting/2010-04-0600:05
rickspencer3so first:00:05
rickspencer31. Welcome Nafai to the team00:06
rickspencer3he started full time last Thursday00:06
rickspencer3he'll be working with didrocks on UNE, and also other coding tasks00:06
rickspencer3for partner update, the thing here is that Gwibber is still giving lots of heart ache00:07
rickspencer3basically, it thread locks when trying to access the key ring00:07
rickspencer3and this pegs the CPU to 100%00:07
* TheMuso saw that bug.00:07
rickspencer3it doesn't look easy to fix without a pretty major refactoring00:07
brycehheya00:07
rickspencer3anyone can feel free to take a look there and see if they can help00:07
rickspencer3hiya bryceh00:07
rickspencer3kubuntu is looking good00:08
rickspencer3so, blueprints00:08
rickspencer3I'd like everyone to have a *list* of blueprints ready to discuss at next team meeting00:08
rickspencer3you don't have to have the blueprint all detailed out, but a list of topics you want to cover at UDS00:09
rickspencer3for ones you are certain about, seb128 says to go ahead and log the blueprint00:09
rickspencer3for ones you are not certain about, add the list to your section for your activity report00:09
TheMusoSounds good.00:09
RAOFYup00:09
rickspencer3if you haven't been through blueprinting before, or don't know what blueprints you want to create, to talk to me me/or pitti and/or seb12800:10
rickspencer3sound good?00:10
brycehyep00:10
rickspencer3for release status, well ... we're getting down to the end00:10
rickspencer3pitti notes all the work is done, but we've got some bugs, some bad ones00:10
brycehRAOF, shall I register the Xorg blueprints or would you prefer to?00:10
rickspencer3and only 9 days left before final freeze00:10
rickspencer3https://wiki.ubuntu.com/DesktopTeam/ReleaseStatus00:10
rickspencer3bryceh could you walk RAOF through the process some time this week?00:11
brycehrickspencer3, certainly00:11
RAOFbryceh: I'd like to learn the blueprinting ropes, yeah.00:11
rickspencer3I think it would be easier for you both if RAOF has logged them, but he'll need some help00:11
rickspencer3also RAOF may want to make one or two of his own00:11
rickspencer3:)00:11
brycehalright, we can tackle it after the meeting00:12
rickspencer3robert_ancell, well well well, you'll be back on the desktop team!00:12
rickspencer3that will be so awesome00:12
robert_ancellrickspencer3, yay!00:12
rickspencer3so think about blueprints that you want to do00:12
rickspencer3I started a list of ones that I am interested in here:00:13
rickspencer3https://wiki.ubuntu.com/DesktopTeam/10.10/BlueprintList00:13
rickspencer3that was the meeting00:13
TheMusoshort and sweet.00:13
rickspencer3bryceh, anything to discuss/report regarding xorg?00:13
rickspencer3TheMuso, same question for sound00:13
TheMusorickspencer3: No, except for the bug we were talking about yesterday, which I will continue looking into today, need to read the latest bits on the bug from overnight.00:14
rickspencer3k00:14
rickspencer3TheMuso, this is only certain Mac models, right?00:15
TheMusorickspencer3: its not mac, its thinkpad.00:15
rickspencer3oh00:15
TheMusosorry ideapad00:15
rickspencer3ah00:15
rickspencer3bummer00:15
brycehrickspencer3, plenty of bugs, but I think we're doing ok00:15
rickspencer3bryceh, plenty of bugs, or plenty of bug reports? ;)00:16
brycehrickspencer3, plenty of bug reports ;-)00:16
brycehthere seem to be no major catastrophes going on, which is nice00:16
RAOFI think the X bugs look a little worse than it is; I think that lots of the Intel reports I looked at yesterday should be fixed in the 2.6.32-19 kernel.00:16
rickspencer3bryceh, any progress on the bug where clutter crashes when programs exit? I saw there was a patch for it, but bug reports seemed to suggest it didn't work everyone00:16
brycehrickspencer3, that's right.  It's looking to be a kernel bug, but I'm still tracking it.  Sarvatt has been identifying patches which may be relevant00:17
* rickspencer3 gets bug #00:17
brycehhttp://www2.bryceharrington.org:8080/X/Reports/ubuntu-x-swat/totals-lucid-workqueue.svg00:17
bryceh^ shows we're getting new bugs coming in at a pretty heavy clip but all the bumpiness in the graphs show that triagers are quite active00:18
rickspencer3http://bugs.launchpad.net/bugs/55021800:18
ubottuLaunchpad bug 550218 in xorg-server "xserver crashes when closing application using clutter" [High,Confirmed]00:18
brycehI managed to get -ati completely caught up for a few moments yesterday :-)00:18
rickspencer3wow00:19
rickspencer3pretty neat00:19
rickspencer3bryceh, I see you only have 2 Highs assigned to you00:19
rickspencer3seems quite a change from previous releases ... great job!00:19
brycehyeah, I need to review that patch sarvatt posted last night, it sounds like it might be a good fix00:20
rickspencer3nice00:20
rickspencer3well ... that's all I want to pester you guys about this morning/afternoon00:20
rickspencer3any other business?00:20
brycehrickspencer3, yeah I tell you this approach of looking only at bugs tagged 'lucid' helps a lot, since I can focus a lot more on the most relevant bugs00:20
rickspencer3bryceh, that's great to hear00:21
rickspencer3sounds a lot saner too00:21
rickspencer3bryceh, I'm hoping you bake some of this learning (and these sweet charts) into launchpad during Maverick00:21
desrtso..... just put the beta on my new computer00:21
brycehoh I've got one other thing...00:21
rickspencer3go ahead00:21
desrt13 seconds from grub to sitting at my desktop with nautilus and panel loaded00:21
brycehI've produced reports of 'upstream-fixed' bugs00:21
desrtvery nice.00:22
rickspencer3hi desrt00:22
desrtrickspencer3: hi :)00:22
brycehoh wait, it's broke00:22
brycehrickspencer3, nevermind00:22
rickspencer3hehe00:22
* bryceh gtg's a todo00:22
desrtbryceh: you're using gtg?  nice.00:22
rickspencer3bryceh, I need an irc interface into your gtg00:23
rickspencer3bryce doesn't just *use* gtg00:23
brycehhehe00:23
rickspencer3he *is* gtg00:23
RAOF:)00:23
brycehnah I just contribute bits and pieces to it when I have free time, which these days is hardly ever ;-)00:24
rickspencer3lol00:24
rickspencer3well, I was a bit referring to how organized you are00:25
rickspencer3but yeah, there's the contributions too ;)00:25
brycehoh, heh, that's true!00:25
rickspencer3desrt, so you're finding the beta ok?00:25
desrti've had *a lot* of issues00:26
desrtalmost all of them X-related00:26
desrtlike X crashes on startup on this new dell PC i got00:27
desrtit has some ultra-new nvidia card in it that's not properly covered by nouveau yet00:27
desrtworks OK with binary drivers00:27
brycehdesrt, RAOF will be interested in looking at the bug reports you file about the -nouveau issues00:27
RAOFHe will indeed.00:28
brycehdesrt, so long as at least one video driver is sufficing to get you up and running, though, that's the important thing00:28
rickspencer3ah, nvidia00:28
RAOFCity of myyystery?00:28
rickspencer3true00:28
desrtbryceh: ya.  i honestly don't care too much about the opensource-purity thing anymore00:28
rickspencer3we've had uses in much worse situations I suppose00:28
desrti lose too much of my tiem and sanity being a freedom warrior when it comes to graphics drivers00:29
brycehwe're sort of viewing nouveau in lucid mainly as a bridge to get the binary driver installed, since -nouveau lacks 3D and other niceties00:29
TheMusoBeing an NVIDIA user myself, it is nice to not have to install NVIDIA drivers any more to use my system at a deacent performance.00:29
rickspencer3desrt, did jockey do the right thing for you then?00:29
desrtno?00:29
rickspencer3(install the binary driver easily)?00:29
* TheMuso doesn't need 3D.00:29
RAOFA better -nv for the moment.  Maverick should include nouveau's 3D too, I think.00:29
desrti didn't even get the chance.  it crashed on startup.00:30
desrtfirst boot00:30
desrtoddly, the installer CD was fine00:30
rickspencer3ewe00:30
TheMusoRAOF: Nice.00:30
desrtso not sure what the difference there is00:30
rickspencer3RAOF might know00:30
desrtmaybe it's because i plugged my second monitor in after that00:30
brycehdesrt, out of curiosity after crash did it boot into failsafe mode?00:30
desrtno.  i don't think so.00:30
desrti had to manually go into recovery mode00:30
RAOFdesrt: Oh.  By “crash” do you mean “plymouth hung at five red dots”?00:30
desrtand install the binary driver00:30
desrtRAOF; yes.  that's distinctly possible00:31
brycehah00:31
desrtthat certainly describes what i was seeing on the screen at the time00:31
brycehyeah that's not a "crash" but rather a "freeze" (or "gpu hang")00:31
RAOFdesrt: Welcome to the wonderful world of bug #53313500:31
desrtglad you know about it00:31
ubottuLaunchpad bug 533135 in plymouth "System fails to boot with plymouth installed (nouveau driver with >1 display)" [Medium,Triaged] https://launchpad.net/bugs/53313500:31
desrtinstalling the nvidia binary driver gives me a really ugly plymouth00:32
desrtto be honest, i'm not sure why you guys bothered00:32
* RAOF quite likes the text-mode plymouth. It's neat!00:32
desrtthe thing boots in the blink of an eye anyway00:32
TheMusoSounds like vga16 wasn't ready in time for lucid...00:32
desrtRAOF: is there a way for me to get the text-mode one?00:32
desrtmy bootup tends to be something like:00:33
desrtfirst 2 seconds: nothing00:33
desrtnext 5 seconds: blinking cursor, sometimes an fsck message00:33
desrtnext 1 second: some flicker or somthing00:33
desrtnext 1 second: i see plymouth00:33
desrtthen: X is loaded, login screen00:34
desrti'd much rather look at 2 seconds of nothing followed by 7 seconds of some pretty text-based thing followed by X :)00:34
RAOFI thought the 5 seconds should have a plymouth screen on them.00:35
* desrt reboots, takes careful notes00:36
RAOFThere's a plymouth-set-theme or something to switch between themes; you could swith to text there.00:36
desrtok.  my numbers are pretty much correct00:52
desrtthe splash is up for ~1sec00:53
rickspencer3desrt, I think that plymouth is actually not working on computers with hard drives (as apposed to SD drivers) atm00:53
rickspencer3that may have been fixed though00:53
desrtSD drivers?00:53
rickspencer3I mean sd drives, sorry00:53
desrtwell, this has an ssd00:54
rickspencer3oh00:54
rickspencer3then it should be working in any case00:54
desrtit's an sata ssd, if that makes a difference00:54
rickspencer3desrt, there is something wrong00:54
desrtmeh.  i don't lose too much sleep over it00:54
rickspencer3like the fsck message should be handled by plymouth and such00:54
desrt5 seconds of looking at a blinking cursor instead of a pretty screen isn't high on my worries list :)00:55
rickspencer3especially since it looks like your boot is like 10 seconds ;)00:55
desrtmore or less00:55
desrtmy girlfriend took a video of the boot and she's uploading it to youtube now00:55
rickspencer3still, some users will be bothered by the boot not being "pretty"00:55
desrtit's taking a while because the file is big, but i'll share the link when it's done00:56
rickspencer3kewl00:56
=== bjf is now known as bjf-afk
desrtRAOF: http://www.youtube.com/watch?v=jX9L1VPjgEA01:17
desrtthat's what i get01:18
RAOFHm.  I think that looks about right, actually.  You could get an earlier splash (at the expense of slightly slower boot) by including the kms drivers in the initramfs (my laptops have this, because it's needed for cryptsetup), but that looks to me like plymouth starts up pretty much once you've left the initramfs, which is as soon as it can be.01:24
desrtso i ask again: why bother?01:25
desrtif the soonest that plymouth can start up is about 1 second before X starts....01:26
RAOFOn stonking fast hardware, yes.  And plymouth isn't just the bootsplash; IIRC it's also useful for user-prompting and it *should* give a nice fsck progress info box thingy.01:28
desrtah01:30
=== bjf is now known as bjf-afk
desrtlet me see about marking my drives for mandatory fscking on next boot01:31
TheMusodesrt: afaik thats not possible any more with upstart...01:51
LaserJockarrrg, what happened to pinned tabs in Chromium?! :(02:32
kenvandinehey rickspencer303:37
rickspencer3hi kenvandine03:38
LaserJockhey, my two favorite guys03:45
LaserJockso ..... any word on gwibber? :-)03:45
kenvandinenot yet...03:45
kenvandinecalled in the big guns... Nafai is going to try to crack it :)03:45
LaserJockis it looking like the fix will have to be deep?03:46
kenvandineit looks like python multiprocessing just doesn't like gobject threads03:46
LaserJockmhm03:46
kenvandineit might require a pretty significant refactoring in gwibber in order to use the keyring03:46
kenvandineunless Nafai can figure out a way to make it work :)03:47
rickspencer3well, yeah, I figured as such03:48
rickspencer3kenvandine, are there tests for Gwibberg?03:48
rickspencer3Gwibber, even?03:48
rickspencer3Gwibberg is another project i am working on03:48
kenvandinehehe03:48
LaserJockhmm03:49
rickspencer3kenvandine, perhaps we could spend one day writing tests03:49
* LaserJock imagines rickspencer3 toiling away in a secret basement lab03:49
rickspencer3then refactor the code starting the next day?03:49
kenvandinerickspencer3, i have a good test case already03:49
rickspencer3kenvandine, test cases for gwibber?03:50
kenvandineno... but for this problem03:50
rickspencer3right03:50
kenvandineoutside of gwibber03:50
kenvandinewe need a test suite though03:50
LaserJockbut you need to make sure you don't introduce regressions03:50
kenvandineone of the things i want to work on :)03:50
rickspencer3right03:50
rickspencer3so what I am suggesting is this03:50
kenvandinewe can't write a test suite in the next couple days :)03:50
rickspencer31. tomorrow is dedicated to writing a test suite03:50
* kenvandine is on vacation tomorrow :)03:50
rickspencer32. next day we start refactoring03:50
rickspencer3ok, then move it up to Thursday03:51
kenvandine:)03:51
rickspencer3we really only need to untangle the key ring part,03:51
rickspencer3so we can focus writing tests in that area03:51
rickspencer3I don't foresee an easy fix03:51
rickspencer3we still have 9 days to move this forward, which should be enough for this problem03:52
kenvandineactually that is the least of my worries :)03:52
rickspencer3what else are you worried about?03:52
kenvandineit is easy to see if the keyring is a problem with the refactor03:52
kenvandineit is all the "operations"03:52
kenvandineryan writes very compact code :)03:52
kenvandineso he has this constructor that creates a number of different types of operations03:53
kenvandineand they get wrapped up and thrown at map_async to run them03:53
rickspencer3hmmm03:53
kenvandinei am just worried about the potential breakage we could hit move that out of map_async03:53
Pupuser402hello,03:54
rickspencer3kenvandine, what is map_async exactly?03:54
Pupuser402I've been having problem sending to the desktop mail list03:54
kenvandinefrom multiprocessing.Pool03:54
Pupuser402I've contacted the owner but nothing changed03:54
Pupuser402any one can help?03:54
kenvandinerickspencer3, it runs a method in a pool of processes and handles calling the defined callbacks for success, failures... timeout, etc03:55
rickspencer3kenvandine, is it ryan's code?03:55
kenvandinerickspencer3, do you own that list?03:55
rickspencer3or part of a library03:55
kenvandinerickspencer3, yes03:55
rickspencer3kenvandine, no03:55
rickspencer3kenvandine, it's ryan's code?03:55
kenvandineall ryan's03:55
kenvandineand it is kind of ugly03:55
rickspencer3an every operation goes through there?03:55
kenvandineyes03:55
kenvandinehowever... it is possible that the nature of this will make the refactoring easy... assuming we understand what it is doing :)03:56
kenvandineeasy as in # of lines to change03:56
kenvandinebut my fear is all the corner cases03:56
rickspencer3kenvandine, is multiprocessing a python library?03:57
kenvandinebesides all that, i am surprised that something so generally useful like python multiprocesssing just can't be made to work with gobject03:57
kenvandineyes03:57
kenvandineit handles dispatching operations into separate processes that share some data03:58
rickspencer3so it all gets channeled through line 339 of dispather.py03:58
kenvandineyes03:58
rickspencer3so we either find the magic "make it work" flag03:59
kenvandinepool.map_async(self.func, self.iterable, callback=self.callback).get(self.timeout)03:59
kenvandinethat runs every operation03:59
rickspencer3or we change map_async.run() to use some other threading mechanism03:59
rickspencer3basically write our own map_async()04:00
kenvandineyeah, gut the MapAsync class and make it run them a new way04:00
rickspencer3jeezum04:01
rickspencer3this is almost exactly like my asynch_task_progressbox class04:02
kenvandinehumm04:02
kenvandinepastebin?04:02
rickspencer3what does iterable do?04:02
kenvandinethat is operations04:02
kenvandinea list of operations04:02
rickspencer3kenvandine, you can look at quickly.widgets.asynch_task_progressbox.py04:02
rickspencer3it just uses python threads04:03
rickspencer3so it04:03
rickspencer3s week04:03
rickspencer3kenvandine, would this work at all with threads?04:04
kenvandinei think so04:04
rickspencer3obviously it would lack the ability to use mutliple processors and such04:05
rickspencer3kenvandine, what does iterable do?04:05
kenvandineit is a list of things to do04:06
kenvandineso in this case it is a nested list i think04:06
rickspencer3I see04:07
rickspencer3like a list of functions to call?04:07
kenvandineno :)04:07
kenvandinethey all call perform_operation04:07
kenvandinebut look at the args to perform_operation04:07
kenvandinethe args to that method is a single item in iterable04:08
rickspencer3so it's useless04:08
kenvandinedef perform_operation((acctid, opname, args, transient)):04:08
kenvandine(acctid, opname, args, transient)04:08
kenvandinethat is a single item in a list04:08
kenvandineso it calls perform_operation a bunch of times in parallel with a different operation for each04:09
kenvandinelike twitter:receive, twitter:replies, twitter:private_messages04:09
kenvandineetc04:09
kenvandineif you post a status update04:09
kenvandineit creates a list of operations that include send for each service you have send_enabled for04:10
kenvandineand calls them all in parallel04:10
kenvandinethis is also why it is so hard for us to know if a single operation fails or not04:10
kenvandinei actually really hate this code04:11
kenvandineif there are problems it is quite hard to really get in and figure it out to debug04:11
kenvandinehowever... i have never actually found a bug in this code path... but have looked there many times04:11
rickspencer3yes, it's hard to read04:14
rickspencer3and it may not be buggy per se04:14
kenvandinerickspencer3, it is a pain though04:15
rickspencer3yes indeed04:16
kenvandinei don't think we should touch perform_operation though04:16
kenvandinebut perhaps the pool stuff that calls it04:16
kenvandinerickspencer3, i am still hoping the awesome Nafai comes through... it is nice to use the library to do it :)04:18
rickspencer3seems that perform_operation could be put on a thread manually04:18
rickspencer3kenvandine, would gwibber break if each operation was done in sequence instead of in parallel?04:19
kenvandineshouldn't04:20
rickspencer3jeezum04:21
rickspencer3MapAsync is itself a thread04:21
rickspencer3which then spawns all these processes04:21
kenvandinei don't know if there is a specific reason he chose it04:22
rickspencer3dude, what if we just set processes to 1?04:22
kenvandinei tried04:23
kenvandinedoesn't work04:23
kenvandinei also tried chunksize 104:23
rickspencer3dang it04:23
rickspencer3no easy answers04:23
kenvandineyeah... tell me about it04:24
rickspencer3wouldn't chunksize kinda be 1 by default?04:24
kenvandinei think so, but that isn't clear04:24
kenvandinelearning a little more about this pool stuff has been intersting04:24
kenvandineit is cool stuff04:24
rickspencer3yeah04:26
rickspencer3but when you write threaded code, it has to be tight and readable :/04:26
RAOFAnd preferably not actually threaded :)04:26
RAOF(I've played with twisted before, and the Deferred stuff is nice)04:27
rickspencer3yeah04:27
rickspencer3kenvandine, calling pool like this seems to be working for now:04:28
rickspencer3pool = multiprocessing.Pool(1)04:28
rickspencer3maybe it's just luck though04:28
rickspencer3yeah, looks like it was just luck, when I told gwibber to refresh it pegged again04:29
kenvandinerickspencer3, it takes 2 or 3 refreshes to see it04:31
rickspencer3yeah04:31
kenvandinewhich i find weird04:31
rickspencer3well, it pretty reliable pegs on the first try for me04:31
kenvandinehttp://pastebin.ubuntu.com/410145/04:32
kenvandinethat is a good script to play with for trying to make the pool stuff work04:33
rickspencer3so ken, you think the best approach is to try to make the call to the keyring work in the existing model04:33
rickspencer3rather than try to refactor the code?04:33
kenvandineyes04:34
kenvandineif it can work...04:34
kenvandinealthough i was ready to give up yesterday :)04:34
rickspencer3you need a day off04:34
kenvandinei do04:35
kenvandine:)04:35
rickspencer3I'll put Nafai on this full time starting tomorrow04:35
kenvandinegreat04:35
rickspencer3RAOF, what are you working on?04:35
RAOFX bugs, and lentil soup.04:35
RAOFParticularly: making it so that lucid will boot on recent macbook pros.04:36
rickspencer3mmm04:36
rickspencer3that sounds important too :)04:36
RAOFA bit of python hacking sounds fun, though.04:37
kenvandineha... this isn't the fun kind :)04:37
rickspencer3RAOF, yeah, so this is a pretty tough nut04:39
RAOFI'm always suspicious of python without unittests :).04:39
rickspencer3basically, if you can make that script that ken pasted in work04:40
rickspencer3without pegging the CPU, obviously04:40
kenvandinei really need to resurrect those tests04:41
kenvandineand create mock stuff for all the services04:42
rickspencer3can gwibber just get all of the passwords it needs and store them in memory04:42
rickspencer3and then replace the call to the king ring to a call to a new function that just reads from a dict?04:43
kenvandinepotentially, i looked at that04:43
kenvandinethen we need to add the credentials to the operation04:43
kenvandineit is nearly as much code to change as refactoring out the pool code04:44
rickspencer3really?04:44
kenvandineand... we would need a way to change that password if the user does04:44
rickspencer3we can't just write a module04:44
kenvandineyeah, cause some services use a secret_key, some password, etc04:44
rickspencer3an replace a call to that module where the call to the key ring occurs?04:45
kenvandineright04:45
kenvandineoh, that doesn't work :/04:45
kenvandinecause it gets called from that thread04:45
kenvandinei did that04:45
RAOFOr just monkey-patch gnomekeyring to take a lock before all the operations?04:45
kenvandinesame thing happens04:45
rickspencer3kenvandine, I mean, write a module that gets all the credentials at startup out of the keyring04:46
kenvandineRAOF, i tried that04:46
rickspencer3and stores those in a hash04:46
kenvandinerickspencer3, oh.. yeah... humm04:46
rickspencer3and then just make that hash globably accessible04:46
kenvandinewe need a way to update it if the password changes04:47
RAOFI'm actually a bit surprised that works at all; libgnome-keyring is pretty aggressively thread-unsafe in my experience.04:47
rickspencer3RAOF, it doesn't work at all04:47
kenvandineRAOF, exactly04:47
kenvandineit threadlocks04:47
rickspencer3hmm04:48
rickspencer3if the password changes04:48
kenvandinealthough, this example works fine04:48
RAOFPerhaps I should rephrase.  “I'm surprised it doesn't assert() out immediately”04:48
rickspencer3kenvandine, is there a way to make the password change other than with the gui?04:48
kenvandinehttp://pastebin.ubuntu.com/408313/04:48
kenvandineno04:48
kenvandineso we could make it call a method04:49
rickspencer3so the gui could update the hash04:49
rickspencer3so we'd add to the startup time the time it takes to read all the passwords from the key ring04:49
rickspencer3but that should be minimal04:49
kenvandineit is fast04:49
rickspencer3and then we just have the passwords hanging around in memory04:50
rickspencer3and I guess put a semiphore around it when anyone tries to read or write it04:50
rickspencer3kenvandine, would it be worth it to send Nafai exploring down this path tomorrow?04:51
kenvandinemaybe, let him try to fix it first04:51
rickspencer3ok04:51
rickspencer3kenvandine, please don't let me catch you online tomorrow!04:52
kenvandine:)04:52
kenvandinei shouldn't be04:52
rickspencer3I think a break will help you be more productive04:52
kenvandinei am going to see tigers with the kids04:52
rickspencer3just, for the love of god, stay away form gwibber04:52
rickspencer3for one day04:52
rickspencer3that should be good04:52
rickspencer3will help your mind reset priorities ;)04:52
rickspencer3kenvandine, but you want Nafai to try making the call to the keyring work in some way04:53
RAOFIt looks like maybe seahorse triggers a similar bug?04:53
rickspencer3some magic flag04:53
kenvandineRAOF, oh?04:53
rickspencer3and if that doesn't work, we'll work around it04:53
kenvandinerickspencer3, right04:53
kenvandinei think the pool stuff is generally useful, and it would be sad if we can't limit the amount of context it shares04:54
RAOFOpen up a keyring, and inspect any of the keys contained therein.  Seahorse will consume 100% of a core until you stop looking at that key.04:54
rickspencer3kenvandine, if the keyring is not threadsafe, it's not threadsafe04:55
kenvandineyeah04:55
rickspencer3that fundamental problem is out of scope for Lucid of course04:55
kenvandineRAOF, wow... your right04:55
rickspencer3it's kinda nutty really04:55
rickspencer3hmm04:55
rickspencer3so there are probably a ton of little bugs like this scattered around the desktop04:56
rickspencer3gotta run04:58
rickspencer3kenvandine, http://imgur.com/W8nt805:00
rickspencer3:)05:00
rickspencer3bye bye05:00
kenvandinehit and run from rick05:00
kenvandine:)05:00
TheMusocrimsun: the ideapad U150 and U350 use the same SSID, hense whyusers have a working headphone jack switch.06:26
pittiGood morning07:00
RAOFGood morning pitti07:01
pittirickspencer3: turn off autosync> we don't start gwibber by default, so I don't think it's a beta-2 issue07:01
pittihey RAOF, how are you today?07:02
kenvandinepitti, if you have accounts configured, we do07:02
kenvandineand good morning :)07:02
pittihello kenvandine07:02
pittikenvandine: yes, but you don't have accounts in a fresh install07:02
kenvandineyup07:02
pittiand for upgrades we can just as well fix it right after beta-2 release07:02
kenvandineand one way or another we will have a fix for it ready right after beta-2 :)_07:02
pitti'zactly07:03
crimsunTheMuso: yes, hence why I suggested looking at codec SSID (not PCI SSID) -- with the caveat that I don't know the codec SSID for the original hw that merged the ideapad model & quirk07:05
RAOFpitti: I'm good.  Went to see Micmacs last night, which was fun, and I'm very nearly in sync with non-daylight-savings now :)07:06
pittiMicmacs?07:06
pittia movie?07:06
pittimicro machines?07:06
RAOFA movie :)07:06
RAOFhttp://www.imdb.com/title/tt1149361/07:06
TheMusocrimsun: oh right, gotcha now.07:06
RAOFAlthough micro machines could also be cool!07:08
TheMusocrimsun: Ah I still have an alsa-info dump from having access to the U350 back in Feb, so have the Codec subsystem ID. I guess that helps some.07:09
didrocksgood morning08:13
seb128hello there08:28
* pitti waves to the French mafia08:28
didrockshey seb128, pitti08:31
seb128lut didrocks, pitti08:31
didrocksseb128: no, it wasn't so late, it was just late for en "early evening" :)08:31
didrocksthat said, how are you guys?08:31
pittiI'm great, thanks!08:32
pittiyou too?08:32
seb128I'm great too08:32
didrocksyeah, my legs are better. I can almost walk normally but won't run :)08:32
seb128lol08:32
seb128see, sport is good for you08:33
seb128you wouldn't have all those troubles after some exercice if you were doing regular sport :p08:33
didrocksseb128: oh, I'm sure it is. It's just more than 15 hours of steps in 2 days isn't for me :)08:33
robert_ancellseb128, hey, am I able to take git patches for gcalctool and apply them to the Lucid version? (i.e. is that considered a stable update exempt from a freeze break?)08:52
seb128hey robert_ancell, yes08:53
seb128robert_ancell, I was just thinking about you08:54
seb128I didn't notice you were still online08:54
seb128robert_ancell, not sure what was the logic behind dropping base conversion from gcalctool but that was not a nice move for users08:54
seb128I keep getting complain about it08:54
seb128it's annoying me too :p08:54
seb128I've to find an another calculator to use now08:55
didrocksseb128: how come you use base conversion?08:55
* seb128 slaps didrocks08:55
didrocksouch :)08:55
robert_ancellseb128, yeah, I'm not going to hear the end of this one...  we can, revert to the older gcalctool for Lucid, you can use the PPA I made for Karmic, you can install the package manually from Karmic, or use another calculator (recommended qalculate, speedcrunch, galculator)08:56
seb128robert_ancell, I think we will not change anything now08:56
robert_ancellthe good news is I spent easter doing the work I wanted to do this cycle and gcalctool master is now awesome08:56
seb128it's just a shame to rewrite an useful tool to make it useless08:56
seb128ok, there is some trolling there ;-)08:56
robert_ancellit's one feature...08:57
seb128but that's one of the things I use in a scientific calculator08:57
seb128and gcalctool used to work great08:57
robert_ancellthe old version still exists08:57
seb128well, one feature that lot of scientific people need08:57
robert_ancellprogrammers08:57
seb128right, programmers on computers, electronic, students08:58
robert_ancellI would argue scientific people would more like the new features like polynomials08:58
=== almaisan-away is now known as al-maisan
seb128let's be honest, people will judge on what is installed by default and laugh to us if we told them to get the old version from a ppa08:59
seb128anyway just being curious but what was the rational behind dropping those options from gcalctool?08:59
seb128so I know what to reply to hate emails I get08:59
seb128we should also probably change the package maintainer info09:00
seb128so you do get those users emails :p09:00
robert_ancellsure, it's a shit release in a lot of respects.  Not sure what I should have done in hindsight, as i didn't get enough time to finish the features.  Perhaps we should have stuck with the older one from a distros perspective.09:00
seb128yeah, we had an UDS session about things we wanted to stay away from this cycle09:00
seb128ie rewrites etc09:00
seb128gcalctool should maybe have been on the list09:01
robert_ancellthere were big internal changes that meant the old methods didn't work.  The changes will make the next version awesome, I didn't get time to reimplement the base functionality as I wanted09:01
robert_ancellsure09:01
seb128though it's only a calculator, not end of the world09:01
seb128anyway09:01
robert_ancellwell, I'd support rolling it back if people thought that was appropriate09:01
seb128not sure if you saw my reply before but backporting git changes if those are bug fixes is fine09:01
seb128I keep doing that09:01
seb128since our schedule will be tight and we will not get GNOME 2.30.1 I think this cycle09:02
seb128or in SRU updates after lucid09:02
robert_ancellok, I have to go, one more question.  I want to release simple-scan 1.0 (a few minor bugfixes).  Should I do that now or wait until after B2 (I've been looking out for serious bugs, there don't seem to be any in the last release)09:02
seb128as you want09:02
seb128it will be queue until after beta209:02
seb128so upload at any time between now and freeze next week09:02
robert_ancellseb128, ok, will wait until after B2 in case someone notices something09:02
seb128seems good09:03
seb128rolling back gcalctool, I don't know09:03
seb128I don't think it's required, but I don't use it a lot09:03
seb128I started it a week ago or so to do an hex to dec conversion09:03
robert_ancellI think it would be a good idea as this is a LTS.09:03
robert_ancellmy 2c09:03
seb128which failed because I didn't find how to do it with the new version09:03
seb128rolling back?09:03
robert_ancellyes09:03
seb128ok, I will discuss it with other people and let you know09:04
seb128enjoy your evening!09:04
seb128pitti, ^09:04
robert_ancellthere are enough people complaining (they often miss other major problems in the past, it's only this feature they've noticed!!)09:04
robert_ancellbye09:04
pittiseb128: rolling back gcalctool? no strong opinion either way, it's a "leaf" package and thus rolling it back doesn't break anything else09:05
seb128pitti, ok09:05
pittithe karmic one was fine09:05
seb128robert_ancell as an upstream seems to be in favor of rolling back09:06
pittiand yes, I'm missing dec<->hex<->oct conversion, too, but by now I got used to just using python for that09:06
seb128I will play with both today09:06
cassidyseb128, https://bugs.edge.launchpad.net/ubuntu/+source/empathy/+bug/556977 has been linked on a bug report but I don't have rights to see it. Can you make it public please?09:12
ubottuError: Could not parse data returned by Launchpad: list index out of range (https://launchpad.net/bugs/556977)09:12
seb128I don't have right to see it either09:12
seb128is that a crash which has not been retraced yet?09:12
cassidymaybe, it's a crash according the upstream report09:14
seb128*shrug*09:42
seb128i386 retracing backlog is 630 bugs now09:42
* pitti wishes LP would be a bit more stable these days09:42
seb128cassidy, it might take a while before getting this one retraced09:42
cassidyseb128, that's a fine, I think I got the reason of the crash09:43
seb128cool09:43
seb128pitti, we should probably turn apport off by default now if we didn't yet09:45
pittiseb128: hm, we usually do after RC, but we can also do it earlier09:45
seb128well I'm just not sure how useful it is09:46
seb128we have a backlog of over 800 crashes not retraced09:46
seb128new one will probably show up after lucid as "can't be retraced due to outdated versions" now09:46
mvodpm: I need to update some string in update-manager to fix 10.04 -> 10.04 LTS09:54
mvodpm: now I wanted to just to that manually (update, unfuzzy)09:54
mvodpm: but for some odd reason I get additional fuzzy strings from a fresh launchpad export09:55
mvodpm: when running intltool-update -g update-manager -p and intltool-update -d -g update-manager09:55
mvodpm: any hints? is there a know issue here?09:55
dpmhi mvo, sorry, I got disconnected. The last thing I got was: "dpm: when running intltool-update -g update-manager -p and intltool-update -d -g update-manager"10:03
dpmmvo, what's the branch you are testing? And what's the link to the LP export? I can try myself I can see what could be wrong10:04
dpm_if I can see_, I meant10:05
mvodpm: cool, thanks. I use "lp:update-manager" and the export from the lucid source package10:05
mvodpm: https://translations.edge.launchpad.net/ubuntu/lucid/+source/update-manager10:06
dpmmvo, yeah, but when you requested the export of the translations, you got a link to the tarball. Could you give me the link, so that I can use that and don't have to request a new export?10:08
mvodpm: sure http://launchpadlibrarian.net/43330966/launchpad-export.tar.gz10:09
dpmmvo, cool, thanks. Let me see if I can see anything unusual10:09
mvodpm: german may be a good example language, it should be 100%10:12
chrisccoulsonhello everyone10:18
seb128hey chris10:18
seb128hey chrisccoulson10:18
chrisccoulsonhey seb128, how are you?10:19
seb128good! you?10:19
chrisccoulsonyeah, not bad thanks10:20
dpmmvo, I've done the following: used lp:update-manager, downloading the translations tarball from the link you gave me, put the update-manager-de.po file (after renaming it to de.po) in the po folder, run 'intltool-update -g update-manager' and then 'intltool-update de'. I can only see 3 fuzzies, which are the ones in which you changed LTS -> http://pastebin.ubuntu.com/410485/10:28
dpmwhich other fuzzies do you get?10:29
seb128oh, robert_ancell is back10:29
seb128robert_ancell, quick one for you too10:29
robert_ancellseb128, hey10:29
seb128robert_ancell, did you see the bug about gnome-games lpi being broken?10:29
robert_ancellseb128, no10:30
seb128robert_ancell, the changes need to be updated to reflect the binaries split you did10:30
robert_ancellseb128, oh, right.  I can fix that10:30
seb128cool, thanks10:31
robert_ancellbug #?10:31
seb128I was not sure if you were reading the gnome-games bug emails or not10:31
robert_ancellseb128, I get so many email I miss a lot10:31
robert_ancellseb128, pitti, am planning to look at bug 532531 tommorrow.  Been busy with oem stuff, but feel free to have a look if you guys have spare time (which I'm assuming you don't)10:32
ubottuLaunchpad bug 532531 in gdm "No way to come back if fast user switcher is activated accidentally" [High,Confirmed] https://launchpad.net/bugs/53253110:32
seb128robert_ancell, not sure about the number now, it's on the most recent bugs in the buglist10:32
seb128robert_ancell, ok good10:32
robert_ancellseb128, pitti, I see you're both fine with a gcalctool rollback - what version number do I give it to make it work in Lucid?10:33
seb128I don't like epochs10:33
seb128I would say current.lucid.is.real.version10:33
seb128ie 2.29.is.2.2810:34
seb128or whatever the versions are10:34
robert_ancell(I think on the balance it is worth rolling back as the new version will annoy some users+help others whereas keeping the old one will be a neutral change)10:34
seb128I think we didn't get too many complain about gcalctool in karmic10:35
seb128so let's stay on this version for lucid10:35
seb128and rock with the new code for next cycle10:35
robert_ancellseb128, yeah, I figured it would be like that but I wasn't sure of a good version number10:35
seb128the new.is.old is what we used for similar cases recently10:35
seb128not really nice but the other option is an epoch, ie 1:2.2810:36
robert_ancellseb128, yeah I hope there aren't too many bugs in the karmic one as the codebase is very brittle.  I finally got GObjects all through the new one - much nicer!10:36
seb128which is nicer but means we can't sync on Debian again later10:36
robert_ancellepochs are only useful for permanent changes though - we will be in sync for Lucid+110:36
seb128right10:37
robert_ancellok, will upload it now10:37
seb128thanks10:37
mvodpm: thanks, I try it again, maybe before I did something (unreleated) wrong10:37
* seb128 grrrs at pitti and bzr10:37
seb128nautilus bzr changed format and bzr pull doesn't work10:38
robert_ancellseb128, how is lucid going for you at the moment?10:38
seb128robert_ancell, quite good, I think it will be a solid version10:38
seb128I'm a bit concerned about the number of crash bugs we received recently10:38
seb128but it might just be because the retracers were broken and are catching up10:38
seb128so lot of crashers show up now10:38
seb128there is still quite some bug fixing to do though10:39
seb128robert_ancell, what do you think about it?10:39
robert_ancellseb128, I get some weird behaviour with some subsystem not working that stops the sound and power operations from working.  Can't work out what it is, but guessing it's not widespread.  I have some strange packages on my system though10:39
seb128robert_ancell, when do you finish oem officially btw?10:39
robert_ancellseb128, I think it's at UDS?10:39
seb128k10:39
seb128what I though but I was not sure10:39
pittiseb128: bzr upgrade?10:39
robert_ancellI need to check too10:40
seb128pitti, dunno, it said something about doing that for me but failed at it10:40
seb128I rm -r ubuntu and bzr get it again now10:40
pittistrange10:40
seb128those format changes are so annoying10:40
seb128it's ridiculous10:40
seb128"This may take some time. Upgrade the repositories to the same format for better performance.10:40
seb128bzr: ERROR: KnitPackRepository('file:///home/seb128/boulot/package/nautilus/ubuntu/.bzr/repository/')10:40
seb128is not compatible with"10:40
seb128pitti, ^ that's the error I got10:41
seb128"Doing on-the-fly conversion from RemoteRepositoryFormat(_network_name='Bazaar repository format 2a (needs bzr 1.16 or later)\n') to RepositoryFormatKnitPack1()."10:41
robert_ancellseb128, yeah they annoy me too!10:41
didrocksyeah, I don't get as well why it's upgrading and downgrading all the time for me as well :/10:41
didrockshey robert_ancell :)10:41
robert_ancelldidrocks, hey!10:41
dpmmvo, ok, just let me know if I can help in any way10:42
robert_ancellseb128, does it not upgrade from the LP page?10:42
seb128robert_ancell, I did rm the dir and got a new checkout10:42
seb128it's working now10:42
seb128seems pitti did change the format in some way when he touched it10:43
mvodpm: many thanks, I re-run the full update, unfuzzy again and see how it goes10:43
seb128and bzr pull didn't manage to deal with it10:43
seb128a new checkout is working though10:43
seb128go wonder10:43
dpmok10:43
mvodpm: there is no risk here, right? 9.10 -> 10.04 LTS should not be a problem in any langauge?10:43
robert_ancellseb128, and bzr upgrade didn't work from your system?10:43
seb128it's usually faster to checkout again than to try to understand the issue10:43
mvodpm: that the string does no longer make sense?10:43
mvodpm: because there is a different prefix used for 9 than 10 or something?10:43
seb128robert_ancell, bzr pull did "upgrading" and failed at it with a "ERROR: KnitPackRepository is not compatible with"10:44
robert_ancellseb128, as I understand it you need to  upgrade at the server and the local copy.  You upgrade the server side from LP and the client side by runing "bzr upgrade"10:44
seb128next time I will try to run bzr upgrade manually10:44
seb128bzr pull is supposed to do that for you which failed there10:45
seb128but maybe bzr upgrade does something different and would have worked10:45
seb128anyway issue solved with a new checkout10:45
robert_ancellI think bzr pull just tries to translate the formats on the fly (and doesn't always work perfectly), bzr upgrade does the change permanently10:45
dpmmvo, I can only think of people using different numbering systems, but I'd think translators tend to stick to the same translation as in English. Thus I'm not sure if it should be translatable. Perhaps it could be a variable in a next version of update-manager? I can ask translators to see if they translate the version string and see what they think10:46
pittiseb128: oh, you didn't run bzr upgrade?10:46
seb128pitti, no, bzr pull said "upgradign"10:46
pittiseb128: bzr pull does not upgrade automatically; it claims to do in-place conversion, but that often fails10:47
seb128which I though was "doing bzr upgrade for you"10:47
mvodpm: good point, I will make it a var in the next release10:47
pittiit converts the individual commits to the other format10:47
seb128I see10:47
seb128good to know for next time10:47
dpmok10:47
dpmmvo, another quick thing. While you are at it, perhaps you can manually correct this in de.po-> http://pastebin.ubuntu.com/410488/ It just needs the \r\n removed (the \r makes msgmerge complain)10:49
mvodpm: sure, thanks10:51
mvodpm: done10:53
dpmcool, thanks mvo!10:53
chrisccoulsonhey pitti10:53
pittihey chrisccoulson10:53
chrisccoulsonwould you mind doing another archive removal for me if you get the chance?10:53
chrisccoulson(bug 553686)10:53
ubottuLaunchpad bug 553686 in kazehakase "Please remove kazehakase source and binaries from Lucid" [Wishlist,Triaged] https://launchpad.net/bugs/55368610:53
pittididrocks: hm, I just installed current UNE; I don't see plymouth during boot10:53
didrockspitti: oh? let me try with today's image. I got it in my upgraded box10:54
pittiI have plymouth{,-x11,-theme-ubuntu-log,-theme-ubuntu-tex} installed10:54
pittichrisccoulson: sure10:55
chrisccoulsonpitti - thanks10:55
chrisccoulsonpitti - we're turning off the "Report a bug" menu option in lpi aren't we?10:57
pittichrisccoulson: right10:57
chrisccoulsoni think we need to patch ubufox separately10:57
pittididrocks: oh, got it -- /var/crash/_sbin_plymouthd.0.crash :)10:59
* pitti -> more CD testing10:59
didrocksoupsss, it's on the mini ?10:59
huatsmorning everyone11:00
pittididrocks: yes11:02
pittididrocks: and synaptics crept back into the "system tools" menu11:02
pittiseb128, mvo: ^ was that changed recently? or gnome-menus bug?11:02
robert_ancelllater all!11:03
seb128bye robert_ancell11:03
pittibye robert_ancell11:03
huatsgn robert_ancell11:03
seb128pitti, I would say changed recently11:03
seb128but I don't know11:04
didrockspitti: same on the desktop, just noticed it11:04
seb128it would be weird as a gnome-menus bug11:04
robert_ancellhuats, later (you should probably take gcalctool off me - I keep breaking things :) )11:04
pittiCategories=PackageManager;GTK;System;Settings;11:07
pitti^ synaptic11:07
pittithat's pretty much what computer-janitor has as well11:08
seb128weird11:09
seb128it's the same in the cache?11:09
pittiseb128: yes11:09
seb128k, so I don't know11:09
seb128it's showing in system, admin there11:09
seb128I didn't update for some days though11:09
seb128but the category in the same11:09
didrocksnothing in changelog related to that…11:10
pittiseb128: what is the magic for this, actually?11:11
seb128pitti, for what?11:11
pitti/etc/xdg/menus/applications.menu says "<Category>System</Category> and not <Category>Settings</Category>11:11
pittii. e. it's not supposed to show this?11:11
seb128right, it's supposed to be in system, admin11:12
seb128it's correctly there with the same Categories on my box11:12
seb128do you get the same bug without the cache?11:12
seb128just to make sure it's not a cache thing11:12
pittiseb128: I'm just trying that :)11:12
seb128or in gmenu-simple-editor11:12
pittiworks without cache11:13
didrocks<Category>Utility</Category> contains <Not><Category>System</Category></Not> which is normal as well :)11:13
seb128what is the synaptic entry in the cache?11:13
didrocksok, side effect of the cache, how do you unactivate it pitti for testing? (just curious)11:13
seb128can you pastebin it?11:13
pittiand rebuilding the cache/restart panel, it comes back11:14
seb128didrocks, delete the cache?11:14
didrocksseb128: oh yes, it's true the cache isn't build at first loading11:14
seb128didrocks, it's a trigger11:14
seb128pitti, can  you pastebin your cache for this entry?11:15
pittihttp://paste.ubuntu.com/410499/11:15
seb128seems about right11:15
seb128it's not listed twice?11:16
pittiseb128: ooh!11:16
pitti[synaptic-kde]11:16
seb128ah11:16
pittiseb128: I think your recent change to add the "Hidden" entries to the cache also added the OnlyShowIn11:17
seb128I did a typo11:17
seb128it's fixed in unapproved11:17
pittiah, great11:17
seb128I added ShowOnlyIn11:17
seb128instead of OnlyShowIn11:17
seb128which explains why it works there11:17
seb128I've the fixed version11:17
didrocks(I confirm, it's the synaptic-kde which is launched there)11:17
* pitti hugs seb128 for retroactive bug fixing11:17
* seb128 hugs pitti & didrocks11:18
* didrocks hugs seb128 & pitti11:18
pittididrocks: btw, there are plenty of bug reports for that plymouth crash already11:18
didrockspitti: ok, I'm still syncing the iso. I'll have a look if you think it's only UNE related11:19
pittididrocks: no, I don't think so; but 553745 has plenty of dupes11:20
pittibug 55374511:20
ubottuLaunchpad bug 553745 in plymouth "plymouthd crashed with SIGSEGV in ply_event_loop_process_pending_events()" [High,Confirmed] https://launchpad.net/bugs/55374511:20
didrockspitti: ok, in keybuck's hands so :)11:20
didrocksseb128: I have OnlyShowIn=KDE; in synaptic-kde.desktop11:21
seb128didrocks, right, cf backlog11:21
seb128didrocks, the cache didn't list the OnlyShowIn due to a typo11:22
seb128it's fixed in the queue but didn't get accepted yet11:22
didrocksseb128: I don't have the typo version "ShowOnlyIn" but "OnlyShowIn" which is the right version, no? Or understand the contrary? (and I have the bug)11:23
seb128didrocks, the typo is in the cache builder11:23
seb128didrocks, the cache doesn't have the "OnlyShowIn"11:23
seb128I listed "ShowOnlyIn" in the known keys to cache11:23
seb128instead of "OnlyShowIn"11:23
didrocksseb128: oh ok, I thought you was talking about the synaptic-kde.desktop file containing the typo. understood :)11:23
seb128so the cache just doesn't list any "OnlyShowIn"11:24
didrockswere*11:24
pittiok, so my three grievances with CD testing are all bug-ified11:24
didrockssure, I misunderstood where the typo was, hence my question :)11:24
seb128it's all good!11:24
mvoseb128: aha, all good while I was at lunch?12:02
seb128yes12:03
mvocool12:05
baptistemmheh, launchpad under maintenance again12:05
seb128james_w, hey12:12
seb128baptistemm, no it's not?12:12
james_whey seb12812:12
seb128james_w, did you see the update on the pitivi fix you sponsored?12:12
seb128there is a new comment and commit12:12
james_wyeah12:12
james_wI rejected it from UNAPPROVED12:13
james_wI'll upload the fixed version today12:13
baptistemmseb128, hmmm, I had a message when I logged in, perhaps some caching issue12:13
seb128james_w, ok good, thanks12:13
james_wsorry for not commenting, but I was just leaving12:14
baptistemmjames_w, ah, I have also a fix; mine is for bluez :)12:14
james_wbaptistemm: I saw12:15
james_wI'll get to it after lunch12:16
baptistemmno problemo, thanks a lot12:16
seb128james_w, that's ok, I just noticed because they were discussing the bug on #pitivi12:17
james_wah12:17
james_wah they happy with the fix in that patch?12:17
james_wthe documentation states you shouldn't use the function12:18
seb128james_w, they are unsure about it, they are looking for people to test if that fixes the issue or not12:19
=== MacSlow is now known as MacSlow|lunch
chrisccoulsonpitti - is there a spec for disabling the "report a bug" menu items?12:48
pittichrisccoulson: https://blueprints.launchpad.net/ubuntu/+spec/desktop-lucid-bug-management12:48
chrisccoulsonpitti - thanks12:48
mvodpm: I unfuzzied now all the language that looked safe, I guess I still need to send a mail to the translators list as e.g. fi.po I did not dare to touch12:54
dpmmvo, cool, thanks! Were there many languages which were not safe to unfuzzy?12:58
mvodpm: very few12:58
mvodpm: but some had postfixes like 10.04:en and I didn't feel like I can mug around with those (too dangerous)12:59
* dpm nods12:59
edsiperseb128, ping13:15
seb128edsiper, pong13:18
seb128(but on phone)13:18
seb128edsiper, I'm back13:22
edsiperseb128, it was me (Eduardo Silva), i pinged you as i heard the girl in the line so i didn't knew if you were listening...13:26
edsiper:)13:26
seb128oh ok13:26
seb128I didn't hear the girl there, the line just went silent13:26
seb128I guess they had some routing issue or something13:27
=== MacSlow|lunch is now known as MacSlow
edsiperseb128, yeah, well it was fun, i thought that was another interviewer...13:27
seb128pitti, http://cgit.freedesktop.org/media-player-info/commit/?id=8f2caea0c49e1b92f493230d717987aa7bf9109613:47
seb128pitti, might be worth getting in lucid, it could fix those bugs we get about sansa devices13:47
seb128pitti, not sure if that would fix the "don't get mounted" though13:47
pittiseb128: I still have those in my mailbox, will look at them in the next days13:48
seb128pitti, ok13:48
pittiI'm off for some 1.5 hours for an appointment13:48
seb128pitti, see you13:48
didrockssee you pitti13:52
hearthrobhello all14:02
hearthrobnautilus fails with a segmentation fault when i try to use it as my user, but works with sudo14:07
hearthrobanyone have any ideas?14:08
jpdshearthrob: Sounds like a corrupt configuration file for your user.14:08
jpdshearthrob: Try: strace -e open -f nautilus14:08
seb128didrocks, btw no need to look at the seahorse crashers, I found what the issue is14:59
didrocksseb128: yeah, I saw that in a comment from the bug report, sweet :)14:59
rickspencer3seb128, pitti, Nafai, can we talk about gwibber in the next hour or so?15:01
rickspencer3I dug into it quite a bit last night, I think we'll have to write some code to work around the issue15:01
hearthrobthanks jpds15:03
hearthrobit was trying to read a big file i guess... solved by deleting the file :)15:03
james_wseb128: pitivi is back in the queue, let me know if you want me to pull it again15:06
seb128rickspencer3, hey, ok15:09
seb128james_w, ok, thanks15:09
rickspencer3ccheney, ping15:16
=== bjf-afk is now known as bjf
rickspencer3pitti, ?15:22
seb128rickspencer3, he had to run for an appointment, he said he would be away 1.5 hours15:23
rickspencer3ok15:23
seb128rickspencer3, that was around 1.5 hours ago though so he should be back soon I guess15:23
rickspencer3I think Nafai is not online yet15:23
rickspencer3so maybe we can meet in this channel when everyone is back15:24
seb128seems good15:24
rickspencer3seb128, I see a way forward for gwibber, but there will be some work involved15:24
seb128I'm around for the new 2 hours15:24
rickspencer3I think Nafai can do it15:24
rickspencer3seb128, sounds good15:24
seb128next15:24
seb128I guess pitti will be back before that and Nafai will be up too15:24
rickspencer3btw, kenvandine is on vacation today15:24
seb128ok15:24
rickspencer3I told him *not* to get online ;)15:25
seb128did you find what is wrong in gwibber?15:25
rickspencer3yes, it's pretty obvious that the gnome key ring is not thread safe15:25
seb128is that the multiprocessing sharing context issue chrisccoulson and others were mentioning yesterday?15:25
rickspencer3anyone who calls it from a thread has issues15:25
seb128right15:25
SEJeffIf pitivi gets effects like this: http://socghop.appspot.com/gsoc/student_proposal/show/google/gsoc2010/thibaultsaunier/t127060149183 would it be possible to have it as an update in Lucid?15:25
seb128it's not only gnome-keyring15:25
seb128seems using libdbus is an issue too15:25
rickspencer3so, why, specifically that happens to the key ring, I don't know15:25
rickspencer3could be15:26
SEJeffSince that will be such a common user request, it seems to make sense if pitivi upstream agrees15:26
rickspencer3so I know where in the code the problem is15:26
rickspencer3and I know the pieces that don't work15:26
rickspencer3but the keyring is a blackbox to me15:26
rickspencer3and I see how other people solved the problem, and we can take a similar approach15:26
seb128ok15:26
seb128maybe wait for pitti and Nafai for details15:26
rickspencer3yeah15:26
seb128so you don't have to explain twice15:26
rickspencer3that was just my long winded answer to "do you know what the problem is?" ;)15:27
seb128hehe15:27
SEJeffrickspencer3, Try sshing to > 50 boxes at once and watch the agent completely tank. Could it be due to seahorse storing the info in the keyring?15:27
seb128SEJeff, seahorse has nothing to do with ssh15:27
pittirickspencer3: hello15:28
rickspencer3hiya pitti15:28
SEJeffseb128, Well the ssh-agent functionality of it was pulled into gnome-keyring since the previous 2 gnome releases15:28
rickspencer3welcome back15:28
SEJeffAnd it is horribly busted15:28
pittithanks15:28
rickspencer3SEJeff, yes, I suspect that seahorse is quite impacted15:28
seb128SEJeff, if you say so, I never got an issue with it15:28
pittirickspencer3: took a little longer, still played around with bug 55625315:28
ubottuLaunchpad bug 556253 in xorg-server "[2.6.32-19 regression] Does not check lid status any more, external screen powered off" [Undecided,Confirmed] https://launchpad.net/bugs/55625315:28
rickspencer3I also hear that there are other issues with seahorse and CPU pegging15:29
seb128but I know there is some open bugs from people ssh lot of boxes at the same time15:29
seb128rickspencer3, this ssh DoS issue is there since jaunty or so15:29
rickspencer3RAOF mentioned a bug to me last night about just viewing keys in seahorse pegs a CPU15:29
seb128ie nothing to do with the rewrite this cycle15:29
SEJeffseb128, It is easy to reproduce. Download onall from here: https://code.ticketmaster.com/trac/browser/onall/trunk/onall15:30
SEJeffthen just do onall -f hostlist.txt "uptime" with a list of hosts around 50 or more15:30
seb128SEJeff, ok, so maybe somebody who has the issue could upstream it where people writting the code would read about it15:30
seb128SEJeff, we have no gnome-keyring hacker around15:30
SEJeffAfter doing that a few times, it will kill the agent. ssh-agent from ssh works fine15:30
SEJefffair enough15:30
seb128SEJeff, I understand the concern but discuss it there will not really bring you anywhere closer to get that one worked15:31
pittirickspencer3: is that really keyring itself, or dbus-glib?15:31
SEJeffseb128, and I understand. I've got one of those bugs open in fact and will upstream it later today15:31
* pitti made really bad experiences with using python-dbus in threaded programs15:31
kklimonda.b 915:31
pittiI discussed that with upstream even, and eventually gave up15:31
rickspencer3pitti, I don't know15:32
rickspencer3pitti, seb128 can we focus on gwibber for a moment15:32
ccheneyrickspencer3: hi15:32
rickspencer3I have a few lines of discussion I can paste in15:32
rickspencer3The situation:15:32
rickspencer3 * gwibber uses mutliprocessing.pool in a deeply integrated way15:32
rickspencer3 * calling gnome keyring from threads causes threadlocks15:32
rickspencer3 * this effects other apps as well (seahorse, couch, etc...)15:32
rickspencer3Possible solutions:15:32
rickspencer3 * Store passwords in plain text in desktopcouch15:32
rickspencer3 * Refactor gwibber so it doesn't use threads15:32
rickspencer3 * Roll back the keyring package to a version that does not exhibit the bug15:32
rickspencer3 * Try to tweak the existing code, looking for a magic formula to make calling the keyring from a thread not thread lock15:32
rickspencer3 * Write a new module for gwibber that loads all of the passwords from the keyrings into memory at startup, outside a thread. Call this module from the threads. Figure out how to update these passwords in memory if the user changes passwords in the GUI.15:32
rickspencer3obviously I think the last option is the best15:33
rickspencer3thoughts?15:33
pittiI think we can safely discard the "Store passwords in plain text in desktopcouch" option15:34
rickspencer3agreed15:34
james_w  * Figure out why calling gnome-keyring from different *processes* hangs, and if it's possible to stop that while using multiprocessing15:34
rickspencer3james_w15:35
chrisccoulsonif seahorse exhibits the same beahviour, then it should be easier to debug it using seahorse (no python interpreter)15:35
rickspencer3right15:35
rickspencer3chrisccoulson, I don't know that it does exhibit the same behavior15:35
pittihow about having just one thread doing the keyring calls?15:35
rickspencer3pitti, that seems like a rather major refactoring15:36
chrisccoulsonrickspencer3, i've noticed seahorse uses a lot of CPU when viewing secrets15:36
pittibut if several *processes* lock up, then it's not the dbus-glib threading issue15:36
pittiback then, I had no problem at all with multiple processes15:36
rickspencer3yes, it's processes, not threads, sorry15:36
pittiok, that's more difficult then, due to the IPC involved15:36
rickspencer3pitti, gwibber uses mutliprocess.pool()15:36
rickspencer3then map_async15:37
pittiI'm not familiar with that :(15:37
seb128neither am I15:37
rickspencer3basically it's a library that makes it easy to spin off processes15:37
SEJeffTo get around python's GIL15:37
rickspencer3but the point is that changing how the processes run would be major open heart surgery on gwibber15:38
pittibut if the problem also affects seahorse, etc., then I don't understand why we are focussing on gwibber?15:38
james_wpitti: it's processes, but they are not clean processes I believe, sharing too much state in this case.15:38
james_whttp://pastebin.ubuntu.com/410145/ <- Ken's minimal reproducer15:38
pittihm, those do look like threads, though?15:39
rickspencer3well, the way I read the code is15:39
seb128chrisccoulson said they shared the same context though which was an issue15:39
rickspencer3ryan creates a thread, which then spawns processes15:39
rickspencer3so MapAsync is a thread, right?15:39
pittiit doesn't call dbus.mainloop.glib.threads_init() ?15:39
pittidoes that even work?15:40
rickspencer3and then in run it spawns processes through multiprocess.pool()15:40
rickspencer3and perform_operation is within one of those processes15:40
rickspencer3however, I could easily be reading it wrong15:40
pittiwhat does the program do?15:41
pittiif I start it, I see no output15:41
pittioh, now I do15:41
pittitwo lines of gibberish, then "Complate"15:41
james_wyeah, there's a 10 second delay15:41
rickspencer3pitti, the program prints your desktopcouch auoth secret15:41
pittirepeated15:41
rickspencer3forever15:42
rickspencer3and your CPU pegs15:42
james_wit spawns a thread to monitor the children15:42
james_wthat thread then spawns two processes, both of which request your desktopcouch oauth from gnome-keyring and print it15:42
james_wwhen they are done the thread callbacks to the main object (but not main thread) to print the "Complate"15:43
pittiand that does work with the karmic gnome-keyring?15:43
james_wdunno, anyone have a karmic vm to hand?15:43
seb128well gnome-keyring in karmic was not using dbus for communication15:43
seb128I don't think that shows especially a gnome-keyring issue15:44
seb128but the fact it uses dbus now shows gwibber design issues15:44
rickspencer3seb128, right15:44
rickspencer3but  a full refactor of gwibber is out of scope15:45
pittiah, that'd be it15:45
rickspencer3for Lucid15:45
seb128right15:45
seb128I'm just saying why it doesn't happen in karmic keyring version15:45
rickspencer3ok, noted15:45
pittiseb128: woudl it even be an option to downgrade keyring? I mean, did the data format on disk change, or anything?15:45
seb128I don't think anything changed no15:46
asacin UNE ... do apps get the focus after starting by default?15:46
seb128the libgnome-keyring api stayed compatible15:46
seb128the storage too15:46
seb128they just refactored gnome-keyring to be a dbus service now15:46
seb128and libgnome-keyring to be a compatibility wrapper15:46
seb128ie you can still use it the same way but it's meant to be deprecated for direct dbus calls in the next cycles15:47
pittiasac: they should; WFM, anyway (they usually start fullscreen anyway)15:47
asacyeah15:47
asacwe have this -efl bug --- which is why i wasnt sure15:47
asacUNE is using metacity or compiz?15:48
ogrametacity15:48
ograwell ... maximus15:48
ograwhich is meta on crack :)15:48
pittiseb128, rickspencer3: so could we add the old libngome-keyring/python-gnomekeyring as a parallel package for usage with gwibber?15:48
asacogra: thought maxiumus just sits outside and forces windows tec.15:49
rickspencer3I was thinking that15:49
seb128pitti, urg, no15:49
rickspencer3and perhaps seahorse or others as needed15:49
pittiit seems like a very large hammer, though15:49
ograasac, i alwqays thought it was a part of metacity15:49
seb128pitti, libgnome-keyring gnome-keyring is one set15:49
pittiI wouldn't like to roll back half of the desktop just for gwibbeer15:49
asacogra: source wise its a separate package15:49
seb128pitti, the lib talked to the daemon via sockets in karmic which the new daemon doesn't have now15:49
asacogra: i think its also a separate process15:49
ograah15:49
seb128pitti, they communicate via dbus now which gnome-keyring in karmic didn't do15:49
LaserJockogra: I think asac's right15:50
pittiseb128: ok, so we could only roll it back completely15:50
seb128pitti, ie, storage and lib api are compatible but the communication lib, daemon changed15:50
LaserJockyou can just kill maximus for instance and have regular old metacity15:50
asacdidrocks: does -efl and non-efl use the same window manager? all metacity?15:50
rickspencer3seb128, what is the cost of rolling back both parts?15:51
rickspencer3lack of support going forward in the LTS?15:51
seb128that15:51
LaserJockasac: I think the only thing that changes is the launcher15:51
rickspencer3seb128, why could we not install both parts in parallel for gwibber and perhaps other apps to use as needed?15:51
seb128+ I don't know if the storage format is really 100% compatible or if it would not handle downgrades15:51
asacLaserJock: yeah. which is odd. we have bug complaining that apps dont get focus in -efl15:51
asacafter starting15:51
seb128+ we didn't test GNOME 2.30 on gnome-keyring 2.2815:52
seb128not sure if that would raise another class of bugs in other softwares which have been made to work with the new one15:52
rickspencer3right15:52
rickspencer3so a full roll back is risky15:52
seb128rickspencer3, you can't have 2 daemon running for the same thing15:52
rickspencer3ok15:52
seb128they would race to reply etc15:52
rickspencer3understood15:52
seb128and you can't have both version of the lib installed anyway since soname didn't change15:53
rickspencer3well, I was thinking that we would change the name spaces or what not so they wouldn't race15:53
seb128couldn't we just default to not use the keyring to store passwords?15:53
rickspencer3if we installed in parallel15:53
LaserJockasac: could perhaps the launcher be stealing focus or something?15:53
seb128rickspencer3, I think it would be less risky and costy to refactor gwibber15:53
rickspencer3seb128, that is an option, store the passwords in plain text in desktopcouch15:53
didrocksasac: metacity is the default for non-efl. as -efl has no paticular -settings package, it should be distribution default, ie compiz15:53
rickspencer3but kees nacked that15:53
asacdidrocks: ah.15:54
rickspencer3pitti, I agree with seb12815:54
pittipotential instability of other parts of the desktop, which we just tested against the new g-k15:54
pittiseb128, james_w: could it be possible to hack python-gnome-keyring to serialize the calls, with a mutex?15:54
pitti^ yes, quite15:54
pittirickspencer3: I veto that as well15:54
asacdidrocks: but if there is no 3d compiz falls back to meta on its own?15:54
didrocksasac: normally yes15:54
rickspencer3seb128, pitti what would you think of having Nafai start working on:15:54
rickspencer31. batch up all the calls to gnome-keyring in gwibber at startup in an non-threaded way15:54
seb128pitti, serialize, dunno15:54
asacdidrocks: how much work would it be to make -efl do the right thing wrt settings etc.?15:54
asacthis seems to come back regularly, so i wonder if we should just fix that15:55
rickspencer32. replace the 3 or 4 places that gwibber calls gnome keyring in threads to get the stored passwords there15:55
rickspencer3?15:55
rickspencer3this seems like "not rocket science" programming15:55
seb128one other option we didn't try would be to talk to gnome-keyring daemon directly15:55
didrocksasac: not that much, need a new -settings package, NEWed it, and setting the right parameter15:55
rickspencer3seb128, interesting15:55
didrocksasac: can work on that tomorrow (as it's too late for beta2 in any case)15:56
rickspencer3you can do this in python ok?15:56
seb128ie using direct dbus calls to the daemon15:56
james_wpitti: that could work15:56
seb128it's only dbus...15:56
asacdidrocks: is there a way we can easily test if that would fix our focus thing?15:56
seb128you can do dbus calls in python yes15:56
pittirickspencer3: speaking d-bus in python is dead easy15:56
rickspencer3right15:56
asacdidrocks: like putting some file somewhere?15:56
pittibut as I said, using python-dbus has tons of threading problems as well15:56
rickspencer3just use the d-bus library and replace those calls15:56
pittithreads and dbus just don't mix, sorry15:56
seb128I'm not sure the server has methods for what we need or not, I've not looked to the dbus interface15:56
rickspencer3pitti, right, but it seems worth a shot15:56
pittirickspencer3: I think your "batching in the main thread" would be the safest option15:56
pittirickspencer3: I think we should modify the reproducer for the various possibilities that we have15:57
rickspencer3right, but hacking the d-bus api directly would take like 30 minutes to try15:57
pittirickspencer3: i. e. (1) direct d-bus), (2) use mutexes to isolate calls15:57
seb128well pitti seems to say dbus will not like that by experience15:57
pittirickspencer3: the reproducer script is nice because it's much faster to hack on than gwibber15:57
didrocksasac: for testing, you can copy every files (but netbook-launcher) containing "une" in the path and replace them with "une-efl" (/etc/xdg-efl mostly and gconf related stuff) from the ubuntu-netbook-default-settings package15:57
rickspencer3(3) batch the "get_password" calls before the threads start15:57
rickspencer3pitti, yup15:58
didrocksasac: then, start the UNE 2D session15:58
pittirickspencer3: right, forgot that15:58
rickspencer3ok, who wants to try (1)?15:58
asacgwibber still uses multithreading? thought that was fixed this cycle ;)15:58
asac(ignore me)15:58
rickspencer3asac, it doesn't use multithreading, it uses multithreads which spawn multiple parallel processes15:58
james_wcould using the async keyring calls be worth a look too?15:59
pittirickspencer3: so, assuming that (1), (2), or (3) works, these are by far my most preferred solutions15:59
pittirickspencer3: anythign else is crackful or way too risky IMHO15:59
seb128+115:59
rickspencer3much agreed15:59
pittijames_w: async d-bus calls, you mean?15:59
rickspencer3I think (3) is a good fallback15:59
james_wthe sync ones share context and block on it apparently, but doing this ourselves could work around that15:59
rickspencer3that's the approach that other apps took to work around this15:59
james_wpitti: or just the ones wrapped by libgnome-keyring. It currently calls _sync versions16:00
pittijames_w: I'm not that fancy rewriting libgnome-keyring, TBH16:00
pittiwe don't know which other apps it can affect, or what we screw up16:00
james_wpitti: it already has theM!16:00
pittioh!16:00
pittijames_w: yes, definitively16:01
Damascenehello, what is the way to accept some package to be installed for rtl language?16:01
Damascenelike mlterm for rtl support in terminal?16:02
rickspencer3I didn't quite track that, so james_w is going to try (2)?16:02
Damascenehttps://bugs.launchpad.net/vte/+bug/263822/16:02
ubottuLaunchpad bug 263822 in vte "RTL (right to left) support in terminal (BiDi)" [Low,Triaged]16:02
pittirickspencer3: I think james_w's proposal is quite the opposite of (2) .. it makes them "more" async :)16:02
rickspencer3oh16:03
seb128I think james_w's suggestion is what I would try first there16:03
rickspencer3you mean make the keyring asynchronous so threads don't block when they call into it16:03
rickspencer3?16:03
NafaiI'm here16:03
rickspencer3that seems rather bold16:03
rickspencer3Hi Nafai we are discussing how to solve the problem with gwibber, please read the scroll back16:04
pittiI remember having had problems with that, too16:04
seb128rickspencer3, libgnome-keyring has asyncs calls16:04
Nafaiok16:04
seb128you don't have to make those, just to use those16:04
pittii. e. sync calls which block the mainloop from continuing, which is required to finish the call, etc.16:04
rickspencer3seb128, sorry to be dense ... is the suggestion to use async calls within gwibber?16:04
pittihey Nafai16:04
seb128rickspencer3, I think so yes16:04
pittirickspencer3: yes16:04
rickspencer3hmmmm16:05
seb128<james_w> the sync ones share context and block on it apparently, but doing this ourselves could work around that16:05
rickspencer3that seems rather easy, yes16:05
seb128I would start by trying that16:05
rickspencer3at least worth a try in the repro script16:05
rickspencer3so (4) replace value = gnomekeyring.find_items_sync() with find_items_asynch()16:06
james_wnope, that seems to use a lot of CPU as well16:07
seb128:-(16:07
rickspencer3no easy answers16:08
pittiI'll try mutexes now16:08
pittii. e. (2)16:08
james_wis it possible that libgnome-keying just uses a lot of CPU time?16:08
seb128james_w, no16:08
seb128empathy has no cpu use issue16:08
seb128neither does evolution16:08
rickspencer3james_w, it pegs one core forever16:08
james_wright16:09
james_wjust checking :-)16:09
seb128rickspencer3, the question was rather to know if gnome-keyring is just buggy and does that whatever you do16:09
seb128which it's not the case16:09
seb128since we have other desktop components using it without issues16:10
chrisccoulsonjames_w - so, my theory from yesterday is probably not the issue then (if you tried with an async call)16:10
rickspencer3seb128, well, not actually true16:10
rickspencer3desktopcouch had the same issue16:10
chrisccoulsonbut using the async call from a separate thread has it's own issues16:10
rickspencer3so they worked around it16:10
seb128rickspencer3, the all use multiprocessing though?16:10
rickspencer3right16:10
=== al-maisan is now known as almaisan-away
chrisccoulson(it adds an event to the default context, so the callback you pass to the async call will execute in the main process)16:11
seb128so it means gnome-keyring used in that context has issues16:11
rickspencer3well, tbh, I don't know for certain if it was "processes" verses "threads"16:11
seb128it doesn't mean gnome-keyring is buggy16:11
rickspencer3seb128, right16:11
rickspencer3correct16:11
rickspencer3I think these are just incompatibilities16:11
seb128well it's just safe to be used in those contexts16:11
seb128which apparently dbus is not either16:11
rickspencer3anyway Nafai done reading scrollback?16:12
Nafaiyeah16:12
rickspencer3ok16:12
rickspencer3so ...16:12
pittiok, mutexes don't help either16:12
rickspencer3I think in gwibber we'll end up with:16:12
rickspencer3(3) batch the "get_password" calls before the threads start16:12
rickspencer3this will mean I will ask you to write some code for this16:12
Nafaiok16:13
Nafaithat does seem to be the best solution for the time which we have16:14
rickspencer3Nafai, do you have the bandwidth to focus on this 100% today?16:14
rickspencer3I'd like to see a branch that we can start testing this tomorrow16:14
pittistrace shows that it's constantly poll()ing16:14
pittiwhich returns with "I have data"16:15
pittibut it doesn't seem to fetch it16:15
NafaiI could, I just need to make sure I pass what I've seen with the bug I'm looking at off to the dx guys since it seems to be in the app indicator code itself16:15
pittijames_w, rickspencer3, seb128: no luck with mutexes, sorry16:16
rickspencer3yeah16:16
rickspencer3pitti, I believe we are retreading ground that kenvandine has already been over16:16
seb128Nafai, the fallback icon bug is a minor one16:16
seb128it's only fallback for people not using indicators16:16
Nafaiyeah16:16
rickspencer3(not that we shouldn't analyze it)16:16
seb128you can just ignore it for lucid16:16
Nafaiok16:16
pittiin the end, I bet it's the old dbus-glib problem16:17
pittiyou have one main loop, and a different thread which wants the data16:17
rickspencer3Nafai, pitti, seb128, james_w, fwi, this worked fine: http://pastebin.ubuntu.com/410585/16:18
rickspencer3that's the (3) approach16:18
pittiso I think having the main thread collect the account passwords and store them in mlock()ed memory will work best16:18
seb128+116:18
pittirickspencer3: right16:18
rickspencer3I propose we focus today on getting gwibber reading the passwords working without issue16:19
pittirickspencer3: I think that'd be the only rock solid an unintrusive (on a global desktop level) solution16:19
rickspencer3then tomorrow figure out what to do when users change the passwords16:19
pittibut nevertheless it was interesting to check the alternatives16:19
rickspencer3pitti, agreed16:19
rickspencer3the analysis was useful16:19
rickspencer3and not too time consuming16:19
pittirickspencer3: at worst they'd have to restart gwibber?16:19
rickspencer3exactly16:19
rickspencer3well, gwibber-service, but yeah16:20
pittioh, rather, restart gwibber if the account which they are already logged in to disconnects16:20
rickspencer3pitti, seb128, Nafai, james_w - are we all agreed that Nafai should start down path (3) today?16:20
pittichanging passwords wouldn't disconnect running clients, I suppose?16:20
pittirickspencer3: +116:20
seb128+116:20
Nafai+1 :)16:20
pittithe dbus-glib threading problem is known upstream for years16:20
pittiI don't think we'll find a solid solution within days16:21
rickspencer3pitti, right, all the easy answers have been tried16:21
NafaiI should work off of gwibber trunk, right?16:21
rickspencer3this seems SMOP16:21
pittiNafai: Qapla'!16:21
Nafai:)16:22
Nafaipitti: I admit it's been a while since I've done a lot of C, so I'm not familiar with mlock(); is this available from Python?16:23
pittiNafai: hm, doesn't seem so :(16:23
pittiNafai: I propose you write a stub function mlock() which does nothing16:24
pittiNafai: and then we can try and write somethign using ctypes16:24
Nafaiok, sounds good16:24
* Nafai dives in16:25
didrocksrickspencer3: thanks for winpdb hints, it's really a time saver (even regarding to pdb) :)16:29
rickspencer3didrocks, nice16:29
Nafaiyay for quickly debug :)16:32
didrocks:)16:33
didrocks(it's more "debugging quickly" now TBH :))16:33
didrocksand "$ quickly debug quickly" isn't automated :)16:33
seb128I'm out for some testing, sport and then dinner16:59
seb128see you later16:59
Nafaiout for lunch and a rest and then back to the gwibber fixes18:14
james_wI'm not convinced we are looking at the right cause for the keyring problem18:15
james_wyou don't need multiple processes to trigger it18:16
james_wrunning with Pool(1) (which should give a single process in the pool) shows the issue18:16
james_wand from the moment the child writes the secret out until the parent kicks of the new process the parent is busy looping, polling a couple of fds that I think communicate with the child18:17
james_wI realise that desktopcouch had the same symptoms, but it's possible we are looking at two different causes18:18
james_whowever, what is stopping me from declaring it to be unrelated to the keyring is that I can't reproduce with the child just doing a sleep18:18
james_wwhich leads me to believe that libgnome-keyring is stopping the child from exiting cleanly somehow18:19
rickspencer3james_w, I don't think there is any doubt that we are focused on a workaround at this point18:24
rickspencer3but we are too close to release to not have a workr around in place18:25
rickspencer3and too close to release to start mucking with libgnome keyring internals18:25
rickspencer3but knowing the root cause would be a dramatic improvement in our state of affairs18:25
james_wbut yes, it appears that chriscoulson is correct. The two processes share a GMainContext, and so share the pipe that they use when you init threads. When the child process exits it obviously leaves the context in an invalid state, because it just continually wakes, leading to the high cpu usage.18:42
james_wif you don't call g_thread_init() then you don't get the pipe or the helper thread that polls it, so you don't get the issue as Ken found (but it's not the right answer)18:43
james_wmaking them real processes, rather than the multiprocessing ones would fix that, but the gwibber tasks look too dynamic to make that easy enough to do18:50
rickspencer3james_w, do you think that is a reasonable refactoring to do in 10.10?18:56
james_wIt depends how Ryan wants to play it18:56
rickspencer3or is it even worth investing some time right now to see if that will work18:56
rickspencer3in 10.04, I mean18:57
rickspencer3?18:57
james_woh18:57
=== almaisan-away is now known as al-maisan
james_wmaybe, I haven't dug in to the code sufficiently to see how much work would be required18:57
rickspencer3one thing about Ryan's code is that it is pretty centralized18:57
rickspencer3if you look in dispatcher.py, there is a MapAsync class that does all the work18:58
james_wyeah18:58
james_wit's the operations that I didn't research though18:58
rickspencer3mmm18:58
rickspencer3yeah, I didn't find that easy to understand18:58
rickspencer3in other words, I didn't understand that part ;)18:59
james_wI'm still looking at multiprocessing though19:00
james_wI don't understand how it is sharing so much state19:00
rickspencer3break time for me19:02
rickspencer3bbl19:02
=== MacSlow is now known as MacSlow|afk
james_whmm, multiprocessing just does a single fork, meaning that the children will inherit the open fds of the parent, including this thread fd, that could be the reason19:24
baptistemm_heya19:32
james_wthere we go, a real minimal test case: http://paste.ubuntu.com/410667/19:38
james_wno keyring, no threads, just threads_init(), multiprocessing and unclosed fds19:38
james_wso, a proper fix would have the called functions create a new GMainContext and use that, but I don't think that many things support that19:41
=== Amaranth_ is now known as Amaranth
james_wand I doubt that g_main_context_push_thread_default is supported enough to be a substitute19:42
james_wand it seems you can't call it from python anyway19:48
james_wright, enough of that, time for dinner19:48
mvois it just me does LP has a bad day today? oops, oops, oops20:17
baptistemm_mvo, yeah, ...20:30
maxbI'm not sure if there's a better channel for NetworkManager questions, so I'll ask here.20:52
maxbIs there any way for a program to tell NetworkManager to use a different DNS server?20:52
chrisccoulsondoes anybody use a B+W laser printer at home with Ubuntu? (and could recommend one that works reliably)21:03
* pitti has used a Samsung ML-1610 for some years, with quite good results21:03
seb128not me21:04
chrisccoulsonpitti - thanks, i'll look at one of those21:04
sorenchrisccoulson: Does it have to be b/W?21:05
chrisccoulsonheh, i bet hardly anyone uses black and white printers now ;)21:05
chrisccoulsonsoren - it doesn't have to be b/w21:05
sorenchrisccoulson: I'm quite happy with my Konica Minolta Magicolor 2530 DL.21:06
chrisccoulsonbut it should be relatively low-cost to maintain (I have a photo printer, but the ink cartridges for that are incredibly expensive, and it's no good for printing lots of pages)21:06
chrisccoulsonsoren - thanks21:06
sorenchrisccoulson: It's served me quite well for.. hmm... 4 years now, I think.21:06
sorenchrisccoulson: Not too expensive, and they actually went through the trouble of writing linux drivers for it.21:06
chrisccoulsonexcellent, that sounds good21:07
sorenchrisccoulson: (which suck, but there are other ones (not developed by Konica) that work well)21:07
chrisccoulsonthe LEXMARK X264dn looks quite nice actually (and it's available in a store a couple of miles away from me)21:17
chrisccoulsonit does scanning too :)21:17
seb128http://paste.ubuntu.com/410710/21:17
seb128does it look like a libusb or libmtp bug?21:18
seb128libusb I guess21:18
seb128I never know how to read the 2 parts in valgrind logs21:18
seb128the second one is the allocation and the first one the error?21:18
chrisccoulsonseb128 - yeah, that's how interpret it too21:19
chrisccoulsoni think that looks like a libusb bug21:20
seb128thanks21:20
seb128pitti, seems you have an account on the libusb bug tracker?21:21
ftaxchat still crashing on exit because of the indicator thing (bug 549972)21:22
ubottuError: Could not parse data returned by Launchpad: list index out of range (https://launchpad.net/bugs/549972)21:22
seb128fta, you are welcome to send a patch for the issue or to not use the indicator21:23
ftaok, i will disable it then :(21:23
rickspencer3james_w, still around?21:51
james_wyup21:52
rickspencer3Nafai, ?21:52
rickspencer3ok, so I just changed dispatcher.py21:52
Nafaiok21:52
rickspencer3I made MapAsync not be a thread21:52
Nafaidid that fix it?21:52
rickspencer3maybe21:52
rickspencer3wait, prolly not21:52
rickspencer3hold on21:52
rickspencer3dammit21:53
rickspencer3it survived several refreshes21:53
rickspencer3but on like the fourth one it pegged again21:53
rickspencer3never min21:53
rickspencer3d21:53
* rickspencer3 cries a little21:53
Nafai:(21:53
james_wrickspencer3: did you see my reproducer?21:56
rickspencer3is it the one that we were using this morning?21:56
rickspencer3if so, then yes21:57
james_wno21:57
rickspencer3oh21:57
james_w<james_w> there we go, a real minimal test case: http://paste.ubuntu.com/410667/21:57
james_w<james_w> no keyring, no threads, just threads_init(), multiprocessing and unclosed fds21:57
rickspencer3interesting21:57
james_wI'm pretty sure that's equivalent21:57
james_wI'll try putting in a callback or something in the child in a minute21:58
rickspencer3wait21:59
rickspencer3so it occurs to me then21:59
rickspencer3interesting22:00
rickspencer3so in ken's reproducer22:00
rickspencer3if I make MapAsync not be a thread22:00
rickspencer3and delete threads.init()22:00
rickspencer3it doesn't peg22:00
rickspencer3let me try a few times22:00
james_wrickspencer3: threads_init is one of the critical parts of the issue22:02
james_wKen found that it stopped it hanging the other day22:02
rickspencer3james_w, isn;'t that because MapAsync is a thread?22:02
rickspencer3so now if MapAsync is not a thread, why init threading at all?22:02
james_wbut it's broken, so not a viable solution or workaround22:03
james_wwell, yeah, I said minimal reproducer, not sensible one :-)22:03
james_wbut you aren't going to get very far pulling the threads out of gwibber I fear22:04
rickspencer3how many threads are there in gwibber?22:04
rickspencer3let me look22:04
james_wwell, one for every MapAsync22:04
rickspencer3right22:05
james_wnote that the implementation in the new reproducer *blocks the main thread*22:05
rickspencer3but I made MapAsync *Not* a thread22:06
rickspencer3it's still pegging though22:06
james_wand still had the timeouts?22:06
james_wmeaning you made it not a thread, keeping the behaviour that allows you to have timeouts, and not blocking the main thread?22:06
rickspencer3Dispatcher is itself a thread :(22:06
james_wif so, then that's a fine way to proceed, but I don't see how to do that without major surgery22:07
rickspencer3james_w, all the thread does is spawn processes22:07
rickspencer3I don't even know what value have MapAsync a thread brings22:07
rickspencer3I guess it brings a bit more parallelism22:07
james_wit allows you to timeout the child processes22:07
rickspencer3but dispatcher is itself a thread22:08
rickspencer3making dispatcher not a thread seems a bit more invovled22:09
james_wright, so it sounds like removing threads from gwibber is going to be difficult22:09
rickspencer3well, dispatcher is the only other thread22:09
james_wwe could make it a subprocess22:09
rickspencer3note that we shouldn't stop Nafai down his path22:09
Nafaiok, good22:09
Nafaicause I'm still working on that path22:09
rickspencer3Nafai, ignore this conversation and get your merge proposal ready ;)22:10
* Nafai nods22:10
rickspencer3james_w, the gui is also threaded22:10
james_wthere's gwibber/microblog/util/couch.py:class Monitor(gobject.GObject, threading.Thread):22:10
rickspencer3do you think that will be an issue?22:10
rickspencer3didn't see that one22:10
james_wif there is more than one thread in the gwibber-service process then you have to call gobject.threads_init()22:11
rickspencer3the gui is not in gwibber-service22:11
james_wif you call the function and then use gobject based stuff with multiprocessing you get the bug22:11
james_wwhichever process has the hang22:11
james_wthe high CPU I mean22:11
rickspencer3that's gwibber-service22:11
rickspencer3so would it be feasible to turn dispatcher and monitor from threads into processes?22:12
rickspencer3I've worked with threads and time outs, but not processes22:12
james_wpossible, yes22:12
james_wI assume22:12
james_wrealistic, maybe not22:13
AnAntHello, what has happened to guile-gnome2-* packages ?22:13
james_wwhat does gwibber-service do? It's the bit you call to send messages etc?22:13
rickspencer3yah22:14
rickspencer3well sends and receives messages22:14
rickspencer3stuffs them into desktopcouch22:14
rickspencer3rips a notification too, I think22:14
james_wright22:15
james_wso, Dispatcher is a thread, I'm not sure it has to be yet22:15
=== bjf is now known as bjf-afk
rickspencer3I'm truing it as a multiprocess.Process22:18
james_wyeah, it has no run() method22:18
rickspencer3it seemed to work22:19
rickspencer3at least it retrieved new messages22:19
james_wright, so the reason MapAsync is a thread is to allow it to process multiple requests in parallel, and also to implement timeouts on them22:20
james_whowever, we can do that in a subprocess as well22:20
james_wit does mean that gwibber could be quite the resource hog if it is busy :-)22:21
rickspencer3right22:21
rickspencer3but less than 100% probably ;)22:21
rickspencer3so Dispatcher is dbus object right?22:22
rickspencer3doesn't it just sit around until it gets called?22:22
james_wyeah22:25
james_wmy changes seem to have broken it22:25
james_wno 100% CPU, but nothing working either :-)22:25
=== al-maisan is now known as almaisan-away
rickspencer3well, it's working for me22:28
rickspencer3there is no more gobject.threads_init()22:28
rickspencer3but yet I am still pegging the cpu :/22:29
rickspencer3let me make sure I'm doing this right22:29
james_wrickspencer3: I've got it working22:32
james_whowever, there's one thing that concerns me about it22:32
rickspencer3kewl22:32
rickspencer3only 1 thing?22:32
rickspencer3that's good progress ;)22:32
james_wthat I had to make "daemon = False" on a bunch of stuff22:32
james_wso it will leave stale processes around22:32
rickspencer3mm22:33
rickspencer3even if you quite from the GUI?22:33
rickspencer3could we add a bit of clean up code there?22:33
james_wyeah22:33
james_wbut tracking all the paths won't be that easy22:33
james_wor it may just all work :-)22:34
rickspencer3heh22:34
james_whttp://paste.ubuntu.com/410733/22:34
rickspencer3so you changed all the threads to processes?22:34
james_wjust the couchdb one22:35
rickspencer3itneresting22:35
james_woh, and MapAsync22:35
james_wif you have a hammer... :-)22:35
james_wthe couch monitor appears to actually want to be async22:36
rickspencer3right22:36
rickspencer3james_w, can you push a branch I can pull?22:36
rickspencer3I can test it out here22:36
rickspencer3or I can just revert and apply your patch I suppose22:38
rickspencer3running now22:39
rickspencer3the people and groups I follow are always annoyingly quiet when I am testing gwibber22:43
james_wlp:~james-w/gwibber/fix-threading22:46
jcastrorickspencer3: refresh. :D22:49
Nafaisweet23:13
Nafaithis may have been easier than I thought23:14
rickspencer3Nafai, are you making progress on your branch?23:15
Nafaiyes, I have a first pass for others to test, I'm about to push it to launchpad23:15
Nafailp:~nafai/gwibber/gnomekeyring-fix23:18
james_wNafai: does it have much startup time impact?23:25
NafaiNot sure, I'll have to measure it against the previous one.  There is a little spike in the CPU at first, but then the CPU goes down23:26
james_wyou could use multiprocessing to distribute the work across a few processes rather than doing it all sequentially ;-)23:27
rickspencer3haha23:28
rickspencer3james_w ... your patch seems to be working, except I'm not sure notifications are23:28
Nafaiit's the battle of the patches!23:28
james_whmm, what are the chances that libnotify uses threads?23:30
rickspencer3heh23:31
TheMusoGood morning.23:31
rickspencer3james_w, I am sure libnotify is quite solid code23:31
rickspencer3I could just be missing them23:31
NafaiHello TheMuso23:31
james_wrickspencer3: no, I see it too23:32
rickspencer3wow, I planned for being totally pinned down by the default search provider announcement23:32
* TheMuso is just seeing that announced in various places. Interesting.23:33
RAOFMorning all.23:35
rickspencer3hi RAOF23:35
NafaiHey RAOF23:35
RAOFGood gwibber morning to you, too!23:35
Nafairickspencer3: Had a chance to try out my branch?23:35
NafaiIt's gwibber day for us here :)23:36
rickspencer3Nafai, no23:36
rickspencer3will do right now23:36
Nafaiok23:37
RAOFseb128: Re: using gnome-keyring's DBus interface - I had a look at that for gnome-keyring-sharp, and I don't think it's ready yet.  There's no introspection data, the last mailinglist thread I found said “not finished yet”, and most of the calls from libgnome-keyring go to org.gnome.keyring.ShamefullInternalInterface :)23:37
seb128RAOF, hey, ok, I was not sure about that23:37
rickspencer3Nafai, where's the branch?23:38
rickspencer3james_w, fwiw, when I quit your gwibber, all the gwibber-services process went away23:38
RAOFseb128: Just thought I could spare you some time if you wanted to go looking :)23:38
james_wcool23:38
james_wrickspencer3: found the notifications issue23:38
RAOFAlso, org.gnome.keyring.ShamefullInternalInterface is funny :)23:38
Nafailp:~nafai/gwibber/gnomekeyring-fix23:39
rickspencer3Nafai, just run gwibber-service and gwibber?23:39
Nafaiyeah23:39
rickspencer3seb128, I think we have at least 2 viable options for fixing gwibber now23:40
seb128rickspencer3, I've been reading discussions and seeing that, nice23:40
rickspencer3Nafai, I started gwibber-service and started getting notifications23:41
rickspencer3so that's a good sign ;)23:41
Nafai:)23:41
rickspencer3Nafai, so far, wfm23:42
Nafaiyay23:42
rickspencer3Nafai, have you handled the case of when a user changes their password?23:42
Nafainot yet, but I can23:43
rickspencer3well, I guess we'll need to23:43
* Nafai nods23:43
rickspencer3I suppose the UI you could just shut down and restart gwibber-service23:43
rickspencer3well, not "from the UI" but from the code for the settings UI23:43
rickspencer3awesome clarity on my part23:44
rickspencer3Nafai, maybe I spoke too soon23:44
Nafaispike in CPU?23:45
rickspencer3beam.smp seems awefull busy23:45
rickspencer3it's not pegged23:45
rickspencer3but mean.smp is at like 81% and gwibber service about 30%23:45
rickspencer3they seem to be sharing a core23:45
rickspencer3and between them pegging that core23:45
james_wmy approach isn't going to work without some more effort23:46
james_wyou can't use gobject signals across processes, and multiprocessing doesn't provide an equivalent23:46
rickspencer3james is that for the notifications integration?23:47
james_wyeah23:47
james_wand possibly other things23:47
rickspencer3james what about good old pipes?23:48
james_wwell, they don't work like signals23:48
james_wwithout, like, threads or something23:48
james_wwe want to use the glib mainloop23:49
james_wto get woken up when a new message appears in couch23:49
james_wwe can put the messages in a queue when we see them on couch23:49
james_wbut we the either need to poll, or use a thread or something to watch it23:49
james_wwe could throw another process at it23:49
rickspencer3this reminds me of i956 graphics in Jaunty23:52
rickspencer3Nafai, it's odd that mean.smp is spiking for me23:53
rickspencer3I thought that was a desktopcouch process23:53
Nafaiyeah, I didn't change anything to increase couch access23:53
rickspencer3even if you did, they fixed it I thought23:56
rickspencer3Nafai, is it not spiking your CPU?23:56
Nafaiother than a bit on startup, no23:56
rickspencer3hmmm23:57
desrthello hackers23:59

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