/srv/irclogs.ubuntu.com/2015/03/23/#ubuntu-mir.txt

=== chihchun_afk is now known as chihchun
alan_gduflu_: are the many autolanding failures over the weekend accounted for? Or is there more to fix?09:30
duflu_alan_g: There are a few. Fixed one on trunk so far. More unresolved on armhf (valgrind). Working on getting logs of those and backporting the first fix to 0.1209:31
duflu_So much broken09:31
alan_gDo you have it in hand - or can I jump in somewhere? (Where?)09:32
duflu_alan_g: I'm running out of day time. I expect I can hand this over soon. Just need to attach detailed logs: https://bugs.launchpad.net/mir/+bug/143518609:34
ubot5Ubuntu bug 1435186 in Mir "valgrind on armhf fails with with many errors" [High,New]09:34
duflu_alan_g: Or is it just a mistake that we expect valgrind to work on armhf?09:34
alan_gWe got optimistic after alf_ generated some suppression files.09:35
alan_gIt *ought* to work. But seems too much work.09:35
duflu_alan_g: I mean, did it ever work?09:36
duflu_I don't remember09:36
=== duflu_ is now known as duflu
alan_gIt did, but we had to suppress errors in libraries we don't own (IIRC  libc). That's fragile.09:37
* duflu checks the suppressions again09:40
duflualan_g: Yep, we just need more suppressions for system libraries.09:40
duflualan_g: Handover: https://bugs.launchpad.net/mir/+bug/143518609:41
ubot5Ubuntu bug 1435186 in Mir "valgrind on armhf fails with with many errors" [High,New]09:41
alan_gack09:41
alf_duflu: alan_g: the integration tests have a lot of hopefully false memory errors09:49
alf_duflu: alan_g: a single variable that valgrind thinks is uninitialized causing a cascade of memory errors?09:50
duflualf_: Don't know. The rabbit's hole is too deep for this evening09:51
duflualf_: P.S. I updated the 0.12 branch with one fix09:52
alf_duflu: great, thanks09:52
alan_galf_: plausible. Got a fix?09:55
alf_alan_g: no, just a theory09:56
* alan_g finally gets mako talking to ubuntu-device-flash again 10:19
alf_alan_g: part of the problem may be https://bugs.launchpad.net/ubuntu/+source/valgrind/+bug/1284653 , but it's possible we will need to update our own custo suppression files too10:36
ubot5Ubuntu bug 1284653 in valgrind (Ubuntu) "valgrind packages ouf of sync with current glibc version (2.19)" [Undecided,Fix released]10:36
alf_alan_g: oops, that's the old bug, the new one is: https://bugs.launchpad.net/ubuntu/+source/valgrind/+bug/143526110:36
ubot5Ubuntu bug 1435261 in valgrind (Ubuntu) "valgrind packages ouf of sync with current glibc version (2.21)" [Undecided,New]10:36
alan_galf_: That could be10:37
alan_gso it might sort itself out when that hits archive. Maybe we should just disable valgrind?10:42
alf_alan_g: That's one option. Alternative, we could temporarily provide a 2.21 version of the default suppressions in Mir. I will push an MP for this, to see if it makes any difference with CI.10:50
alf_*alternatively10:50
alan_galf_: OK, thanks10:54
alan_galf_: if your valgrind fix works in CI we should push it straight to trunk. Agreed?12:27
alf_alan_g: sure12:35
=== alan_g is now known as alan_g|lunch
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
=== chihchun is now known as chihchun_afk
=== alan_g|lunch is now known as alan_g
alan_gkdub: are you likely to finish off lp:~kdub/mir/demo-titlebars today? (Or shall I?)15:38
kdubalan_g, I can try to today15:39
* alan_g is trying to get all the "polish" to CanonicalWindowManager landed before trying to move it to libmirserver15:40
alan_gracarr: @lp:~kdub/mir/demo-titlebars Do you think there's a better way that's already supported? Otherwise, I think we're better to land something (in the examples) that demonstrates the pain caused by the existing API. (And use it to justify improvements to the API to clean it up.)16:06
=== dandrader is now known as dandrader|lunch
racarralan_g: That's fine too I guess...I kind of had the thought that its not16:35
racarrdoing enough yet to be realistic16:35
kdubhave to start somewhere :)16:38
alan_gWhat we need to get to is it being easy for users to do useful stuff. At least this demonstrates is that it is possible to do something.16:38
racarrwell obviously neither of those points can be argued with ;)16:42
racarrI am fine with it16:46
racarrI think my comment wasjust coming from16:46
racarrthe fact that I expect dealing with resize etc from the observer16:47
racarrwill be the "difficult bit"16:47
alan_gwho wants to do it from the observer? Just do it from the controller.16:47
alan_gI.e. the WM policy knows it is resizing the window, it can easily resize the decorations.16:49
alan_gThe observer is just to let the "views" know a change has happened.16:50
racarryes sorry thought-typo16:51
racarrthats still the difficult bit to do16:52
racarre.g. how do you make it atomic?16:52
alan_gThe controller is the only thing that updates the model, it already serializes updates.16:53
racarralan_g: Really?16:55
racarrI am talking about hte case where say the compositor chooses to render inbetween16:56
racarrupdating the surface and decoration surface16:56
alan_gOK, that's not been tackled16:56
alan_gI intend to do some rework on scene locking though16:58
racarrmm16:58
racarrI dunno if its a locking rework or a16:59
anpok_hm this could be resolved by some sort of batch processing of requests/events16:59
racarrchangeset/modifications API16:59
racarryeah16:59
anpok_or yes.. explicit locks.. but this feels complicated16:59
anpok_for the batch thing you would already serialize all notifications or requests that might cause changes to the scene17:00
alan_gwith C++14 we can have shared mutexes and only the shell grabs exclusive access17:00
racarrI guess in my mind17:00
racarrand we see here I have runaway with unjustified thoughts17:00
racarrbut17:01
racarrthe solution to this to avoid exposing synchronization17:01
racarrprimitives17:01
racarrwas to add17:01
racarrhierarchy to17:01
racarrthe surface stack17:01
racarrso that the decoration and surface are for example part of a window element which acts as a container17:01
racarrand I guess, yeah is also a surface (though not a window...though really there are a few ways we can shove around this terminology)17:02
racarrso anyway you resize or move the parent17:02
racarrand the children behave appropos17:02
anpok_why would adding hierachy avoid the need to expose synchronization primitives?17:04
racarrBecause you just call17:05
racarrparent_surface->resize17:05
racarrand the scene internally17:05
racarrlock()17:05
racarrresize1()17:05
racarrresize2()17:05
alan_gThe window manager needs to be in charge anyway - because it can change the decorations "appropriately".17:05
racarrMaybe17:06
alan_gWe don't need too much intelligence in the scene - it is just there for the views to observe.17:07
racarrI kind of have this other idea...but am struggling to articulate it17:07
racarrbut for like effects...e.g. window expose and other animations17:07
racarrit seems kind ofcumbersome to only have17:08
racarrthe decoration assosciation in the controller17:08
racarreh17:09
racarrmaybe just a model im mentally attached to rather than anything important17:10
alan_gRule of thumb: if you can't name two components that care about it it should not go in the scene, it should go in the component that cares.17:12
racarralan_g: Hmm thats a nice idea17:15
racarrI guess Im yet to think of the shell as a single component though17:15
racarra.k.a. the thing that does the window spread animations and17:16
alan_gThat's because it got mixed up in scene (and is only partially extracted even now)17:16
racarrthe frontend window management controller17:16
racarrmay not really be the same component right...17:16
racarrhmm17:16
=== dandrader|lunch is now known as dandrader
=== alan_g is now known as alan_g|EOD
anpok_racarr: hm I believe not only for rendering, also for each kind of change operation on the scene.. system behavior will be harder to reason about if anything can change between micro steps..19:14
racarryeah thats a good point to think about too19:20
anpok_i am all in favor of queueing the operations into batches.. i.e. at the start of processing you could define whatever is currently in the queue as you current workload19:22
anpok_and when that is done, redraw may happen ..19:22
anpok_every change that comes in later .. comes later..19:23
anpok_as a start19:23
anpok_one might want to refine that and differ between changes caused by external triggers or changes that are transitively required due to changes of the initial workload19:24
=== dandrader is now known as dandrader|afk
=== olli_ is now known as olli
racarrhttp://git-man-page-generator.lokaltog.net/21:21
=== dandrader|afk is now known as dandrader

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