/srv/irclogs.ubuntu.com/2013/05/20/#ubuntu-mir.txt

thomiugh03:29
thomiit's so easy to lock up the latop when working with mir03:29
thomirobert_ancell: is there some magic "kill mir_demo_server" keystroke?03:30
robert_ancellthomi, ctrl+c (is sent through to the console). Or alt+ctrl+backspace if that branch landed..03:33
thomirobert_ancell: neither seem to be working for me03:34
robert_ancelland you can't vt switch away from it?03:34
thominope03:35
robert_ancellit could be mir_demo_shell only has the alt+ctrl+backspace support and there's no escape from mir_demo_server (unless you ssh in)03:35
thomiI just have a black screen03:35
robert_ancellI'll just check the recent history03:35
thomirobert_ancell: OK, ssh fixed it03:36
robert_ancellthat branch hasn't landed so Ctrl+C / alt+Fn should be working03:36
thomirobert_ancell: should I be running mir_demo_server or mir_demo_shell? what's the difference?03:37
robert_ancellthomi, mir_demo_server is the trivial server, and mir_demo_shell has some shell like behaviour03:37
robert_ancellfor testing, mir_demo_server should be good03:37
thomiok03:37
robert_ancellthough mir_demo_shell is/will be more usable for playing around with03:38
thomiurp - I get a segfault inside MirConnection::connect(...)03:39
robert_ancellwhich client?03:43
thomirobert_ancell: I don't understand the question - this is in the mir stress test code03:43
thomiany ideas? http://pastebin.ubuntu.com/5682538/03:44
thomiI know it doesn't crash if the mir demo server isn't running, although that's not very useful03:44
robert_ancellnothing on stderr/out?03:44
robert_ancellwhere is your client code?03:44
thominope03:44
thominot currently pushed anywhere03:45
thomijust pushed it to lp:~thomir/+junk/mir-stress03:46
robert_ancellok03:46
thomiliterally all it tries to do is fire up a single thread, and in that thread, connect to the mir server03:46
robert_ancellI think you need to set the app name (http://unity.ubuntu.com/mir/group__mir__toolkit.html#gaf8c65b7597fc560616747cf259dcc045)03:48
robert_ancellyou set it to 003:48
robert_ancellSilly C++ not being able to tell the difference03:49
thomiahaaaa03:49
robert_ancellbecause that string is passed to the server03:49
=== jono is now known as Guest9541
thomirobert_ancell: so... my mir stress test breaks the demo_server05:11
thomirobert_ancell: with four threads connecting & disconnecting simultaniously, I get this: http://pastebin.ubuntu.com/5682684/05:11
robert_ancellthomi, well, I guess that's good in a way?!05:11
thomiAssuming I haven't make a mistake in my code, yes05:12
thomioooh wait...05:12
thomiI think I'm passing the same application name05:12
thomidoes that have to be unique?05:12
robert_ancellI think it's just a tag on each connection, but it's not checked for uniqieness05:13
robert_ancellIt might be a good idea to give each thread a name though05:13
thomiwell, I'll make sure that's unique to the thread, and see what happens05:14
robert_ancell(it's just passed up to the shell and it can decide what ot do with it)05:14
thomirobert_ancell: so am I right in thinking that the client library is what is used by the GUI toolkits (Qt, Gtk etc) in order to render in  a mir-shell?05:15
robert_ancellyes05:15
thomirobert_ancell: do you know of any restrictions around the number of client connections that can be made per process?05:15
thomiI'm using multiple threads to try and break mir, but I wonder if that's a valid test at all - maybe I should be using multiple processes instead05:16
thomilike, maybe the mir server code assumes a process will only connect once05:16
robert_ancellI'm not sure off hand. Multiple processes would certainly be safer05:17
thomirobert_ancell: who should I ask about this?05:18
robert_ancellthomi, alan_g or alf are good candidates05:18
thomiok, thanks05:18
robert_ancellthomi, ok, I'm off until next week, good luck!05:20
thomirobert_ancell: you too !05:21
robert_ancellthomi, oh, also ask racarr/kdub about it too - they're in a closer timezone05:21
thomiyeah, will do,t hanks05:21
robert_ancellbye05:21
=== alan_g is now known as alan_g|afk
=== alan_g|afk is now known as alan_g
alf__alan_g: Basically, there are two ways to achieve eglSwapInterval(0). Either the compositor doesn't sync with vsync (so you get tearing), or we provide a "spinning" variant of triple-buffering for client surfaces in which both the compositor and the client always have a buffer available without blocking.08:31
alf__alan_g: Kevin's current MP is for the first option08:31
alan_galf__: I think spinning is a no-go on battery powered devices. But is eglSwapInterval(0) actually the right measure?08:33
alan_gI mean tearing isn't a good user experience, and you can't actually see "eglSwapInterval(0)" as a user08:34
alf__alan_g: neither of these are useful in the normal case, they only make sense when measuring performance. Normal case is going to be either double or (normal) triple buffering.08:35
alf__alan_g: We need some way to avoid being bounded above by the refresh rate => eglSwapInterval(0)08:36
alan_gSo is this benchmark driven optimization? Or is there something in the "normal case" that is improved by it?08:37
alan_gThe idea is we can better measure the stack throughput is we're not constrained by updating the screen?08:40
alan_gs/is/if/08:40
alf__alan_g: It's not something that will be on by default, neither it is an optimization. It's just a use case that we need to support, so that we can evaluate maximum performance without the vsync restriction.08:40
alf__alan_g: stack throughput is we're not constrained by updating the screen => yes08:41
alan_galf__: OK08:41
=== alan_g is now known as alan_g|physio
=== alan_g|physio is now known as alan_g
alf__alan_g: looking at https://bugs.launchpad.net/mir/+bug/1175721, was there a particular test (or tests) that you found difficult to implement with the current infrastructure?11:29
ubot5Launchpad bug 1175721 in Mir "We lack a good testing story for our use of egl/drm/gbm/..." [Medium,Triaged]11:29
alan_galf__: I was trying to test that cursor movement resulted in the correct drm calls but to mock those calls got me into a chain of things I needed to replace with test doubles11:31
alf__alan_g: ok, in this case where we need to test only the extremes (GBMCursor -> drm calls) I think we can actually use our current design. We need to set up drm resources for the right number of screens etc, but we have support for this.11:44
alf__alan_g: I will start working on something along these lines and see how it goes11:45
alan_galf__: what I wanted to test was mocked input to DRM calls11:45
alan_gI know there's some support there. But the work needed seemed out of proportion to the code to be tested.11:46
=== alan_g is now known as alan_g|lunch
=== mmrazik is now known as mmrazik|afk
=== alan_g|lunch is now known as alan_g
=== mmrazik|afk is now known as mmrazik
=== francisco is now known as Guest18525
alf__alan_g: @message-processor-report-lttng, 1. are you on raring and 2. what version of lttng-ust do you have (dpkg -s dpkg -s liblttng-ust-dev)14:55
alf__?14:56
alan_galf__: 1. yes.  2. 2.1.1-214:57
alf__alan_g: the version is the same as mine... thinking of what may be going wrong...14:58
alan_galf__: let me know if/when I should look closer.14:59
alf__alan_g: I will, thanks15:00
alf__kdub: Good morning! Can you confirm that both the integration and the acceptance tests don't need to mock EGL/GL or hw on Android?15:03
kdubalf__, good morning, will check15:04
alf__status: gardening bugs, investigating reported test failure with lttng (which unfortunately can't be reproduced locally or in the builders), improving testing infrastructure15:43
alan_gstatus: catching up after time off. finding test failure with lttng MP (which, for some reason, is easily reproducible for me)15:44
kdubsatus, mp'd swapinterval 0, going to find some glmark numbers today15:46
racarrMorning15:51
alf__racarr: Good morning-10 :)15:52
alan_gracarr: Afternoon15:52
alan_gracarr: https://code.launchpad.net/~robertcarr/mir/depthify-stack/+merge/162211 hasn't changed for 2+ weeks. Can we kill it or mark it WIP pending an update?15:54
racarralan_g: I guess kill it15:56
kgunnracarr: alan_g you guys are so violent15:56
racarrI dont have any further suggestions though15:56
alan_gDoes anyone have an opinion on: https://code.launchpad.net/~vanvugt/mir/move/+merge/162487 (Nothing happening there either - partly due to duflu being away)15:57
racarrI dont think it makes sense to land any more demo code15:58
hikikostatus: still fixing compiler/linker errors in sdl platform (had to replace a lot of stuff after a local merge I did), fixed some bugs, replaced gcc with cmake to get rid of those compiler internal errors all the time... :)p15:58
alan_gracarr: You're advocating more violence?15:59
kgunnalan_g: seems he is, how do i move his to wip ? (do i have that power?)16:01
racarralan_g: yes XD16:01
racarrmine is not WIP it is just dead :p16:01
alan_gkgunn: Near the top, you can try changing the status (There's an odd icon)16:02
alan_gIf you can't change it the the rest of us can.16:03
kgunnalan_g: hmmm, i can only change status to approved/rejected/merged16:04
alan_gkgunn: look harder "Work in Progress" is there (at the top)16:05
kgunnalan_g: :) i feel stupid now....it was the only one in black text, my eye/brain completely filtered it :)16:05
alan_gkgunn: you are not the first16:06
=== mmrazik is now known as mmrazik|afk
racarrDoes anyone want to talk about16:13
racarrdepthify stack? Because I feel like16:13
racarrerr.. that's what I need to work on16:13
kgunnracarr: as part of the unity-mir layer right?16:13
kgunnper the comments in the original in mp16:14
racarrthat's what the thread on launchpad talks about but16:14
racarrI don't think that's really what the question is...16:14
racarrThe surface stack could be implemented in unity-mir or16:14
racarrin mir.16:15
racarrbut, the discussion in this thread, I think gets to the interfaces too16:16
racarri.e. say there is some surface stack interface implemented by unity-mir16:16
racarrdoes it know about depth at all?16:16
racarri.e. are there methods like, raise this surface relative to this surface, etc in Mir16:16
racarrthe proposal from robert (I don't actually know what alan is proposing/expecting)16:17
racarralan_g: ^ ;)16:17
kgunnracarr: "thinking aloud", when we get to the point where we want to16:18
racarrIs to not have any of this, and instead have the shell provide a sort function to the compositor and input stack16:18
kgunndo dirty region tracking for optimization16:18
kgunnwouldn't it actually be best if mir has the z stack (not unity-mir)16:19
alan_gracarr: I was expressing doubt that "depth" was adding sufficient flexibility to solve problems16:19
racarrWell. I think so :) but it can work without mir having the z stack16:19
racarrkgunn: i.e. whatever is tracking this damage calls the shell sort function16:19
racarrand determines the z order that way16:19
racarrthe thing I don't like about it is hmm16:20
kgunnracarr: got it...so really no benefit to stick it in mir, since its gotta go check with shell anyway16:20
alan_gI've no objection to giving mir a better model of how surfaces are related - just not sure "depth" is the answer16:20
racarrkgunn: No I think there is an advantage...I'm trying to explain16:20
* kgunn shuts up for a minute :)16:20
alan_gracarr: kgunn hangout?16:20
kgunnsure16:21
racarrSure. It will be easier.16:21
alan_ghttps://plus.google.com/hangouts/_/91e1f9a0e398b79534e877285ddd48e7fe357722?hl=en-GB16:22
racarrsorry guys ayudio trouble just a sec16:25
katietvoss,16:35
racarrThanks both :)16:58
racarrThere are still some loose ends around input now that I will tie up17:00
racarrGoing to do some diagraming17:09
racarralan_g: Oh! if you have a few minutes I wanted to talk about options17:18
alan_gracarr: sorry, missed that - and supper is now ready.17:42
=== alan_g is now known as alan_g|life
racarralan_g|life: No worries. Enjoy :)17:46
racarrStatus: Working on hooking the input stack more directly to the surface stack/shell18:53
racarrinvolves some InputDispatcher rework, am trying to figure out how deep I need to go18:54
racarrand kind of spiralling but I think I should pull together a plan over lunch18:54
racarrspiralling thoughts, not a personal spiral :p18:57
racarranyway lunch!18:57
racarr</lunch>19:36
=== francisco is now known as Guest30322
kgunnthomi ! hey i updated the test spec....might take a gander, stuff to report & how to interp failures19:49
racarrOh hey thomi I need to harass you too19:49
racarrplease distract me from this awful world where every class begins with "Input"19:50
racarrp.s. not to accuse kevin of harassment but that's my plan19:50
kgunn:)19:52
racarrdiagramming with an aubergine sparkle pen...20:01
racarrI am the input princess! *twirls*20:02
mlankhorstracarr: What about MirInput class ? :>20:05
racarrit's not there! ;)20:07
racarrright now I am in the world of android::Input*20:07
thomiracarr: hey20:19
thomikgunn: ok, will take a look20:19
racarrthomi: Hey. I am about to jump in a meeting re:platform API in 10 minutes so we might have to finish this later20:20
thomiok20:20
racarrbut I want to get integration testing for mir<->qt in place20:20
thomilater would be better for me too20:20
racarrin process and out of process20:20
racarrok well ping me later when you have some time to talk about it20:20
racarrI don't mean I want to do it RIGHT NOW I just mean I want to get a plan20:20
thomiracarr: nah, you ping me after your meeting, I just need a second coffee, that's all :)20:21
racarrOk :D20:21
racarrthanks20:21
thominp20:21
thomiHey guys & girls, Mir and unity-system-compositor projects are now in the MBS system, which is suppoosed to trigger a rebuild of U-S-C every time mir lands, to avoid the API breakage issue we currently have. Please let me know if you see anything strange going on there...20:57
kgunnthomi: yes...but thot it was because prebuilts were still wonky21:10
kgunnbut lightdm "held back, not upgraded"21:10
thomikgunn: ummmm21:10
kgunntried to mannually install to update...finally complaining about depends on unity-system-compositor21:10
thomikgunn: possibly lightdm needs to be added to that system as well then. I'm not aware of what that interaction look slike21:11
thomi*looks like21:11
kgunnbut then when i tried to manually install unity-system-compositor it complains21:12
kgunnunity-system-compositor : Depends: libmirserver0 (= 0.0.2bzr676raring0) but 0.0.3bzr691raring0 is to be installed21:12
kgunnbrb21:12
kgunngotta run the son somewhere21:12
thomikgunn: right, I think that should fix itself now21:12
thomionce something lands in mir21:13
* thomi crosses fingers21:13
kgunnmmm, ok21:13
kgunnwell i was trying to build from source this afternoon21:13
kgunngot to the "make install"21:14
kgunnwhich then complained....couldn't find /build/doc/html21:14
kgunnthere's a /build/doc/footer.html21:14
thomikgunn: maybe ping me when you get back?21:15
alan_g|lifekgunn: @"....couldn't find /build/doc/html" - that's created by "make doc" HTH21:49
kdubcross compiling is super fun!21:51
racarrkdub: Its hard to think of anything more fun21:53
kdubthomi, i don't understand 'mbs' or 'u-s-c' about the changes  you mentioned to the autolanding21:53
thomikdub: u-s-c = unity-system-compositor21:54
thomibut that's too long to type21:54
thomiand I'm lazy21:54
kduboh, ok :)21:54
thomimbs = meta-build-system, which is something we're working on to solve the problem of "when package X gets rebvuilt, we also need to rebuild packages Y and Z, due to API/ABI compatibility"21:54
thomiwhich is the case with u-s-c and mir21:54
thomiso essentially, every time mir lands, we should also build a new u-s-c21:55
thomiracarr: I need to talk to you about my mir stress tests as well22:10
racarrthomi: Ok! Lets talk22:11
thomiracarr: hangout, or...?22:11
racarrSure22:11
racarrjust give me 2 minutes to finish writing this test.22:11
thomisure22:11
racarr[  FAILED  ] SurfaceStack.surface_is_created_with_requested_geometry22:13
racarrwhat a bummer22:13
racarrXD22:13
racarrok hangout time22:13
racarrthomi: ^22:14
thomisure22:14
racarrthomi: Err can you start it I have to use the android client today22:14
thomilet me invite you22:14
racarrbecause my audio has chosen to no longer work inside hangouts22:14
thomiracarr: invite sent22:16
thomiracarr: lp:~thomir/+junk/mir-stress/22:26
thomiracarr: http://pastebin.ubuntu.com/5685237/22:30
thomiracarr: so I can't run the demo_server under gdb since when it crashes it locks up the system, and I can't start it under SSH, since it can't get a FD for the current VT.22:47
thomiperhaps you know of a way around this?22:47
racarrit locks up the system or breaks output?22:52
racarrWhat I do is22:52
racarrgdb mir > foo.txt 2>&122:53
racarrrun22:53
racarrmake crash22:53
racarrswitch back to vt22:53
racarrbt22:53
racarrctrl+c22:53
racarrctrl+d22:53
racarrthen answer the insible prompt22:53
racarry22:53
racarrthen switch to X and back22:53
racarrlol22:53
thomihaha22:53
kdubhaha :P22:53
racarrthen a man will walk up to you and ask you if you like to ride horses22:53
thomiI'm trying to sort something out with screen, that might help22:53
racarroffer to trade a golden egg for his bow and arrow22:53
racarrthen the journey begins...22:53
racarrwould be nice to have22:55
racarrmir --debug like unity has22:55
racarrthat prints a bt on crash22:55
thomiyeah, or something like --advanced-debug, which drops you into a gdb session22:56
thomiracarr: hmm, if I run the mir_demo_server under gdb it doesn't crash, so it feels like a race condition to me22:57
racarrthomi: Of course it doesn't that would be too easy22:58
racarrthomi: It would be interesting to see if you could reproduce it22:59
racarrwith multiple processes disconnecting/reconnecting as fast as possible22:59
racarrso we can rule in/out the client library22:59
thomiyeah22:59
racarrP.S. This exists: https://code.launchpad.net/~robertcarr/mir/enable-surface-placement/+merge/164817 need it for an upcoming input acceptance test23:00
racarrthomi: Right now I cant think of anything better than stumbling through the code guessing at race conditions23:01
racarrbut if you can narrow it to server/client23:01
racarrI can do that XD23:01
kgunnthanks alan_g|life!23:33
kgunnlike a champ23:33
kgunnbummer...same probs23:52
kgunngotta go tho23:52
thomiracarr: so... good news and bad news23:53
racarrkgunn: See you!23:53
thomiracarr: good news: mir server crashes with multiple processes as well23:53
racarrthomi: Uhoh23:53
thomiracarr: bad news: mir server crashes with multiple processes as well23:53
racarrmm23:53
racarrnothing informative in backtrace?23:53
thomiI haven't managed to get a backtrace yet,23:54
thomiI think I need to look into gdb-remote23:54
racarrok ill spend some time investigating soon23:57

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