/srv/irclogs.ubuntu.com/2013/10/14/#ubuntu-mir.txt

=== chihchun_afk is now known as chihchun
RAOFDamnit, mir_demo_client_eglplasma! Why can't you find the socket?05:49
dufluRAOF: Cos we moved it in the server but failed to update libmirclient, I think06:00
dufluI would have pointed that out if the MP didn't fly by and land without me noticing06:01
dufluRAOF: If that's right, can you log a bug?06:02
RAOFduflu: I don't think it's a new change. This *should* be all code that worked on another laptop.06:03
* RAOF is not running this from trunk, but from nested-spike.06:03
dufluSounds pointy06:03
tvoss_good morning :)06:26
RAOFDear gdb: plz learn to C++.06:27
RAOFNo love, Chris.06:27
tvoss_RAOF, for printing values?06:30
RAOFtvoss_: Indeed.06:30
* tvoss_ always forgets the package that adds pretty printing of stl containers06:30
RAOFTo gdb?06:31
tvoss_RAOF, yup06:31
duflutvoss_: When you remember, do tell06:32
dufluCos I've tried dropping the STL from a great height and it just won't die. So being able to debug would be next best thing06:33
RAOFHm.06:35
RAOFLooks like it might be in libstdc++-4.8-dbg?06:35
tvoss_RAOF, just pinged doko06:36
dufluSurely pretty-printing is a generic template thing? Should be...06:36
duflui.e. Not STL-specific06:36
tvoss_duflu, it relies on python to do the pretty printing06:36
dufluHah06:37
tvoss_RAOF, that would  be libstdc++6-4.8-dbg, correct?06:37
RAOFtvoss_: Yeah. Just trying to get it to actually work :)06:37
tvoss_RAOF, likewise06:37
RAOFduflu: But you'd really really like STL-specific pretty printers, so that your std::map<foo, bar> doesn't expand to 200 characters of entirely impenetrable implementation details.06:38
dufluRAOF: No, I'd like pretty printing for any template. Not just the STL. Just like clang does06:38
RAOFI'd like that too.06:39
RAOFI'd like both less stupid template expansions, *and* std::map<int, string> = [{1, "one"}, {2, "two"}, …]06:39
tvoss_RAOF, duflu this mail also helps: http://lists.kde.org/?l=kdevelop&m=125326438617051&w=206:41
tvoss_although I would have thought that we have packaged that functionality, too06:42
RAOFtvoss_: I can only get python syntax errors out of that. :(06:43
RAOFSadness ☹06:43
RAOFtvoss_: Ah. The pretty printers aren't python3 code.06:46
tvoss_ah06:46
RAOFAnd since gdb links to the 3.3 runtime...06:47
tvoss_RAOF, now that's a bit annoying then06:47
RAOFtvoss_: Ah, but running 2to3 on it appears to work.06:50
tvoss_RAOF, got a nice pastebin?06:50
* tvoss_ wonders whether having pretty printers in our retracing-infrastructure would result in more easily readable stacktraces06:51
RAOFtvoss_: sudo 2to3 --write /usr/share/gcc-4.8/python/libstdcxx/v6/printers.py06:51
tvoss_RAOF, that's easy :)06:51
tvoss_RAOF, I get http://paste.ubuntu.com/6234780/06:56
=== chihchun is now known as chihchun_afk
RAOFtvoss_: Oh, you do 2. from http://sourceware.org/gdb/wiki/STLSupport, but with /usr/share/gcc-4.8/python07:00
tvoss_RAOF, nope, that's from libstdc++-4.8-dbg07:01
RAOFtvoss_: Yeah, but the python path is wrong (specifically, /usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.18-gdb.py appears to not add the sys path correctly)07:03
RAOFHm. Do we build without rtti? The pretty-printer is an ugly-printer without it :)07:04
tvoss_RAOF, nope, we never disabled rtti07:05
=== chihchun_afk is now known as chihchun
RAOFSayeth the pretty-printer: std::shared_ptr (count 2, weak 0) 0x60dbd8, surface_map = warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<mir::client::ConnectionSurfaceMap, std::allocator<mir::client::ConnectionSurfaceMap>, (__gnu_cxx::_Lock_policy)2>'07:06
om26erduflu, re: bug 1227739 I assume that work will go in after 13.10 release ?07:08
ubot5bug 1227739 in Mir "Mir continues to render background application surfaces even when they're not visible" [High,In progress] https://launchpad.net/bugs/122773907:08
dufluom26er: Unclear. I'm told the current work is exceptional to the freeze. But really I can't even get the prereq branches landed yet07:09
duflu... everyone's too busy to review them one way or the other07:10
tvoss_RAOF, https://sourceware.org/bugzilla/show_bug.cgi?id=1423507:10
ubot5sourceware.org bug 14235 in python "verbose RTTI message polluting traces" [Normal,New]07:10
om26erduflu, right. there is still work in unity-mir needed after your branches get merged?07:11
om26eror any other component07:11
dufluom26er: Yeah, *maybe*. Would be unpredictable as to whether the fix works otherwise.07:11
dufluThe unity-mir fix is trivial. I'm just not familiar with building/testing that project07:12
dufluUmm, I mean platform-api?07:12
Saviqhey folks, is anyone looking at https://bugs.launchpad.net/ubuntu/+source/maliit-framework/+bug/1238107 - it's the most visible hang/crash at the moment for me - since it happens almost every time you stop unity807:16
ubot5Ubuntu bug 1238107 in maliit-framework (Ubuntu) "maliit-server crashed with SIGSEGV in __GI___pthread_mutex_lock()" [Medium,Confirmed]07:16
tvoss_Saviq, alf_ was looking into a similar issue07:17
alf_Saviq: I was planning to look into at after updating the phone07:18
alf_s/at/it/07:18
Saviqalf_, great thanks, let me know if you need help!07:18
alf_Saviq: will do07:18
alf_Saviq: so, just 'stop unity8' to reproduce?07:19
jibelI got a webbrowser crash with the same trace on build 95 this morning bug 123952207:19
ubot5bug 1239522 in webbrowser-app (Ubuntu) "webbrowser-app crashed with SIGSEGV in __GI___pthread_mutex_lock()" [Medium,New] https://launchpad.net/bugs/123952207:19
Saviqalf_, yeah07:20
Saviqjibel, yeah, it's something in mirclient most probably07:20
alf_jibel: @1239522, is the webbrowser-app reproducible consistently?07:20
alf_jibel: the crash I mean07:20
jibelalf_, no, I was trying all the apps to verify none of them was completely trashed. I'm searching a way to reproduce.07:21
=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
Saviqduflu, re: bug #1238107 I believe alf_ said bug #1233988 was slightly different07:41
ubot5bug 1233988 in maliit-framework (Ubuntu) "duplicate for #1238107 With Mir enabled: platform-api apps crash with SIGABRT in __gnu_cxx::__verbose_terminate_handler(), thrown from mir::client::DisplayConfiguration::copy_to_client()" [High,Fix committed] https://launchpad.net/bugs/123398807:41
ubot5bug 1233988 in maliit-framework (Ubuntu) "With Mir enabled: platform-api apps crash with SIGABRT in __gnu_cxx::__verbose_terminate_handler(), thrown from mir::client::DisplayConfiguration::copy_to_client()" [High,Fix committed] https://launchpad.net/bugs/123398807:41
Saviqactually07:41
* Saviq builds platform-api07:41
alf_Saviq: ah, so the fix for 1233988 is not yet in?07:42
dufluSaviq: I'm not convinced. But I'm also not convinced we fixed it properly first time. We should at least get to the stage where the known fixes are released, then re-assess if there's still a problem07:42
Saviqalf_, it's Fix committed everywhere07:42
Saviqduflu, +107:42
alf_Saviq: but not released...07:42
Saviqalf_, yup07:42
duflualf_: I assume you verified the platform-api was smart enough to at least check for connect failure?07:43
duflu.. i.e. returning false is not in vain07:43
Saviqalf_, actually it's released in platform-api https://code.launchpad.net/~phablet-team/platform-api/trunk07:45
alf_duflu: Saviq: yes, it fails an assertion... but now that I think about it, I think I tried it in debug mode, not sure if the assertion is fired in the package version too07:45
Saviqon Thursday07:45
dufluRight, but the bug may still exist. Only as an error now rather than a crash07:46
dufluAlthough platform-api could still be abusing libmirclient and cause it to crash elsewhere07:47
dufluPerhaps we should strengthen libmirclient so it doesn't get blamed for bad parms...07:47
Saviqalf_, duflu, I'm still getting that crash reliably in maliit-server when stopping unity807:47
alf_Saviq: what about 1233988 ?07:47
Saviqsomewhat reliably at least07:47
Saviqbug #123398807:47
ubot5bug 1233988 in maliit-framework (Ubuntu) "With Mir enabled: platform-api apps crash with SIGABRT in __gnu_cxx::__verbose_terminate_handler(), thrown from mir::client::DisplayConfiguration::copy_to_client()" [High,Fix committed] https://launchpad.net/bugs/123398807:47
Saviqalf_, I never knew how to reproduce it... the trace seems exactly the same..07:48
dufluSaviq: I'm not confident the fixes so far are sufficient so maybe just reopen instead of duplicating in new bugs07:48
Saviqduflu, sure - your call07:48
alf_duflu: Let me investigate a bit further today, and I will merge as needed07:48
dufluSaviq: Most importantly I just want to prevent people from working on duplicates. They're unaware of duplicating effort etc07:50
Saviqduflu, I understand07:50
Saviqduflu, works for me07:50
duflualf_: Should we be looking up valid_connections for all libmirclient API calls?07:50
dufluProbably wouldn't hurt07:51
dufluAnd it would stop crash reports from landing in Mir07:51
dufluHmm, actually it wouldn't. But it would allow us to instantly say "not a Mir bug"07:52
Saviqduflu, alf_ I still get the maliit-crash on reboot07:59
Saviqso sounds like not fixed indeed07:59
dufluSaviq: No problem, just reopen07:59
alf_Saviq: at least my part of the fix was not about not getting a crash, but getting a better crash (and not in Mir ;))08:00
Saviqalf_, ok ;)08:00
Saviqalf_, http://pastebin.ubuntu.com/6234953/08:01
alf_Saviq: so is this with the default platform-api package, or something you built?08:02
Saviqalf_, default papi, my mir trunk + https://code.launchpad.net/~kdub/mir/android-buffer-syncfence/+merge/18971708:02
Saviqalf_, can downgrade mir if you think it matters08:02
alf_Saviq: Can you try with a custom built platform-api? Just the package version but with -DCMAKE_BUILD_TYPE=Debug, to ensure the assertion for invalid connections is actually compiled in.08:04
Saviqalf_, will do08:05
alf_Saviq: hmm, just a moment to check something08:06
Saviqalf_, holding08:07
alf_Saviq: ok, please continue :) You may want to add a debug message for 'connect_suceeded' in u_application_instance_new_from_description_with_options src/ubuntu/mirclient/ubuntu_application_api_mirclient.cpp (that's where the assertion should fire, but no harm in having an extra message there)08:11
duflualf_: One of the duplicates today clearly showed MirConnection's this==NULL08:12
alf_duflu: ok, so the problem probably is that platform-api should handle connection failures better. I wonder... is u_application_instance_new_from_description_with_options supposed to return NULL if the call fails?08:14
alf_tvoss_: ^^ ?08:14
alf_right now it just asserts08:14
tvoss_alf_, yes, returning null would be correct08:15
tvoss_alf_, admittedly, error handling should be better, but right now, NULL indicates error08:15
dufluI think we need to protect libmirclient from false accusations and error-check the connection parameters08:15
alf_duflu: +108:20
tvoss_alan_g, ping08:48
alan_gtvoss_: hi08:48
tvoss_alan_g, hey there, can I ask you to review https://code.launchpad.net/~kdub/mir/android-buffer-syncfence08:49
alan_gtvoss_: it is on my list08:49
tvoss_alan_g, ack, we would like to land the mp asap, so would be great if you could bump priority08:49
alan_gtvoss_: OK. Do you know the best place to ask about network problems? (I'm a bit distracted by: my desktop stopped connecting to wired or wireless after I crashed X on Friday. Even installing a fresh image didn't fix - even though it works fine off the memory stick image)08:52
tvoss_alan_g, #ubuntu-desktop08:52
alan_gtvoss_: ta08:53
* duflu sees clipping bugs on iOS 7 and feels better about life08:59
alf_duflu: :)09:00
dufluIt's kind of nice generally that Apple has lowered the bar/standard for UIs :)09:01
alan_gMy wire dislikes iOS7 nearly as much as Windows809:06
duflu-r +f?09:06
dufluI'm not convinced Win8 was a step backwards compared to Win7. But Apple have killed a large chunk of their distinctiveness and competitive advantage with iOS7. And that's good for Ubuntu.09:09
alan_gduflu: she's comparing Win8 with WinXP (but IMO win8 introduced a lot of silly traps for the user - e.g. two independent IE installs)09:21
dufluTo Microsoft's credit, at least with Win8 you generally don't need to install drivers any more. And the compositing feels nice and smooth09:22
duflualan_g: I've got to run, but would you be able to check this out and see why it's hanging in integration-tests?...10:11
duflulp:~mir-team/mir/verify-MirConnection10:11
alan_gduflu: Sure, I'll have a look later10:12
alf_Saviq: https://code.launchpad.net/~afrantzis/platform-api/fix-1233988-more/+merge/190908 and10:12
alf_Saviq: https://code.launchpad.net/~afrantzis/qtubuntu/fix-1233988-more/+merge/19090710:12
duflualan_g: Cool, ta10:12
Saviqalf_, cool!10:13
Saviqalf_, will test asap10:14
alf_Saviq: note: this is not a fix of why maliit-server can't connect to the mir server, but at least now you should be getting a clear FATAL message from Qt (which is what the xcb backend does when it fails to connect)10:14
Saviqalf_, so a better message at least10:15
Saviqalf_, and no crash10:15
Saviqalf_, well, I *know* why it can't connect - it's being shut down :)10:15
alf_Saviq: There will be a crash == qFatal() == abort(). But we can change this to just print a message and exit cleanly... although the right solution here is to find why maliit is trying to connect to a server that is shutting down.10:16
Saviqalf_, indeed10:17
=== chihchun is now known as chihchun_afk
alf_Saviq: the problem is that I can't reproduce the maliit crash with 'stop unity8'. Of course, the maliit crash is very easy to recreate in general: just run maliit-server manually after 'stop unity8'.10:28
alf_Saviq: some kind of race perhaps? How does upstart now when unity8 has started, so it can start maliit-server?10:29
Saviqalf_, they stop "in concert" and indeed it's not 100% reproducible10:29
Saviqalf_, but you can run the unity8 ap tests suite - should get you some .crash files10:29
alf_Saviq: In upstart unity8.conf, we call 'exec unity8'. How does upstart know when unity8 has *really* started (i.e. it's ready to accept client connections?), so it can start maliit-server (maliit-server.conf: 'start on started unity8')?10:36
Saviqogra_, ↑ can you shed some light there?10:36
ogra_it waits until the PID it got returns something ...10:37
ogra_Saviq, alf_ http://upstart.ubuntu.com/cookbook/#expect10:39
alf_ogra_: thanks10:40
alf_Saviq: "If your daemon has a "don't daemonize" or "run in the foreground" mode, then it's much simpler to use that and not run with fork following. One issue with that though, is that Upstart will emit the started JOB=yourjob event as soon as it has executed your daemon, which may be before it has had time to listen for incoming connections or fully initialize."10:40
Saviqalf_, yeah, I know10:40
alf_Saviq: does unity8 daemonize?10:41
Saviqalf_, nope10:41
ogra_so tracking the first PID should be fine then10:41
ogra_(i.e no need to set "exepect")10:42
alf_ogra_: yes, but we fall into the "Upstart will emit the started JOB=yourjob event as soon as it has executed your daemon, which may be before it has had time to listen for incoming connections or fully initialize." case10:42
ogra_(except if you fork more than once)10:42
ogra_i know slangesek is on a querst to look through all ubuntu touch upstart session jobs, you probably want to wait for his input10:45
ogra_*quest10:45
ogra_is teher a sprecific socket or file maliit should wait for ?10:45
ogra_upstart has ways to make it do that10:46
=== chihchun_afk is now known as chihchun
ogra_(you could drop "on started unity8" and make it ie "start on created socket file")10:46
ogra_(and stop on removed ...)10:47
Saviqalf_, arguably, since mir clients are not supposed to die when mir dies, shouldn't it also just wait for it to be ready and reconnect?11:14
alan_gSaviq: alf_ we're a long way from that scenario working. (I'm currently fixing a client-side hang in the API when the server dies)11:19
Saviqalan_g, got it11:19
tvoss_alan_g, for kdub's branch: could you give it a more detailed review before kdub fixes the tests?11:32
alan_gtvoss_: that was my plan11:34
=== hikiko is now known as hikiko|lunch
tvoss_alan_g, thx, would help a lot11:34
Saviqtvoss_, btw, https://bugs.launchpad.net/unity8/+bug/1238645 is apparently valid for mir/qtubuntu/somewhere11:38
ubot5Ubuntu bug 1238645 in Unity 8 "Shell does not get autopilot keyboard input if maliit isn't running" [Undecided,In progress]11:38
tvoss_Saviq, looking11:39
Saviqtvoss_, and I think we're seeing the result of it https://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/2412/?#showFailuresLink11:39
Saviqeven with the workaround that we have11:39
Saviqor workaround--, but upstart++ starting maliit-server for us11:39
tvoss_hmmm, so key events are sent via uinput?11:40
ogra_just add an env var check to maliits upstart job11:42
ogra_make it a no-op if the var is set ... export it from AP11:43
tvoss_Saviq, what ogra_ said ^?11:46
Saviqtvoss_, yes they are11:46
Saviqogra_, it's not about maliit not being started11:46
Saviqogra_, it should be unrelated11:46
ogra_ah, k11:46
ogra_i thought maliit blocks uinput11:46
tvoss_ogra_, that's actually an interesting idea. Saviq, didn't we see the permissions on /dev/uinput change recently?11:48
Saviqtvoss_, well, yeah, it changes to "bluetooth" for me11:49
Saviqtvoss_, but works regardless of that11:49
Saviqi.e. perms no perms, if maliit is working - input is delivered (generally - as we can see there are still failures) - if not - no11:50
tvoss_Saviq, ack, looking into it11:53
=== tvoss_ is now known as tvoss|dentist
ogra_root@ubuntu-phablet:/# grep uinput /lib/udev/rules.d/*12:00
ogra_/lib/udev/rules.d/61-autopilot-uinput.rules:# Creates autopilot group specific access to /dev/uinput12:00
ogra_/lib/udev/rules.d/61-autopilot-uinput.rules:KERNEL=="uinput", SUBSYSTEM=="misc", SYMLINK="autopilot-uinput", GROUP="autopilot", MODE="0660"12:00
ogra_/lib/udev/rules.d/70-android.rules:ACTION=="add", KERNEL=="uinput", OWNER="system", GROUP="bluetooth", MODE="0660"12:00
ogra_Saviq, tvoss|dentist ^^^12:01
ogra_i guess we should drop it from the android rules :)12:01
ogra_(and if GROUP=autopilot is wrong adjust thios too)12:02
=== hikiko|lunch is now known as hikiko
=== jhodapp|afk is now known as jhodapp
=== alan_g is now known as alan_g|lunch
alf_Saviq: I wonder if what's happening with maliit etc is that the server crashes, maliit aborts, it's respawn and then fails to connect to the non-existent mir server.12:53
alf_Saviq: because, all the backtraces we have for this issue point to this happening during application (Qt platform) setup12:57
alf_Saviq: in any case, the new MPs for platform-api and qtubuntu should make this clearer12:58
=== tvoss|dentist is now known as tvoss
=== alan_g|lunch is now known as alan_g
Saviqalf_, might be indeed, am building them now13:09
=== chihchun is now known as chihchun_afk
alf_Saviq: Unfortunately, I am not able to get maliit to crash with 'stop unity8' (tried about 20 times now). I do get https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1238116 all the time though...13:11
ubot5Ubuntu bug 1238116 in unity8 (Ubuntu) "unity8 crashed with SIGSEGV in QIcon::~QIcon()" [Medium,Confirmed]13:11
Saviqalf_, right, that one's solved with https://code.launchpad.net/~aacid/unity-mir/waitforme/+merge/19071613:12
Saviqalf_, and it uncovered a few other bugs now indeed13:13
Saviqalf_, since we're destroying stuff proper now13:13
Saviqalf_, I'm just building qtubuntu now and will let you know of what changed asap13:14
alf_Saviq: thanks (note you need both the MPs to see the effect)13:15
Saviqalf_, yup, papi already built13:15
tvossSaviq, I do see events getting into mir with autopilot and maliit not running13:25
Saviqtvoss, yeah, we need to track them up the stack13:26
jibelgreyback, I added a video to bug 123453813:27
ubot5bug 1234538 in unity8 (Ubuntu) "With Mir enabled - Applications randomly failed to start" [High,Confirmed] https://launchpad.net/bugs/123453813:27
tvossSaviq, I have a gut feeling that maliit goes away and the focus chain in unity is not correctly restored or something13:27
greybackjibel: thanks. That video I guess with a recent image?13:28
jibelgreyback, 9613:28
greybackjibel: perfect, thanks. Will look13:28
Saviqtvoss, if maliit is stopped *before* unity8 starts13:28
Saviqtvoss, it doesn't work either13:29
tvossSaviq, hmmm ... which would then mean, that qt/qml somewhere checks if an input-method is available13:29
greybackjibel: last question: that a galaxy nexus or nexus4?13:35
jibelgreyback, mako/nexus413:35
greybackjibel: Ok, I'll try it there.13:36
greybackmzanetti: that one new to me, thanks for that13:39
greybackmzanetti: is it logged? I can't find it?13:40
mzanettigreyback: noticed when developing the Ubuntu Authenticator on the weekend13:40
mzanettigreyback: no, didn't report it yet13:40
mzanettigreyback: it doesn't really hit users, but it13:40
mzanettiis annoying for app developers13:40
greybackmzanetti: every fix is a good fix13:40
davmor2mzanetti: what issue is that?13:42
mzanettidavmor2: run an app from the command line, lock the screen, press ctrl+c to stop the app, unlock the screen -> Boom!13:42
tvossSaviq, got it13:43
Saviqalf_, so yeah, "FATAL: QUbuntu: Could not create application instance", but still getting crashes13:47
Saviqalf_, and/or unity8 locking up13:47
Saviqcollecting .crashes now13:47
alf_Saviq: ok, so if the hypothesis is correct, the "FATAL: QUbuntu: Could not create application instance" should be from the second (respawned) run of maliit-server. Can we verify this, e.g., by getting the stack trace of the first run if it crashed, or some kind of upstart log?13:50
Saviqalf_, I can get you both, yeah13:51
Saviqalf_, I can also get you packages I'm seeing that in, if you want them13:51
alf_Saviq: yes, a cross check with what I have would be good, since I can't get the crash...13:52
Saviqalf_, so... http://people.canonical.com/~msawicz/repo.tar.gz  - still uploading13:58
Saviqalf_, that is:13:58
Saviqmir + https://code.launchpad.net/~kdub/mir/android-buffer-syncfence/+merge/18971713:58
Saviqplatform-api + https://code.launchpad.net/~afrantzis/platform-api/fix-1233988-more/+merge/19090813:59
Saviqqtubuntu + https://code.launchpad.net/~afrantzis/qtubuntu/fix-1233988-more/+merge/19090713:59
Saviqunity8 + https://code.launchpad.net/~unity-team/unity8/ap_launch_unity_with_upstart/+merge/19088613:59
Saviqsession-manager-touch + https://code.launchpad.net/~saviq/session-manager-touch/drop-unity814:00
=== dandrader is now known as dandrader|afk
SaviqFriday's unity-api + https://code.launchpad.net/~aacid/unity-mir/waitforme/+merge/19071614:00
Saviqalf_, you can just add it as a repo in sources.list and upgrade from it14:00
Saviqalf_, you can disregard unity8 and session updates, though14:01
Saviqalf_, will ping you when it uploads14:01
Saviqalf_, https://bugs.launchpad.net/ubuntu/+source/maliit-framework/+bug/1239712 here is the current trace14:05
ubot5Ubuntu bug 1239712 in maliit-framework (Ubuntu) "maliit-server crashed with SIGABRT in raise()" [Undecided,New]14:05
Saviqalf_, uploaded14:11
mlankhorsthm14:12
mlankhorstI think I understand the gbm fail14:12
mlankhorstthis makes it a bit harder though14:14
=== dandrader|afk is now known as dandrader
alf_mlankhorst: what's the cause for the gbm fail?14:25
mlankhorstthe gbm piping expects a gbm surface type14:27
mlankhorstbut I think it can be workarounded..14:28
mlankhorsthold on14:29
mlankhorstin particular the createNewDrawable call, I'm writing a workaround atm..14:31
=== alan_g is now known as alan_g|lunch
mlankhorstwell that was easy14:39
mlankhorstnow both work14:39
mlankhorsthttp://paste.debian.net/57430/ gg hf kthxbye14:40
mlankhorstthe #if 0 code can be removed or kept, it works either way14:41
mlankhorstalf_/RAOF: ^14:42
alf_mlankhorst: \o/, so this fixes the nested mir case totally?14:43
=== alan_g|lunch is now known as alan_g
mlankhorstit fixed eglflash unnested for me, so I would assume so14:46
alf_mlankhorst: awesome, I will try when the phone drops in priority, probably near EOW14:48
mlankhorstthe code inside #if 0 was the former default, the #if 0 simply allowed me to test any client without starting nested mir14:50
alf_mlankhorst: is the diff against egl-platform-mir-egl-image-i965-experiment ?14:50
mlankhorsthm no it's a diff against my previous diff :P14:54
mlankhorstI think I had some changes on top14:54
mlankhorstalf_: yeah, apply this one first http://paste.debian.net/57441/14:56
alf_Saviq: with your packages what I am seeing is that the maliit-server crash is happening when starting up 'start unity8' not when stopping, reinforcing that maliit tries to connect too soon, fails/aborts, gets respawned and manages to connect15:01
alf_Saviq: can you verify that you get a maliit crash after 'start unity8' and not after 'stop unity8'?15:01
Saviqalf_, trying15:03
Saviqalf_, it'd make sense indeed15:03
tvosskdub, hey there :)15:09
kdubhello tvoss15:09
tvosskdub, so you are the most wanted person today :)15:10
tvosskdub, would be great if you could jump on fixing the test failures on https://code.launchpad.net/~kdub/mir/android-buffer-syncfence15:12
tvosskdub, if that is fixed, we could land the branch15:13
kdubyep, #1 on the list for today15:13
tvosskdub, cool15:13
tvosskdub, let me know if I can help15:13
Saviqalf_, confirmed15:18
Saviqalf_, /me adds "sleep 2" to maliit job...15:18
Saviqdamn15:19
Saviqalf_, yeah, confirmed15:19
Saviqalf_, could we not SIGABRT when can't connect to server?15:19
Saviqogra_, can we add "sleep 2" to maliit-server before starting?15:19
ogra_ergh, why is that15:19
ogra_that adds 2 secs to the session startup, can you solve it in any other way ?15:21
ogra_(i just spent two weeks to get the boot below 30sec again)15:21
Saviqogra_, maliit starts too early15:22
Saviqogra_, Mir in unity8 isn't yet ready15:23
ogra_Saviq, then fix unity to not tell upstart it is started when it is notz15:23
Saviqogra_, how?15:23
ogra_make it wait ? dunno15:23
ogra_did you try different expect lines for the upstart job (and did you check the double fork stuff etc as explained in the upstart cookbook)15:24
Saviqogra_, nope15:24
Saviqogra_, we're not forking at all, though15:24
Saviqogra_, we're not daemonizing15:24
Saviqogra_, but will look through upstart cbook15:25
ogra_please ask slangasek how to do it right then15:25
ogra_i think he can help here15:25
ogra_(or if slangasek isnt around, probably xnox or stgraber can help they are both upstart aces :) )15:26
ogra_(or even jodh as upstart upstream)15:26
xnoxhm?15:26
ogra_xnox, the unity8 upstart job seems to return before unity8 is actualyl ready ... causing dependent jobs to start to early15:27
xnoxogra_: invoke tedg =) unity8 should emit started unity8, until ready =)15:27
xnoxogra_: if there is a dbus known-name that unity8 exports, jobs can start on started that.15:27
xnoxogra_: thanks to the dbus bridge.15:27
tedgOr we could ask unity8 to emit sigstop when ready and have the job wait on that.15:28
tedgI believe upstart has a mode for that.15:28
ogra_well, any kind of landmark will do i guess15:28
tvossxnox, would initctl emit --no-wait unity8_ready (in unity) with a corresponding start on unity8_ready in maliit upstart conf work?15:28
tvossSaviq, ^15:28
ogra_i'm just opposed to add sleeps back into upstart jobs15:28
tedgYup, here it is: http://upstart.ubuntu.com/cookbook/#expect-stop15:29
xnoxtvoss: sure, but also ugly. And please add "emits unity8_ready" in the unity8.conf, for documentation purposes to know which job is expected to emit that event.15:29
xnoxtvoss: tedg: expect stop is far better.15:29
ogra_tvoss, seriously, unity8 should just DTRT :)15:30
tvossogra_, we are trying to find out what the right thing is :)15:30
ogra_before we write 100 line upstart jobs15:30
tvossogra_, *you* might know, but simple question: how does a process signal "I'm ready" back to upstart?15:30
tedgtvoss, There seems to be three idioms used here: 1) be fast, 2) sigstop, 3) fork but not until you're ready15:30
ogra_right15:31
tvosstedg, why not emit an expicit signal? sounds like the best solution in an event-based job control system? ;)15:32
tvosstedg, s/signal/event15:32
ogra_tvoss, thats the sigstop ...15:32
tvossogra_, yeah, I meant event then15:33
tedgtvoss, I think it depends on the case, if it's just "when it starts" there's no reason to have anything other than the "started" signal, and we should make that better.15:33
ogra_from where ?15:33
tedgtvoss, For indicators I added one, and my logic there was that Unity8 may start and do other stuff before it wants the indicator services.15:33
tvossogra_, from unity8, just calling "initctl emit --no-wait unity8_ready"15:33
tvosswhenever that is the case15:33
ogra_ugh15:33
tedgtvoss, Then what would people use the "started unity8" event for?  It seems like we'd be wasting that one.15:34
ogra_just make your binary DTRT ... if there is no expect mode for your binary behavior, ask jodh to add one15:34
ogra_tvoss, i think tedg's sigstop suggestion is the best we can do as a quick solution15:35
Saviqsounds clean enough, yeah15:35
tvossSaviq, if you are happy, I'm too15:37
* Saviq wonders when to emit it ;D15:37
tvossSaviq, whenever qtguiapplication is constructed I would think15:38
kdubalan_g, alf_, pushed fixes for the unit tests... they were just test problems, no code change15:39
alf_kdub: ok15:39
tedgtvoss, Throw in an idle event, then the first time you hit the mainloop without events...15:40
Saviqtvoss, don't we need to spin the loop?15:40
alan_gkdub: @ServerShutdown/OnSignal.* - can you confirm that test works fine when run on its own? (I've seen similar problems on the desktop - https://code.launchpad.net/~alan-griffiths/mir/fix-client-hang-on-server-death/+merge/190935/comments/438530)15:41
kdubtesting... one minute15:41
tvossSaviq, not sure ...15:42
kdubalan_g, yes, with running the test on its own, I see it pass in 2-3 seconds, when ran with the group, it appears to hang15:43
alan_gkdub: thanks (I'm trying to track down the interaction - at least this should require the same fix)15:44
tvossogra_, can upstart check if a file exists?15:51
ogra_tvoss, yes, with the file bridge15:52
ogra_(as long as it is a regular file)15:52
tvossogra_, yup, we just need to check if we are running on mir15:52
Saviqogra_, can we check if file && socket exist?15:53
ogra_Saviq, socket is tricky15:53
ogra_file is easy15:53
Saviqogra_, basically, if [ -e ~/.display-mir ] wait_for(/run/user/32011/mir_socket)15:53
ogra_Saviq, and on my tablet where i have two users ? :)15:54
tvossogra_, I don't think that's a valid use-case right now15:54
ogra_tvoss, Saviq is adding the SIGSTOP in the code right after the file creation not an option ?15:54
tvossogra_, I think Saviq is looking for a way to live without the sigstop for now15:55
ogra_:(15:55
Saviqno I'm not15:57
SaviqI'm just looking for a good way to do it15:57
Saviqand asking *when* to safely emit the sigstop15:57
SaviqI'm fine with emitting it wherever - but someone knowing Mir needs to tell me when is it safe already15:58
alf_tvoss: Saviq: (async ping for a review of https://code.launchpad.net/~afrantzis/qtubuntu/fix-1233988-more/+merge/190907 and https://code.launchpad.net/~afrantzis/platform-api/fix-1233988-more/+merge/190908)15:58
Saviqalf_, is this ping cancellable?15:58
Saviqalf_, you got a +1 from me 30s ago :)15:58
alf_Saviq: the .wait() will just return immediately, no need to cancel :)15:59
Saviq:)16:00
tvossalan_g, alf_ do we signal back to mir if the communicator is ready to take connections?16:02
tvossalf_, approved and top-approved16:02
alan_gtvoss: Who is this "mir" you refer to16:03
tvossalan_g, the "rest" of the system, and the shell sitting on top16:03
alan_gtvoss: the connector is ready as soon as "start()" returns - what other signal do you want?16:05
tvossalan_g, ack. Saviq, would that help?16:05
* Saviq looks16:06
Saviqgreyback, help16:08
greybackSaviq: whassup?16:08
Saviqgreyback, in unity-mir, are we calling start() anywhere explicitly?16:08
alan_gtvoss: Saviq connector->start() is called in DisplayServer::run() before main_loop->run()16:08
greybackSaviq: no16:08
Saviqgreyback, we're trying to find a place to emit a SIGSTOP for upstart to know we're ready16:09
Saviqto accept client connections16:09
Saviqgreyback, any ideas where to put it?16:10
greybackrun_mir ?16:10
Saviqgreyback, and that is called where?16:11
greybackSaviq: called by unity-mir, in QMirServer::runWithClient16:12
Saviqgreyback, mhm, so basically just before returning from main()_16:12
greybackSaviq: yeah. That too late?16:12
Saviqgreyback, no, not unless it's unity-mir that emits the SIGSTOP16:13
Saviqgreyback, since we can't do it in unity8's main, as we're looping there16:13
greybackSaviq: it /could/16:13
greybackbut seems to be something that Mir should do, no?16:13
ogra_greyback, mir isnt started by upstart16:14
Saviqogra_, it is ;) unity8 == mir16:14
Saviqgreyback, we'd need it for sflinger, too16:14
ogra_greyback, the prob we try to solve is that upstart needs to know when unity is ready to only then start all the depending jobs16:14
greybackogra_: yep, that's understood. I'm trying to decide if it's Mir's job to send that signal, or instead the user of Mir (i.e. unity8) does it16:15
Saviqgreor well16:15
Saviqgreyback, that means we should be able to emit it in startShell, no?16:15
greybackSaviq: yes16:16
Saviqgreyback, since by that time mir will be running already16:16
Saviqorks16:16
greybackyep, that'll work16:16
greybackand yeah, I'm fine with that16:16
ogra_greyback, the PID that upstart fired up needs to return the info16:16
Saviqogra_, it's the same PID16:16
Saviqogra_, there is no separate process for Mir16:17
ogra_greyback, (i dont care about internals the SIGSTOP needs to come from unity itself)16:17
ogra_oh, ok16:17
ogra_well then whatever :)16:17
greybackogra_: mir is just a library, unity8 loads it.16:17
greyback:)16:17
Saviqok, /me emits in startShell()16:17
Saviqbut first - food16:17
tvossSaviq, enjoy :)16:18
ogra_yay16:19
ogra_:)16:19
alf_Saviq: greyback: Reading the code I don't think startShell will do16:21
alf_Saviq: greyback: the startShell is invoked through a thread which is called in the *init_server* callback of run_mir16:22
Saviqalf_, ;(16:23
alf_Saviq: greyback: the server object will have been created at the point, but not run16:23
alf_Saviq: greyback: server objects16:23
Saviqok, you guys talk, me really food16:24
alf_Saviq: greyback: I think the sanest way is for the shell server configuration to subclass the Connector class and override start() to emit the signal after calling the parent start()16:25
greybackalf_: well I expected the server to be running, as startShell creates a mir client which connects ok16:25
Saviqgreyback, yeah, but only when we exec(), no?16:25
Saviqgreyback, so it might be sheer luck16:26
alf_greyback: Isn't that an inprocess client? It doesn't go through the socket I think.16:26
greybackalf_: aha16:26
alan_galf_: there are probably saner ways16:26
greybackok yes I see startShell will be called before server.run()16:26
racarrMorning16:27
alan_gEvening16:28
greybackalf_: yes your suggestion would work. alan_g what's a better way?16:28
alf_alan_g: probably, but without changing the mir code?16:28
alf_greyback: alan_g: ideally, we could emit some kind of event when the server starts up fully, e.g., by injecting an event in our main_loop?16:30
alan_galf_: The thing is that implementing Connector (as a proxy for the_connector()?) only tells about part of the initialization16:31
alan_gI'd imagine implementing MainLoop would be better - as everything is started by the time run() is called.16:32
alan_gBut really I think there should be some sort of status notification (and also for pause/resume)16:34
tvossalan_g, +116:34
greyback+116:34
alf_alan_g: so extending pause_resume_listener I guess16:35
alan_galf start_pause_resume_stop_listener?16:36
alf_alan_g: server_status_listener?16:36
alan_galf_: lgtm16:38
alf_alan_g: ok, tomorrow then :)16:39
kgunnalf_: you approve kdub's fence improvements now too ?16:40
alf_kgunn: yeap, thanks for reminding me16:41
alf_kgunn: done16:41
kgunnalf_: efharisto16:42
tvosskgunn, wow, I'm impressed16:43
alan_g"Ευχαριστώ" would be impressive16:45
kgunn:) ...i'll let that merge...gonna run, then i'll do the all the prep to get it in16:46
=== alan_g is now known as alan_g|EOD
racarrtvoss: So was there practice ont he static initialization dealio17:04
racarrprogress&17:04
racarr*17:04
tvossracarr, nope, I think we need to transition papi over to gcc 4.817:05
tvossracarr, post v1, though17:05
racarrtvoss: Hmm ok17:06
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrade
=== dandrade is now known as dandrader
om26eris there a ppa for Mir development branch somewhere ?18:44
=== thomi_ is now known as thomi
thomimorning19:23
racarrMorning thomi19:40
kgunnracarr: would you mind a review & hopefully approve of https://code.launchpad.net/~mir-team/mir/bump-deb-changelog14-mirserver6/+merge/18999019:50
kgunnracarr: oops19:50
kgunnsorry...wrong link19:50
kgunnracarr: i meant this one https://code.launchpad.net/~mir-team/mir/bump-deb-changelog15-mirserver7/+merge/19102919:51
racarrkgunn: oi19:51
racarrkgunn:  looks ok to me19:53
kgunnracarr: gracias19:54
racarrthomi: How can I use autopilot and a python console20:52
racarrto make key events :D20:53
thomiracarr: like this:20:56
thomifrom autopilot.input import Keyboard; kbd = Keyboard.create(); kbd.type("some text")20:57
thomior: kbd.press_and_release("Delete")20:57
thomi... for "special" keys etc20:57
racarrthomi: Perfect. Thanks20:59
kgunnracarr: ok...one more...merging from dev to trunk...mind approving https://code.launchpad.net/~mir-team/mir/development-branch/+merge/19105521:15
kgunnrobert_ancell: hey...was just merging to trunk, how did duflu know there were merge conflicts that one time ?21:15
robert_ancellkgunn, the MP in Launchpad showed errors21:16
robert_ancellthat one does not21:16
kgunnrobert_ancell: that's what i thot....was just double checking21:16
kgunnwhat does it look like ?? yellow or something in the diff ?21:16
kgunnrobert_ancell:21:17
robert_ancellkgunn, there are errors in the diff, i.e. "===" "<<<" type things21:17
kgunnrobert_ancell: ah!! thanks...21:17
robert_ancellbut also the list of files with conflicts is at the top under the "Merge Into" heading21:18
kgunnrobert_ancell: same as when you do merge on bzr21:18
robert_ancellor somewhere nearby that21:18
robert_ancellyes21:18
=== jhodapp is now known as jhodapp|afk
racarrkgunn: mergemergemerge21:24
kgunnracarr: thanks dude21:25
racarrkgunn: Do you know of a bug # for the thing where autopilot tests and sometimes apps21:30
racarrare getting21:30
racarrextra key events?21:30
kgunnracarr: let me dig one moment21:30
kgunnracarr: i don't see a bug like that...was it reported against a specific app ?21:36
racarrkgunn: I'm not sure it ever was21:46
racarrits just shown up in a bunch of autopilot tests failures21:47
racarrsomewhat intermittently it seems21:47
racarrand apparently riccm ses it on real usage sometimes21:47
racarrill sync with him when he gets back21:47
kgunnracarr: cool...do you have a fix ? or you're just aware of it as a legit problem ?22:03
kgunnracarr: maybe log a bug to track ?22:03
racarrkgunn:  https://code.launchpad.net/~robertcarr/platform-api/fix-event-translation/+merge/191059 hopefully a fix :)22:04
racarrkgunn: I think the remaining half of the autopilot keyboard issues22:41
racarris just key repeat...22:41
racarrsince the OSK doesn't use this code path22:41
racarror X mir -.-22:41
racarrI am trying to decide22:41
racarrif it's ok to just turn off key repeat22:42
racarrfor now22:42
racarrbasically autopilot presses, releases key, maybe that takes a long time to run22:42
racarryou get repeats22:42
kgunnracarr: ok...you're saying turn off key repeat only for AP's ?22:42
kgunni would think folks would probably wig out if you turned it off all the time22:43
racarrwell the thing is, then we would have to add it as an option, etc which is more stuff22:44
racarrbut really22:44
racarrxmir uses it's own input, so it doesnt change xmir22:44
racarrthe osk uses the seperate codepath so it doesn't change the osk22:44
racarrIs there actually any using22:44
racarrmir input with physical keyboards22:45
racarrfor 13.10?22:45
racarrI guess it doesn't hurt to just make it an option...22:46
racarrthomi: IF we make a mir option for disabling key repeat, can things be set up so all the autopilot runs configure mir this way?22:46
racarrpress("K") release("K") is always a race with key repeat enabled22:47
thomiracarr: but aren't key repeats at that level handled by separate key repeat events?22:48
thomiracarr: also, I'm not sure what the key repeat timeout is set to in mir, but if you look at the autopilot logs, the press & release events are pretty close together.22:49
racarrthomi: In cases where we get extra events I mean?22:49
racarrthomi: No what the timeout is set to, there is always a case22:49
racarrpress("K")22:50
racarrautopilot gets preempted22:50
racarrstuff happens22:50
racarrrelease("K) happens after the timeout22:50
racarryou get repeat.22:50
thomiracarr: right, but I'm saying that the AP logs look like the press and release happens pretty close together.22:50
thomihmmmm22:50
thomiveebers: perhaps we should just turn on the OSK backend by default?22:51
thomioh, right - he went to the gym22:51
racarrthomi: I guess it's a half second22:52
racarrI don't know if it's really key repeat causing this...there was also this other bug that the fix-event-translation bug above is about that could be pretty related22:52
thomiracarr: so... can you actually reproduce this, or are you guessing that this is the cause?22:53
veebersthomi: I'm just out the door now, right now the OSK backend won't work until this MR is merged: https://code.launchpad.net/~veebers/ubuntu-keyboard/update_autopilot_emulators/+merge/19031922:53
racarrso unless we have some logs of test failures with the duplicated events and key press differences greater than .5 second (where can I find such detailed logs/produce them myself?)22:53
veebersthomi: so I'm gonig to approve it now22:53
veebersgoing*22:53
racarrthomi: No! Just guessing. I can't reproduce it at all22:53
thomiracarr: ahh, ok22:53
thomiracarr: I'd be surprised if we saw > 500ms lag between press and release22:53
thominot saying it can't happen, but...22:54
thomiI think something else is at fault here22:54
racarrmm22:54
racarrmaybe it was fix-event-translation *Crosses fingers*22:54
racarri need to find a test I can trigger it on and22:54
racarrdig down22:54
racarrit seems like it can show up in ubuntu-ui-toolkit so ill try that over and over again :p22:59
racarrout for some excercise brb23:40
racarrperhaps really more of a bbiab situation :p23:40
loolmir building in PPA23:58

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