/srv/irclogs.ubuntu.com/2013/03/28/#ubuntu-mir.txt

RAOFsturmflut: You can install the mesa packages to ~/.local and it's entirely safe (you then need to export LD_LIBRARY_PATH=$HOME/.local/lib to run things)00:00
sturmflutthomi, RAOF: Okay, thanks. I think I'll go to sleep for today (it's 1 am here in europe) and if the packages are not ready for my next try I'll look into building my own Mesa00:02
thomisturmflut: unless something goes very wrong they should be there for your morning00:04
sturmflutNew day, new Mesa00:04
sturmflutthomi: Looks like mesa-9.1~rc2-0ubuntu0+mir2-jenkins18 failed on amd64 and i386, or am I reading the results wrong?00:13
robert_ancellcgoldberg, nice, thanks!00:13
thomisturmflut: yes, it seems it can't find mir_client_library.h00:14
thomiI wonder if that file has moved recently00:14
robert_ancellthomi, it has moved to <mir_toolkit/mir_client_library.h>00:15
thomirobert_ancell: hmm, then it looks like the mesa source hasn't been updated?00:15
robert_ancellthomi, probably likely00:16
thomidri/src/egl/drivers/dri2/egl_dri2.h line 6900:16
thomirobert_ancell: who's the best person to fix that in mesa?00:17
robert_ancellthomi, I think RAOF or alf?00:17
* thomi looks pointedly at RAOF00:17
thomihmmm, ok, so there's some odd setup on our jenkins machine - we don't appear to be pulling down new mesa sources at all.... unless it's hidden away in a cron job somewhere00:25
RAOFthomi: I *did* test-build the mesa changes locally :)00:35
thomiRAOF: yeah, there's something really funky happening here :-/00:36
thomiit looks like someone had some fun getting around the fact that the jenkins server can't access freedesktop.org :)00:37
RAOFIt doesn't need to access freedesktop.org? Just github.00:39
thomiRAOF: http://www.mesa3d.org/repository.html lists the mesa repository as git://anongit.freedesktop.org/git/mesa/mesa - is that innacurate?00:40
RAOFNo, that's accurate. But that's not where the branches for Mir are.00:40
RAOFBecause I don't have commit access there :)00:41
RAOFthomi: You're looking for https://github.com/RAOF/mesa - mir-ppa and mir-ppa-quantal branches.00:41
thomiRAOF: is that mirrored on launchpad at all?00:46
RAOFthomi: No00:47
RAOFthomi: Because it can't, because you can't import not HEAD branches.00:48
thomioh :(00:48
RAOFIt'd apparently be a couple of weeks work to fix bzr-git enough so that it worked, but we don't invest in bzr-git anymore :(00:49
thomiyeah :(00:49
thomiI'm looking at building a source package manually and dputing that to the PPA for today,a nd I'll find out what the story is here00:50
kdubhey duflu, could you give https://code.launchpad.net/~mir-team/mir/consolidate-crossbuild-scripts/+merge/154762 another look?01:07
duflukdub: Will do, today01:08
* duflu goes to get coffee01:08
kdubduflu, thanks01:08
sturmflutRAOF: I'll wait until the mesa packages are updated in the PPA, I built Mesa from your github repository branch but after setting LD_LIBRARY_PATH i get "symbol lookup error: /usr/lib/x86_64-linux-gnu/libGLESv2.so.2: undefined symbol: _glapi_tls_Dispatch" upon running anything01:44
RAOFsturmflut: That suggests that you either haven't installed it into the right path, or you haven't built it with the right options. Mesa has approximately 3 hojilion build options, so that's not hard. :/01:45
sturmflutHooray01:45
sturmflutI foolishly thought I could get away with ./configure --prefix=/opt/mesa --with-egl-platforms=mir01:45
sturmflutRAOF: Okay, I forgot --enable-gles201:48
RAOFYou may wish to add --with-dri-drivers=i965 --with-gallium-drivers= (if you've got intel) or --with-dri-drivers= --with-gallium-drivers=r600 (or r300, or nouveau, if you've got one of those)01:52
RAOFFor reference, my most recent build:01:53
RAOF PKG_CONFIG_PATH=$HOME/.local/lib/pkgconfig ./autogen.sh --prefix=$HOME/.local/ --enable-gles1 --enable-gles2 --with-dri-drivers=i965 --with-gallium-drivers=swrast --enable-shared-glapi --enable-glx-tls --with-egl-platforms=drm,mir,x1101:53
sturmflutRAOF: Thanks, it is finally working again!02:01
RAOFSorry for having it broken for so long. I'm going to break it again soon; hopefully not for as long :)02:02
sturmflutAt least now I can confirm that glmark2 works on Mir02:06
duflurobert_ancell: Seems I'm not getting new Mir bug mail now... ?02:11
dufluRAOF: Much badness :(  https://bugs.launchpad.net/mir/+bug/116119604:01
ubot5Launchpad bug 1161196 in Mir "All Mir demo clients using GL crash in eglInitialize()" [Critical,New]04:01
RAOFduflu: PPA skew. The latest mesa isn't built in there. If you build from github you'll get a working GL.04:03
RAOFMan, we really need eye-tracking-based focus detection.04:04
dufluRAOF: Umm, kay. What are the options for not having to build Mesa from source? The old rocket-scientists PPA worked04:04
RAOFThe old rocket-scientists PPA won't work now; racarr's EGL changes landed, which were incompatible with the previous Mir EGL platform.04:05
dufluRAOF: OK, so same question :)04:05
RAOFduflu: Options include: having *me* build from source for you, or debuilding out of the mir-ppa branch on github; that'll get you packages you can install.04:06
dufluRAOF: Ah, OK. debuild is less painful04:06
dufluRAOF: So what do we expect the public to do if the public PPA no longer works?04:06
RAOFWe expect the public PPA to work.04:07
RAOFThe fact that it currently doesn't is (a) a bug, and (b) transitory.04:07
RAOFthomi's working on restoring the mesa autobuild, which silently broke.04:07
dufluRAOF: Sweet, ta. I will work around it till after Easter04:08
RAOFActually, I can help there - I'll just upload to the PPA. We don't have to wait for autolanding.04:09
dufluRAOF: How goes Mesa upstreaming progress?04:11
RAOFWaiting on landing the dma-buf branch.04:11
RAOFSince that changes the client ABI there's little point in landing in mesa before that.04:12
RAOFOh, boo. That's right. Stupid jenkins versioning.04:13
dufluRAOF: It's OK. demo_client_unaccelerated suffices for me today04:22
thomiRAOF: new mesa packages are now in the PPA for i386 and amd6404:22
thomiit might be a few days before the autobuild is back up and running. In the mean time, I can manually dput new mesa packages if you need them04:23
RAOFduflu: Yeah, -jenkins19 in the PPA now should work, I think.04:35
RAOFCare to test?_04:35
RAOFGAH! Eye-tracking based focus, please!04:36
dufluRAOF: Yeah will test it soon thanks04:50
racarr|lunchhttps://code.launchpad.net/~robertcarr/mir/enable-inprocess-egl/+merge/155888 exists04:59
racarr|lunchOh wow...racarr|lunch04:59
=== racarr|lunch is now known as racarr
* RAOF presumed racarr was just having a super-long lunch :)05:00
racarrbest lunch EVER05:00
dufluRAOF: EGL works ta05:11
RAOFTime for a last burst of SWIV:ANH-driven-development.05:41
racarr?05:42
RAOFDoes anyone else see the unittests sometimes failing to complete?05:42
RAOFracarr: Star Wars IV: A New Hope.05:42
racarrah!05:43
RAOFAn excellent way to add atmospheric music to your test runs!05:43
racarr"Christopher, we see you've disabled your test runs is everything alright?05:43
racarr"05:43
RAOF"Everything's fine" :)05:44
smspillazthe next big thing:05:45
smspillazhttp://scottberkun.com/2007/asshole-driven-development/05:45
smspillazproductivity up 200%!05:45
RAOFDear C++: I wish you didn't have to recompile all the reverse-dependencies when I change a private member.05:50
smspillazRAOF: don't expose private members in header filex kthxbye05:50
smspillaz*files05:50
smspillaz(even under private:)05:50
smspillaz:p05:50
RAOFBut pimpl is such a drag!05:50
RAOFIt even _sounds_ bad :)05:51
smspillazI think that's why nobody uses it05:51
smspillazsomeone though "haha, pimpl, thats a funny name"05:51
smspillazand then the image that it puts in your head05:51
smspillazmakes you not want to use it05:51
RAOFWhich is odd, because it's the _obvious_ implementation pattern for C.05:52
smspillazRAOF: I want to invent a language that:05:52
smspillaz1) has a very clear distinction between object and value types. Value types have public members, objects always have private members held by indirection05:53
smspillaz2) Doesn't allow for global variables or side-effects. All changes must happen throuhg interfaces provided in either the object's constructor or the function signature05:53
smspillazbasically C++ the right way and no other way05:54
smspillazthe problem is that the "right way" is a fluid concept05:54
dufluFunnily enough, pimpl is widely used in C APIs. Except it's not called pimpl, it's just called good API design05:54
RAOFExactly my point :)05:54
smspillazalso it should allow you to implement an interface and delegate that entire interface to a held object05:54
smspillazso that composition is not a total pain to write05:55
RAOFsmspillaz: The latter constraint sounds like you're secretly after a functional language :)05:55
duflusmspillaz: You're asking for Go, right?05:55
smspillazduflu: kinda05:55
smspillazI don't really like the "you implement an interface implicitly" thing in Go05:55
duflusmspillaz: Or Lisp for a purely functional language for doing your head in05:55
* RAOF needs to prod #debian-cli to upload F# to experimental05:56
smspillazyou should be able to say "I am implementing this interface, but I want to delegate my implementation to this object"05:56
* RAOF isn't sure how useful that would really be05:58
smspillazRAOF: incredibly useful05:59
duflusmspillaz: I've been thinking recently that maybe the problem is that an "interface" is too coarse. Maybe you should be able to delegate interface methods05:59
smspillazduflu: right, that would be the idea05:59
smspillazso if you had a Interface { public: virtual ~Interface () {} virtual void bar () = 0; virtual void baz = 0; };06:00
duflusmspillaz: Which you can do in C and C++. Just not as part of the primary syntax06:00
smspillazduflu: right, you have to use function pointers to do it06:01
RAOFThat sounds to me like syntactic sugar for something that's already pretty sweet.06:01
smspillazand then an Object : public Interface { public: virtual void bar (); virtual void baz (); }06:01
smspillazAnd then a MultipleObjectsInConcept : public Interface { private Object o; }06:01
* duflu goes off to try do work instead of finding more bugs in Unity and Mir06:01
smspillazIt would be nice to have something in the language that said - "Every function that I say I provide in Interface should be routed directly to my member Object"06:02
smspillazand then you can override the interface partially for where you needed to customize06:02
smspillazrather than having to implement every single method, then call the method from Object06:02
RAOFsmspillaz: But that's like three lines per method in the interface, including whitespace. I'm not sure that it's particularly onerous.06:03
smspillazRAOF: its just more typing that doesn't need to happen really06:03
smspillazand then every time you add a new method to that interface06:04
smspillazyou have interface sensitivity, and all the object that were just implementing it by delegating to a member have to go implement that method06:04
dufluWhoa... Maclisp existed a decade or two before the Mac ;)06:04
smspillazRAOF: my ideal language would also support templates, but reduce the amont of code generation by making it so that template members had to conform to a statically determined interface, and then for shifting points around, the entire thing was treated as void * in the underlying code06:05
smspillazso you could generate the code for std::list once (instead of per-type)06:06
smspillazand then if the template needed to call methods on the objects, you generate the code once per interface and not once per derived type06:06
RAOFSo, C# generics then.06:06
smspillazyes06:06
duflusmspillaz: Yes I invented such an STL a few years ago. But then found prior art documented in Dr Dobbs magazine too06:06
smspillazI think what I want06:06
smspillazis Go#06:06
smspillazduflu: ah cool. Link ?06:07
duflusmspillaz: Not handy06:07
RAOFI'm going to work through "Statistics for programmers" in F# once everything's landed for that to actually happen. I suspect it might match many of your desires. I'll tell you how it goes. :)06:07
duflusmspillaz: Though I do have a working re-implementation (not owned by IBM), I'm not willing to share that yet06:09
smspillazduflu: this is the point where you quit your job and make lots of money :p06:11
duflusmspillaz: No that's a different project, which for legal and financial reasons I have not touched in ~2 years06:11
smspillazI figured it was something like that06:11
dufluI know! Let's make an app for the braindead. Those make squillions!06:12
smspillazduflu: I'm always disappointed by the market06:13
dufluBah, marketing is about understanding people. Not what is arguably right...06:14
smspillazthe people who come up with solutions to trap and collect plastic in the oceans get less attention than people who make apps06:14
smspillazduflu: I watched the interview on 7:30 last night06:14
smspillazI loved the bit where he was like "I had this idea ... so I hired a bunch of really smart people"06:14
smspillazand the headline is06:14
smspillaz"PERSON MAKES LOTS OF MONEY"06:14
dufluHeh, I'm not talking about one particular person. But the repeating theme...06:15
smspillazyeah06:15
smspillazduflu: I was tempted to go into app development after I left canonical but I couldn't bear the idea of the fact that its a seemingly-luck based get-rich-quick scheme06:16
dufluYeah, there's a lot of luck. But you'll always increase your luck with more skill too06:17
smspillazhmmm06:17
smspillaznux must kick something that the nouveau driver doesn't like06:17
dufluThe GPU. nouveau doesn't like those06:18
smspillazI always get a little frightened when I see them rewrite it once every few months06:18
duflusmspillaz: Any more nouveau complaints, the maintainer just logged on to ubuntu-desktop ;)06:31
smspillazI'm sure they've heard enough alread :p06:32
smspillaz*alrady06:32
smspillaz*already06:32
smspillazme english good06:32
robert_ancellhikiko, welcome!07:18
hikikohi :)07:18
hikikohi robert_ancell07:18
robert_ancellalf_, are you familiar with pkg-config? (in relation to the changes for glmark2)08:00
alf_robert_ancell: yes, it's already being used, but I don't think that pkg-config could help us in this case, since it's not just the base include path that changed.08:03
alf_duflu: @composite-on-demand, so if I change status to Approve autolanding will fail?08:16
duflualf_: Yeah usually. But try it anyway08:16
alf_duflu: ok, let's see...08:16
duflualf_: Because there are "unapproved" changes08:17
duflualf_: Frustratingly it might build the proposal and *then* tell you there are unapproved changes. Taking several hours08:39
robert_ancellalf_, it was also the mir -> mir_tookit change?08:41
alf_robert_ancell: right08:45
robert_ancellalf_, ok, thought so. I just wanted to check the pkg-config changes weren't causing any problems08:45
robert_ancellduflu, Had the /usr/include/mir-1.0 vs /usr/include/mircommon-1.0 discussion with alan_g - The main issue with the former are it makes it much harder to package (because you have to list each subset of headers per package instead of listing a directory*). Also08:49
robert_ancell* = though of course clever scripting can get around this it would be nice to avoid08:50
duflurobert_ancell: Not sure what the great hurdle will be but will assume you're right for now :) At least till I try and propose any changes08:51
robert_ancellduflu, make sure you debuild to test them08:51
duflurobert_ancell: I do. In fact, it's other people who don't debuild08:51
duflualf_: Merged! (?)08:52
dufluThat's not meant to happen though...08:52
alf_duflu: perhaps it only blocks when you resubmit a proposal?08:53
duflurobert_ancell: No one's going to answer your questions posed in bugs unless they have a bug comment subscription ;)08:55
dufluSo it's prolly just me08:55
robert_ancellduflu, meh, I don't think there's any real supporters for it anyway - just propose a branch and see if people complain08:56
duflurobert_ancell: The danger with this one is that tvoss or alan_g might have a reason for keeping it08:56
dufluAsk them08:56
tvossrobert_ancell, supporters for what?08:57
dufluBut I agree it would be nice for people to disagree with something in bug discussions before it reaches proposal08:57
robert_ancellduflu, I just talked to alan_g and he's OK with it.08:57
duflutvoss: https://bugs.launchpad.net/bugs/116074108:57
robert_ancelltvoss, remove binder support since it's broken and we don't have a requirement for it08:57
ubot5Launchpad bug 1160741 in Mir ""Binder" logic is redundant, unused and fails to build" [Low,New]08:57
tvossrobert_ancell, fine with me, but check with Alan, please08:58
robert_ancelltvoss, already done08:58
robert_ancellduflu, kill it!08:58
duflurobert_ancell: In other news, on-demand rendering just landed. You can finish VT switch support08:58
robert_ancellduflu, yeah, I've already been talking with alf_ about this08:59
duflurobert_ancell: Yeah I can probably "kill it" before finishing up this evening08:59
alf_alan_g: Good morning! What do you think about the signalfd idea in reuse-run_mir? It seems it's going to be useful for proper handling of other signals too (e.g., for VT switching).09:04
alan_galf_: there's also some boost stuff tvoss used in an earlier version (IIRC that didn't work in the NDK)09:10
tvossalan_g, alf_ there is a generic signal handler in process iirc09:11
alf_alan_g: tvoss: even better then09:16
alan_galf_: are you happy with https://code.launchpad.net/~alan-griffiths/mir/improved-MessageProcessorReport/+merge/15574609:21
alf_alan_g: I missed the update, checking...09:22
alf_alan_g: ok09:29
alan_galf_: ta09:29
tvosskatie, ping09:37
duflualan_g, tvoss: How sure are we that "binder" is not required/used on Android?09:39
alan_gduflu: it worked with the NDK, but we've dropped support for that09:39
dufluRighto09:39
alan_gWe have version control if we ever want it vack09:40
alan_g*back09:40
* alan_g doesn't want to think about libhybris support for binder09:40
alf_duflu: can you still reproduce lp #1123824?09:41
ubot5Launchpad bug 1123824 in Mir "The following tests FAILED: 73 - memcheck(integration-tests.BespokeDisplayServerTestFixture.*) (Failed) 75 - memcheck(integration-tests.FakeEventHubSetup.*) (OTHER_FAULT)" [High,New] https://launchpad.net/bugs/112382409:41
duflualf_: Not sure. Twas only reliable on Nexus 7 and I haven't had time or luck with anything on Nexus recently09:41
dufluAssume incomplete if you like09:42
alf_duflu: I will try to reproduce locally, and mark as incomplete if I don't manage to09:44
katietvoss pong09:44
duflualf_: If you're in the mood for fixing failing tests, there are a few bugs relating to failures when built with clang :)09:45
alf_duflu: I want a change of pace for today... I will focus on bug fixing, so I will probably take a look.09:46
dufluOK, that's enough09:53
* duflu -> supermarket, Easter09:53
alan_galf_:Are you happy with this version? https://code.launchpad.net/~alan-griffiths/mir/reuse-run_mir/+merge/15519611:33
=== tvoss is now known as tvoss|lunch
alf_alan_g: Isn't there still the possibility of a deadlock? For example, if stop() is called from the signal handler (from the same thread as run()) while run() isn't yet waiting on the condition variable.11:39
* alan_g checks11:40
alan_galf_: AFAICS exit will be true when run tests it.11:42
alan_galf_: sorry just understood what you meant11:43
=== alf_ is now known as alf|lunch
tvoss|lunchmpt, katie, nothing to sync on my side11:54
katietvoss|lunch, mpt, nothing from here either11:55
mptRheet!12:02
=== alan_g is now known as alan_g|lunch
=== alf|lunch is now known as alf_
=== alan_g|lunch is now known as alan_g
alan_galf_:Are you happy with this version? https://code.launchpad.net/~alan-griffiths/mir/reuse-run_mir/+merge/15519614:00
racarrMorning14:00
alf_alan_g: looking14:01
alan_gracarr: morning14:05
=== tvoss|lunch is now known as tvoss
alf_alan_g: I am happier (although there still is a "hidden" thread that dispatches the signals). Let's see how well this way serves us for handling VT changes, and reevaluate then.14:22
racarralan_g: Did you see: https://code.launchpad.net/~robertcarr/mir/enable-inprocess-egl/+merge/15588814:22
alan_galf_: you can't avoid a self-race without using two threads14:22
racarrI have a feeling the continuous part of the part of this merge is DisplayServer::surface_factory and the move of src/shell/surfaces.h to include/...14:23
alan_galf_: boost.Asio can also hook into signals - but again there's a "hidden" thread14:24
alan_gracarr: I don't spend time second guessing WIP14:25
racarrok :)14:25
tvosskgunn, ping14:25
* alan_g wonders if "continuous" is contentious14:25
racarrcontentious yes14:26
alan_gracarr: want me to review?14:26
racarralan_g: That would be good when you have time. I think it's "Done"14:26
racarrI just don't really expect it to land on the first iteration14:26
racarrbecause of the surface bits, etc...14:27
alf_alan_g: The point of using signalfd or boost asio + signal_set (if it can manage signals without extra threads) is that everything would happen synchronously inside a thread that is already doing nothing (the main thread, currently mostly waiting on exit_cv). That is, we would move to a limited event loop structure.14:27
kgunntvoss: pong14:28
alan_galf_: That just seemed like more work (as it affects how DisplayServer::run()/stop() operate).14:31
alan_gtvoss: will you have time to chat about edge-type this afternoon?14:33
tvossalan_g, in ~30 minutes for max 30 minutes14:33
alan_gtvoss: I hope it won't take that long. ;)14:34
tvossalan_g, cool :)14:35
alan_galf_: are you happy to approve and revisit later?14:36
alf_alan_g: yes14:36
alf_alan_g: although later may be sooner than you think :)14:36
* alan_g thinks "after Easter"14:36
alf_alan_g: No easter for me yet, so for me maybe even sooner ;)14:37
racarrI heard from a homeless man that they cancelled easter.14:37
racarrNot sure where he got his info.14:37
alan_galf_: I'm around tomorrow - swapped it for the following Friday14:38
racarrinvestigating building input stack in clang so receive-input-in-clients can pass continuous integration14:40
alf_alan_g: I doubt I will have reached a conclusion by tomorrow. I still need to investigate how VT switching behaves exactly, and what we need to do (pause compositor, give up). There is also the complication that VT switching exists only on GBM, so we need to handle the difference between the platforms elegantly. One idea is to make e.g. SIGUSR1 mean pause()/play() regardless of the platform, and just connect it to VT switching on GBM.14:42
alf_alan_g: s/give up/give up drm permissions/14:43
* alan_g wishes he were clever enough to understand14:44
alf_alan_g: a little background: we can tell the kernel to send us a signal when the user changes to/away from our VT. When we lose our VT we need to pause compositing, and also give up our priveleged access to the graphics device (drm) so that others can render (e.g. X11)14:47
alf_alan_g: and vice versa when we regain VT "focus"14:47
alan_galf_: that helps. ;)14:47
alan_galf_: I can see why you'd then want to rethink signal handling14:48
=== tvoss is now known as tvoss|otp
racarralan_g: alf_: We talked yesterday in meeting (us/aus/nz) about removing MIR_DISABLE_INPUT after fixing clang build14:50
racarrseem sensible?14:50
alan_gracarr: my understanding is that we'll still need null input for the system compositing case14:51
* alan_g has been wrong before14:51
alf_racarr: related question... what will it take to make the input thread not spin?14:52
racarrwhere does lightdm get input?14:52
racarralf_: Is the input thread spinning again14:52
racarrwhich one do you mean?14:52
racarrsever or client14:52
alf_racarr: did it ever stop? :)14:52
racarrYeah!14:53
racarrI remember...14:53
racarr*scratches head*14:53
racarrsort of14:53
* alf_ rechecks to ensure he hasn't lost any episodes14:53
racarrI dunno! Ill figure out too14:53
racarroh yay memcheck problems in receive-input too14:54
racarrgoing to fix those first I guess14:54
alan_gracarr: just wondering does the run_mir signature in https://code.launchpad.net/~alan-griffiths/mir/reuse-run_mir/+merge/155196 solve the same problem as the_ready_to_run_handler()?14:55
alf_racarr: reconfirmed, InputDispatcher thread is spinning on the desktop14:59
racarralf_: Ok I will check it out soon15:00
racarrthanks :)15:00
alf_racarr: great :)15:00
racarralf_: ready_to_run_handler needs to run after the15:00
racarrhmm15:00
racarrerr alan_g ^15:01
racarrwas going to say, after the server components are started15:01
racarrbut maybe not really15:01
alan_gI wasn't sure either - that's why I asked15:02
racarralan_g: I will figure out, I thought that for sure it had to run after the various components are started15:03
racarrbut I think this is some piece of information I collected from a few months ago and forgot why15:03
racarrand it might not really be true now that I look...15:03
racarrshouldn't be true. just te DisplayServer:: needs to be initialized15:03
kdubgood morning folks, working on the android graphics integration tests today (will drive integrating the nexus4 display)15:08
alf_racarr: do you want me to file a bug for the spinning thread so we can keep track of this better?15:15
alan_gracarr: I've done a quick pass and highlighted my main concerns. Grab me if they don't make sense.15:18
alan_gkdub: racarr  - please review https://code.launchpad.net/~alan-griffiths/mir/reuse-run_mir/+merge/15519615:19
kdubalan_g, ok15:19
alan_gstatus: getting bits of cleanup landed, reviewing and thinking about which work item to steal next15:20
racarralf_: That would be great!15:26
racarralan_g: Want to steal hardware cursor?15:26
racarrits kind of cool, self contained, I can show you the drm/gbm APIs you need15:26
alan_gracarr: sure. Let me grab a drink first.15:27
=== alan_g is now known as alan_g|tea
racarralan_g|tea: Ok sounds good :)15:32
alf_racarr: lp #116145615:35
ubot5Launchpad bug 1161456 in Mir "InputDispatcher thread is spinning" [Undecided,New] https://launchpad.net/bugs/116145615:35
=== alan_g|tea is now known as alan_g
racarralf_: Thanks :)15:43
racarrhmm15:43
racarrthe input manager from the testing server configuration in test_client_input.cpp15:44
racarris leaking...15:44
alan_gracarr: what's best? Hangout? email with links and chat?15:44
racarralan_g: For cursor? Either way it's pretty simple. probably easiest is just jumping on a hangout quickly and I can quickly take you through what is there/what needs to happen15:45
alan_gracarr: let's do that then15:46
racarrok starting a hangout15:46
racarrliterally everything is leaking in this test16:06
racarrsomehow exit must not be clean16:06
alan_gracarr: does it use the test framework?16:09
alan_gracarr: does it use the mir test framework?16:09
alan_gBecause the server and client processes do not exit cleanly16:09
racarralan_g: Yes. It does...but why don't the other tests report leaks then?16:14
alan_gracarr: the parent test process should be clean, it is the server and client process that exit abruptly16:16
racarralan_g: Parent is clean yeah. server detects the input manager and all its dependencies (i.e. the whole android input stack)16:17
racarr as definitely lost16:17
racarrbut this doesn't happen for any other tests16:17
alf_racarr: I am not sure if/how it is related, but I currently trying to debug why the server doesn't shut down properly after a client has connected (and disconnected). The use count of our mg::Display shared_ptr<> is larger than expected at the end and thus our display it's not destroyed properly.16:34
alf_racarr: I am still investigating why we lose (or rather don't lose) shared_ptr references16:35
racarralf_: Ah...strange16:40
racarrno ideas from top of my head16:40
alf_racarr: just mentioned it in case it's somehow related to your issues and might help you with debugging16:42
alf_racarr: debugging = figuring out what's going on16:42
racarrthanks16:44
=== alan_g is now known as alan_g|afk
=== alan_g|afk is now known as alan_g
alan_galf_: that sounds like a circular dependency. :(16:53
alf_alan_g: Yes. An interesting clue that it only happens after at least one client has connected (and possibly disconnected, doesn't matter), never before.17:00
cecilpierce/part17:07
alf_alan_g: racarr: kdub: enjoy your holidays, talk to you next week (well, except Alan)!17:16
kdubyou too alf_ !17:17
racarrBye alf17:22
racarrenjoy :)17:22
alan_galf_: see you tomorrow!17:23
alf_alan_g: :)17:23
=== alan_g is now known as alan_g|wine
racarr"Why is "MirEventDelegate const *event_handler" a separate parameter and not a member of MirSurfaceParameters?" - Alan on receive-input-in-clients18:29
racarranyone have any opinions?18:29
racarrMy thought is that MirSurfaceParameters are surface creation parameters, whereas the event delegate is more something attached to a created surface18:29
racarr...but thats really only kind of in terms of the server/client interaction18:29
racarrnot convinced that fsync works correctly under valgrind19:05
sturmflutI finally got glmark2 running on Mir and took a short video: http://www.youtube.com/watch?v=Kjb8a8ISKWY20:45
sturmflutCould be useful for marketing purposes20:45

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