/srv/irclogs.ubuntu.com/2011/12/21/#ubuntu-motu.txt

psusiis it an error to try to use gtk code in a thread you create with pthread_create()?  isn't there some thread local initialization that needs done so you should use g_thread_new?03:39
RAOFpsusi: I don't *believe* so, but you obviously need to take the necessary locks.03:40
psusiwhat locks?03:41
RAOFThe gdk lock.03:41
psusiwhat's that?03:41
RAOFIt's an error to call (almost?) any gtk function without the lock held.03:41
psusiI got this: [xcb] Unknown request in queue while dequeuing03:41
psusi[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called03:41
RAOFhttp://www.gtk.org/api/2.6/gdk/gdk-Threads.html03:42
psusiholy shit, you're kidding?03:42
RAOFSpecifically - gdk_threads_enter() and gdk_threads_leave()03:42
RAOFOh, yeah.  You'll need to tell gtk to actually initialise the XCB threads, too :)03:43
psusihow do you do that?  is that done automatically by g_thread_new?03:43
RAOF"As always, you must also surround any calls to GTK+ not made within a signal handler with a gdk_threads_enter()/gdk_threads_leave() pair. "03:43
RAOF"You must call g_thread_init() and gdk_threads_init() before executing any other GTK+ or GDK functions in a threaded GTK+ program. "03:44
RAOFThreading and GTK is a bit of a minefield.03:44
psusiso you can't have two threads running their own message loop in parallel with gtk?03:45
psusiit sounds like it03:45
RAOFYou mean, have two different gtk mainloops running on different threads?03:46
psusiyea03:46
psusieach thread controlling its own window03:47
RAOFI don't think so; there's no context for any of the gtk calls.  How would you distinguish which mainloop to dispatch to?03:47
psusiX takes care of that03:47
psusithe message goes into the queue for the window that corresponds to the thread... thread picks up message, dispatches, etc03:47
RAOFI'm pretty sure there are gtk calls that aren't associated with a Window; how would they be dispatched?03:48
psusias long as you don't try to bounce the window back and forth between threads, it should be fairly straight forward... it was in windows03:48
psusiwell if they don't have anything to do with a window, then they shouldn't be using the message queue should they?03:49
RAOFWhy not?  The mainloop's not just for X message processing.03:50
psusiwell, how does i tknow what message queue to use then?  it has to find a queue somehow03:51
RAOFIt uses the default, singleton, gtk glib mainloop.03:51
psusiand there's only one?  there should be one per thread03:52
RAOFYou *can* create other glib mainloops, but as far as I'm aware there's exactly one gtk mainloop.03:52
psusiin windows, every thread has its own message queue/loop03:52
RAOFNo, there's definitely not one per thread.03:52
psusiohh, yea, there's only one initially, sure03:53
psusibut if you want, you can make another one in another thread so it can run concurrently can't you?03:53
* psusi is coasting mostly on 10 year old windows programming knowledge trying to debug gparted03:54
RAOFNo; everything I see says "exactly one thread can call a GTK function at a time; protect calls with gdk_threads_enter/leave"03:56
psusihrm... I guess that's the limitation of using a class toolkit... now that I think about it, I think MFC had the same problem04:00
psusibut I always just used straight winapi04:00
RAOFYeah.  My memory is that Win32 didn't give you a general-purpose mainloop; you just got the window-system events there, and could(?) build a proper mainloop on that if you wanted.04:06
RAOFIt's been *some time* since I played with win32, though.04:07
psusiso it's pretty much an error to pthread_create a background thread and have it emit a signal without any of that lock stuff right?04:20
psusiand basically if you want to make any blocking calls while handling events in the background thread, it's pointless since it would block while holding the gtk lock, thus preventing the other threads from doing gui things?04:21
RAOFWell, the background thread could emit a signal - it's ambiguous between gobject signals and posix signals, but I think either are fine - just not call any gtk functions without the lock.04:33
broderdoes gobject have an equivalent to qt's queued signals? i.e. wait until you hit the main loop and then handle this signal emission?04:34
broderit makes cross-thread signals in qt very easy to reason about04:34
RAOFg_idle_add would do it, roughly speaking.04:34
broderi guess you could take the lame way out and use g_idle_add04:34
broder:)04:35
RAOFSimilarly, if you make all your blocking calls in the background thread you can happily rock along, taking the lock as appropriate when the background thread wants to signal completion.04:35
* RAOF just notices that psusi has left :(04:35
TiMiDolol04:40
=== Aaron_ is now known as TiMiDo
=== Aaron_ is now known as TiMiDo
dholbachgood morning08:14
micahgudienz__: hi!, just wanted to point out you have a couple merges where you're the person who touched it last in universe08:19
=== Aaron__ is now known as TIMiDo
=== Aaron__ is now known as TiMiDo
udienz__micahg, yes, ~3 packages. gstm, clutter-gesture, and lighttpd09:08
=== almaisan-away is now known as al-maisan
=== DrKranz is now known as DktrKranz
=== DrKranz is now known as DktrKranz
=== udienz__ is now known as udienz
=== dholbach_ is now known as dholbach
=== yofel_ is now known as yofel
=== al-maisan is now known as almaisan-away
=== dholbach_ is now known as dholbach
jtaylormaybe we should remove argparse from precise?19:06
jtaylorthe current debian version is py 2.6 only which would make all rdepends uninstallable I think19:07
ScottKYes.  It should go now that Ubuntu is 2.7 only.19:07
micahgwell, we still have python2.6 in precise19:08
jtaylorbut it won't stay?19:08
micahgI don't think so, I've been meaning to ask about it19:08
jtaylorif we remove it we could let python2.7 provide argparse saving us the trouble of fixing the argparse rdepends19:09
ScottKmicahg: It's still there, but it's not supported for module building.19:09
ScottKSo argparse can go as it's pointless.19:09
micahgit still has a few rdepends, so it can't go yet19:09
jtaylorunless 2.7 provides it instead19:10
jtaylor(on the other hand I still hope the 2.6 only change will be reverted in debian)19:10
micahgjtaylor: I don't see a provides19:11
jtaylornot yet :)19:11
jtaylor2.7 includes argparse so it could19:11
ScottKI think having 2.7 provide argparse makes sense.19:12
ScottKI'll defer to doko on that though.19:12
* ajmitch thought the argparse situation was mostly sorted on the debian-python list19:27
tumbleweedit's different here, though19:28
tumbleweeddebian has 2.6, we don't19:28
tumbleweed(well, it's in the archiv, but that doesn't count)19:28
ajmitchthey haven't made 2.7 provide argparse then?19:29
tumbleweedno, that would have the wrong behavior in debian19:29
tumbleweedfor $python in `pyversions -v`; do setup.py test; done <- that'd break if 2.7 provided argparse in debian19:29
ajmitchyes, it'd be a pain for a package to depend on python-argparse & pull in 2.7 instead19:29
ajmitchpython is such a fun mess19:30
* tumbleweed is busy playing with pypy, which adds an extra layer of fun19:30
jtaylorbetter than javascript though ._.19:30
tumbleweedI suppose I should send an e-mail saying what I've been doing...19:30
ajmitchjtaylor: that's a pretty low bar :)19:30
jtaylor< now has a package with javascript and python19:31
jtaylorpure joy19:31
tumbleweedis the javascript minified? :)19:31
ajmitchtumbleweed: it'd be interesting to read19:31
jtayloryes and it has a nice .custom in the file name19:31
ajmitchoh, that one :)19:31
jtaylorso I have no idea if I can even use the packaged one19:31
tumbleweeduse it, and wait for bug reports :P19:32
ajmitchsince custom jqueryui can mean that a certain subset of it was chosen & minified19:32
ajmitchit was ipython that you were looking at, wasn't it?19:33
jtayloryes19:33
* tumbleweed doesn't want to know why ipython has javascript19:33
* ajmitch is trying to come up with a good reason why it would19:33
jtaylorit now has a mathematica-like web interface19:34
jtaylorvery nice, but I would not dare open that up beyond localhost :/19:34
ajmitchthat makes so much sense to have...19:34
jtaylorit is very useful for data analysis19:34
tumbleweedreally?19:34
tumbleweedwhat does it give you that a console doesn't?19:35
jtayloryou can edit the same cell again19:35
jtaylorso you end up with the end result instead of haviong to sieve through the history and removing the lines that did not work19:35
tumbleweedah, bpythonish19:35
ajmitchfrom the look of screenshots on the website, it lets you have images in there?19:35
jtayloryes19:35
jtaylorbut qtconsole also had that feature already19:36
micahgjtaylor: there are only about a 18 or so rdepends of argparse, so quite doable to do away with it19:37
micahgjtaylor: if you get the handful of main rdeps fixed, it'll drop to universe and you can take it from there19:40
* ajmitch is sort of glad that we probably won't be switching to php 5.4 for precise19:41
tumbleweedI assume it isn't as bad as 5.3 was?19:41
ajmitchtumbleweed: it's still php, so a real pain to test with19:41
micahgyeah, don't follow Debian into the take the PHP .0 release black hole19:41
ajmitchmicahg: not really my call, I've got an RC in my PPA to test though, so it at least builds :)19:42
jtaylormicahg: k, if it will be removed I'll take care of universe19:42
tumbleweedwell, it won't be removed unless we deal with the rdepends19:42
micahgjtaylor: well, I don't see it happening automatically, you probably want to have a conversation with doko, then drive it19:42
tumbleweed(or cpython starts providing it)19:42
ajmitchjtaylor: btw, I was told that the firefox developer tools will allow debugging minified javascript soon, so it may reduce your pain fractionally ;)19:49
jtaylorhow will that work?19:49
tumbleweedas long as developers don't start giving that as an excuse for shipping minified js19:50
ajmitchno idea19:50
ajmitchhttp://www.infoq.com/news/2011/08/debug-languages-on-javascript-vm has some explanation of it19:51
jtaylormh you need a mapping19:52
jtaylorso it will only work for upstreams that support it19:52
bdrungtumbleweed: can i release u-d-t 0.138?19:52
ajmitchyeah, not quite as useful as first thought19:52
tumbleweedbdrung: sure, it's pretty minor19:53
tumbleweedoh hang on19:53
tumbleweedI meant to look at the open debian bugs19:53
bdrungtumbleweed: do you want to fix lp 904288?19:55
ubottuLaunchpad bug 904288 in ubuntu-dev-tools (Ubuntu) "[syncpackage] Mention sponsoree when closing bugs in sponsored syncs" [Undecided,New] https://launchpad.net/bugs/90428819:55
tumbleweedbdrung: there was debian bug 652000, but that's about sticking it in /usr/local on squeeze...19:55
ubottuDebian bug 652000 in ubuntu-dev-tools "/usr/bin/pbuilder-dist: pbuilder-dist ignores environment and has no way to set a custom pbuilderrc" [Important,Open] http://bugs.debian.org/65200019:55
tumbleweedI should drop the severity of that...19:55
tumbleweedbroder: any thoughts on debian bug 651546?20:02
ubottuDebian bug 651546 in ubuntu-dev-tools "[backportpackage] no way to build for proper release socket without uploading directly" [Normal,Open] http://bugs.debian.org/65154620:02
ScottKtumbleweed: Invalid.  No such thing as a release socket.20:03
ScottK;-)20:03
ajmitchScottK: I'm sure one could be added to LP if you really want it20:03
ScottKNo, because then it'd be a real bug and we dont' want that.20:03
tumbleweedheh20:03
ScottKActually I think the bug report makes sense.20:04
ScottKI'd probably tag it help and say patches welcome though.20:04
ajmitchadd another option to disable adding -backports to the release name?20:04
tumbleweedyeah, it's something that irritated me (I dput from debian where we can't use ppa:) but it's really trivial to edit the changes file20:04
ajmitchtumbleweed: does it still have -backports in debian/changelog, or just in the .changes file?20:05
tumbleweedajmitch: yes, it only modifies .changes20:05
EvilResistanceanyone know where i can find the precise dev team on irc?  someone asked a question in #kubuntu about a specific version of Qt, and would need the dev team to answer their question20:19
tumbleweedEvilResistance: "the precise dev team" ?20:20
EvilResistancetumbleweed:  generally speaking the people producing the alpha/beta versions of precise...20:20
EvilResistanceif i may copy/paste a line or two into here...20:20
tumbleweedEvilResistance: that's pretty much all ubuntu developers20:20
EvilResistanceare there any specific devs assigned to the kubuntu parts?20:21
tumbleweedyes, the kubuntu developers20:21
EvilResistanceand they are... where :P20:21
tumbleweed#kubuntu-devel20:21
EvilResistancethanks20:23
bdrungtumbleweed: can you have a look and http://paste.ubuntu.com/777873/ and tell me what i do wrong?20:23
bdrungi found it20:25
bdrungtumbleweed: pushed20:44
tumbleweedbdrung: pushed20:49
tumbleweedeep, wrong bug20:49
tumbleweedI'm crazy tired, so please check that20:51
brodertumbleweed: not sure if there's a better option than a --pocket flag or something21:02
tumbleweedbroder: I just committed http://bazaar.launchpad.net/~ubuntu-dev/ubuntu-dev-tools/trunk/revision/126421:05
brodertumbleweed: sure, lgtm21:06
tumbleweedbdrung: ok? https://bugs.staging.launchpad.net/ubuntu/+source/webkitkde/+bug/84891621:10
ubottuUbuntu bug 848916 in webkitkde (Ubuntu) "Sync webkitkde 1.1.0git80efcf77-1 (universe) from Debian experimental (main)" [Wishlist,Confirmed]21:10
tumbleweed(ignore the content of that bug)21:10
bdrungtumbleweed: sponsored for me?21:12
tumbleweedsure, :)21:12
bdrungtumbleweed: would it be better to have it at the top (= more prominent)?21:12
tumbleweedyeah, it looks a bit silly there21:13
bdrungtumbleweed: pushed, please check21:13
tumbleweedseems ok21:16
tumbleweedthat's prettier: https://bugs.staging.launchpad.net/ubuntu/+source/pygame/+bug/89806221:18
ubottuUbuntu bug 898062 in pygame (Ubuntu) "Please sync pygame 1.9.1release+dfsg-2 (universe) from Debian unstable (main)" [Wishlist,Triaged]21:18
bdrungtumbleweed: lgtm21:19
tumbleweedcommitted it21:20
tumbleweedfeel free to upload it, I'm off to bed21:21
tumbleweedwe should send a mail to devel-announce about native sync sponsoring (and native syncing in general)...21:28
tumbleweedLaney: I assume you saw bigjools' UI component to native sync sponsoring? It just added an input box on +localpackagediffs, no indication of sponsorship anywhere yet...21:29
broderScottK: is there a reason you didn't just sync python-pypcap yourself?23:52
* micahg was kinda wondering the same thing23:53

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