[00:25] <RAOF> AlbertA, kdub: The problem with libmirprotobuf ABI bumps is that they're not parallel-loadable.
[00:30] <RAOF> AlbertA, kdub: That said, given the alternative is stack smashing anything using libmirclient8, it seems the lesser of two weevils.
[00:31] <AlbertA> RAOF: ? why not?
[00:32] <RAOF> AlbertA: Two reasons: (1) Protobuf throws an abort() fit if you try and load it twice, and (2) none of the symbols are versioned, so they'll stomp on each other.
[00:33] <RAOF> I mean, it might accidentally work, but you also might get libmirclient.so.8 calling into a mixture of libmirprotobuf.so.0 and libmirprotobuf.so.1.
[00:33] <RAOF> (Or libmirclient.so.9, for that matter)
[00:34] <RAOF> If (1) wasn't true we'd be statically linking mirprotobuf into mirserver and mirclient as nature intended.
[00:35] <AlbertA> RAOF: oh you mean in the same process? but how would that happen? wouldn't the linker see libmirclient9 is linked to libmirprotobuf2?
[00:35] <RAOF> Yeah, in the same process.
[00:35] <AlbertA> or libmirprotobuf1 rather....
[00:37] <RAOF> The linker doesn't check that; the linker sees that libmirclient.so.8 needs libmirprotobuf.so.0 and libmirclient.so.9 needs libmirprotobuf.so.1.
[00:37] <RAOF> It doesn't do any symbol resolution at that point, though.
[00:38] <RAOF> When it *does* try to resolve the symbols it'll do the wrong thing, though - any call from libmirclient.so.8 will hit the same code as the same call from libmirclient.so.9.
[00:39] <AlbertA> RAOF: right.... but how did we get to the point of loading both libmirclient.so.9 and libmirclient.so.8 in the same process?
[00:40] <RAOF> I don't think any code that *we* produce will do that.
[00:40] <AlbertA> RAOF: ahh ok...like it's possible...like something loading plugins for example....yeah....
[00:40] <RAOF> But it's by no means impossible - something using SDL + Qt, maybe?
[00:40] <RAOF> Right.
[00:41] <RAOF> And should someone *do* that it will fail in an *entirely* inscrutable fashion.
[00:41] <AlbertA> right....
[00:41] <RAOF> FWIW I've bumped the ABI on my branch.
[00:42] <RAOF> Because *definitely* inscrutably killing everything that uses libmirclient.so.8 is worse than possibly killing someone linking to both libmirclient.so.8 and libmirclient.so.9 :)
[00:42] <RAOF> But, basically, protobuf is terrible and should feel bad :)
[00:42] <AlbertA> RAOF: one more reason to move away from it...yeah
[00:42] <AlbertA> :)
[04:11] <duflu> OK my usual technique for replacing USC with Mir for testing is not working on krillin. What's the other way to stop USC from starting?
[04:12] <duflu> (Not working means USC steals the touchscreen and a second server can't get input)
[06:38] <alf_> duflu: isn't 'stop lightdm' working for you?
[06:38] <alf_> (sudo)
[06:38] <duflu> alf_: Forgot to try that. Now it's semi-bricked. This will take time to get back
[06:43] <duflu> Funny thing about ubuntu-device-flash is that if you don't really know what you're doing and repeat enough times it will eventually work
[06:43] <RAOF> Unless you're flashing a N10, at which point you should probably load android on it and *then* try flashing it.
[06:44] <duflu> RAOF: Yes that has worked in the past too
[06:52] <duflu> Heh. Or I could just Google the problem and get a solution from AskUbuntu fairly quickly (which is the same solution I stumbled on for another phone recently)
[07:43] <RAOF> Is there a good way to test threadsafety?
[07:54] <duflu> RAOF: helgrind and/or threadsanitizer of course
[07:55] <RAOF> Right, but is there a good way to ensure that they actually pick up races / lock ordering problems / etc?
[07:55] <RAOF> Or is it just ‘do a whole bunch of things on a whole bunch of threads and hope that you hit a bad codepath’?
[07:56] <duflu> RAOF: They do assume your test coverage is reasonable
[07:56] <RAOF> But more than that, right?
[07:57] <RAOF> I mean, they assume not only that you hit every line of code, but that you hit a lot of temporal combinations.
[07:57] <duflu> RAOF: Well in both cases they report theoretical errors before they happen. But still to get that far you need some reasonable test coverage to touch the code paths. They do not however rely on bad luck; they're better than that.
[07:58] <RAOF> True; they don't need you to *actually* hit a data race.
[07:58] <RAOF> You do still need to have multiple threads hitting the appropriate bits, though.
[08:31] <duflu> Does anyone know why Mir-demos (trunk) can't get any touch events on krillin? I'm almost out of ideas, and now bisecting to see if older code works
[08:46] <duflu> Ugh, it's a Mir bug. Logging it now
[09:33] <alan_g> alf_: incorporated your USC code improvements. Thanks
[09:33] <alf_> alan_g: you are welcome
[11:42] <alan_g> anpok: How's this? https://code.launchpad.net/~alan-griffiths/unity-system-compositor/incorporate-logo-into-spinner-binary/+merge/261181
[11:43] <anpok> looking
[11:44] <anpok> ah and now const
[11:46] <anpok> hm i am marked as community
[11:54] <alan_g> Wear it with pride
[15:55] <alan_g> AlbertA: as you've not contributed code to it, care to review this? https://code.launchpad.net/~alan-griffiths/unity-system-compositor/incorporate-logo-into-spinner-binary/+merge/261181
[15:57] <AlbertA> alan_g: yeah taking a look
[15:59] <alan_g> thanks
[16:32] <AlbertA> gah...I guess mirclientplatformmesa does need to link against libmirclient....
[16:32] <AlbertA> mir_platform_message_xxx apis...
[17:50] <anpok> AlbertA: and also other platforms because of the event builders
[18:32] <kgunn> mterry: hey, starting to look into snap stuff again...so, pidof...doesn't that seem a bit hardcore to not have access to a tool like that ? i mean
[18:32] <kgunn> to have to explicitly say you want some basic tool, that seems weird to me
[18:33] <mterry> kgunn, it's leaking info about what else is running on the system
[18:33] <mterry> kgunn, default app isolation is quite intense
[18:33] <kgunn> no kidding
[18:33] <kgunn> so things like top couldn't either
[18:33] <kgunn> just seems weir
[18:33] <kgunn> d
[18:33] <mterry> kgunn, might be able to run it, but only see some pids?  not sure
[18:33] <mterry> kgunn, so it's a tricky problem for mir
[18:34] <kgunn> i was just looking at that script...
[18:34] <mterry> kgunn, the original reason was that the tty races with mir
[18:34] <mterry> kgunn, mir might show first, then gettty takes over the screen
[18:34] <mterry> kgunn, but duflu was actually saying there was a mir bug there
[18:34] <mterry> kgunn, that it should notice it got stolen
[18:34] <kgunn> ah
[18:34] <mterry> kgunn, so that might be another solution
[18:34] <kgunn> vongons ^ anyone aware of that one ?
[18:35] <kgunn> mir getting screen taken by getty
[18:35] <kgunn> (....and is it getty or agetty?)
[18:38] <kgunn> mterry: ok, as i am reading...i just realized that not declaring security-template default is not the same as declared security-template but empty default
[18:39] <kgunn> so i think i need to rebuild...as i just commented that out
[18:39] <mterry> kgunn, it might be agetty
[18:39] <mterry> kgunn, huh...  it should be the same?  if you just don't have that line at all, it should use the default
[18:42] <kgunn> mterry: how do you read https://developer.ubuntu.com/en/snappy/guides/security-policy/
[18:42] <kgunn> "Defining snap policy"
[18:42] <kgunn> When caps and security-template are not specified, caps defaults to client networking.
[18:42] <kgunn> vs
[18:43] <kgunn> security-template: (optional) alternate security template to use instead of default. When specified without caps, caps defaults to being empty. Not compatible with security-override or security-policy
[18:43] <kgunn> Additional access beyond what is allowed by the declared security-template is declared via this option
[18:44] <mterry> huh
[18:44] <mterry> well, if you leave out both, you'll be fine right?
[18:44] <mterry> you don't care if caps includes networking
[18:44] <mterry> kgunn, ^
[18:46] <mterry> gotta run, bbl
[19:50] <mterry> kgunn, heyo -- any progress on apparmor security stuff?
[19:50] <mterry> grr, missed
[19:56] <anpok> hum
[19:56] <anpok> nexus10 provides pressure, touch major AND orientation.. but no minor .. or tool width..
[20:34] <racarr> ...*bangs head on desk*
[20:35] <racarr> I've been testing this scenario for like a day and wondering where events dissapear too
[20:35] <racarr> and I forgot about the input filters in mir_demo_server
[20:35] <racarr> ....lol
[20:35] <racarr> got some good tests out of it at least
[20:49] <ahayzen> Hi, I tried to run unity8 via LXC as per https://wiki.ubuntu.com/Unity8inLXC on Intel ivy bridge hardware, but when i start the session the mouse appears, the welcome wizard appears for a split second then disappears and reloads itself going into a loop. Meanwhile the CPU/disk start increasing in load as I assume apport or something is going mental in the background. Is there anything I can do to see what is causing the welcome wizard to crash?
[20:55] <ChrisTownsend> ahayzen: Hi!  Try looking in ~/.cache/upstart/unity8.log and see what it may be spewing out.  Also use top and see what process is running at the high load.
[20:59] <ahayzen> ChrisTownsend, hmm nothing obvious in the log, how am i supposed to run $ top if i can't switch tty ?
[20:59] <ChrisTownsend> ahayzen: Do you have ssh set up on the machine?
[20:59] <ahayzen> not yet ;-)
[21:00] <ChrisTownsend> Hmm, yeah, then no top.
[21:00] <ahayzen> heh i'm gonna have to SSH in via my ubuntu phone to debug my desktop aren't I? lol
[21:00] <ChrisTownsend> It sounds like Unity 8 is having some issue, but it's hard to tell what though.  I haven't seen that behavior.
[21:01] <ChrisTownsend> lol, the irony!
[21:02] <ChrisTownsend> ahayzen: Is your user's home in the standard place, ie, /home/$user
[21:02] <ahayzen> i would assume, all i did was follow the instructions
[21:03] <popey> he
[21:03] <ChrisTownsend> ahayzen: The Unity8 LXC bind mounts your normal user's home directory.  If it's the standard, then yeah.
[21:03] <ahayzen> (the ones that popey gave me) #blamepopey
[21:03] <popey> I get the same black screen here
[21:03] <popey> yup yup
[21:04] <ahayzen> i was at Oxfordgeeknights last night and another person on intel hardware said he had the same
[21:04] <ChrisTownsend> Hmm, to me, welcome wizard reload over and over is a bit different than the black screen.
[21:04] <ChrisTownsend> ahayzen: What version of Ubuntu is your host?
[21:04] <ahayzen> it like flashes up for a split second then goes blank then comes up again in a loop, but the mouse stays visible and useable throughout
[21:04] <ahayzen> vivid
[21:05] <popey> I'm on wily
[21:06] <ChrisTownsend> ahayzen: Ok.  Anything abnormal in /var/log/lightdm/unity-system-compositor.log?
[21:06] <ChrisTownsend> popey: Black screen sounds like a u-s-c issue.  Have you looked in the file I just noted?
[21:06] <ahayzen> WARNING: QApplication was not created in the main() thread. ... then lots of Opening session session-0
[21:06] <ahayzen> Closing session session-0
[21:06] <popey> no, will try now
[21:07] <ChrisTownsend> ahayzen: Sounds pretty normal.  I'm kind of stumped.:-(
[21:07] <ahayzen> hmm let me update it, rerun and get some fresh unity8 logs
[21:08] <ChrisTownsend> ahayzen: Ok.  I need to go in a few minutes.  I'll be around tomorrow.  You can also file a bug against unity8-lxc and I'll take a look.
[21:08] <ahayzen> ChrisTownsend, ok thanks for your help
[21:08] <ChrisTownsend> ahayzen: Are you using the PPA or the version from the archive?
[21:08] <ahayzen> PPA IIRC
[21:09] <ChrisTownsend> ahayzen: Ok, that's good.
[21:09] <ahayzen> yeah ppa:unity8-desktop-session-team/unity8-preview-lxc
[21:09] <popey> i ave no unity8.log
[21:09] <ChrisTownsend> ahayzen: Yeah, that's best.  I'll try it on my Vivid machine and see what happens.
[21:10] <ChrisTownsend> popey: Yeah, look at /var/log/lightdm/unity-system-compositor.log.
[21:10] <popey> http://paste.ubuntu.com/11698588/
[21:10] <ChrisTownsend> popey: Your not even getting Unity 8 started.  It's seems like Mir is not happy.
[21:11] <ahayzen> interesting mine isn't too dissimilar http://pastebin.ubuntu.com/11698589/
[21:12] <ChrisTownsend> ahayzen: popey: Alright, I think they are different issues.  I gotta go though.  I'll either ping you or find me tomorrow.
[21:12] <popey> okay
[21:12] <popey> thanks
[21:12] <ahayzen> thanks
[21:12] <popey> ahayzen: lets gang up on him tomorrow :)
[21:12] <ahayzen> popey, hehe :-)
[21:18] <ahayzen> popey, what happens if you run top? I see unity8 using ~90% and ms2 using ~90%
[21:18] <popey>  4653 alan      20   0 2790820 218392  84428 S 102.7  2.7   5:29.18 unity8
[21:18] <popey> ya
[21:18] <popey> i dont have any media on this
[21:18] <popey> unrelated, have you installed tweakgeek?
[21:18]  * ahayzen notes to look into ms2 being terrible on desktop
[21:18] <ahayzen> ...no?
[21:19] <popey> install mzanetti's open store, grab tweakgeek from it, run that and you can make terminal live beyond app lifecycle :)
[21:19] <popey> so they run in the background. handy when you want to ssh into something from the device
[21:19] <ahayzen> ooo cool, can we not keep the screen on yet ;-)
[21:20] <popey> not yet
[21:20] <ahayzen> ok that sortof stuff in the unity8 log looks bad.... [1434057338.091424] <ERROR> Mesa/NativeSurface: Caught exception at Mir/EGL driver boundary (in advance_buffer): /build/buildd/mir-0.12.1+15.04.20150324/src/client/rpc/stream_socket_transport.cpp(154): Throw in function virtual void mir::client::rpc::StreamSocketTransport::send_message(const std::vector<unsigned char>&, const std::vector<mir::Fd>&)
[21:20] <ahayzen> Dynamic exception type: N5boost16exception_detail10clone_implINS0_19error_info_injectorIN3mir25socket_disconnected_errorEEEEE
[21:20] <ahayzen> std::exception::what: Failed to send message to server: Broken pipe
[21:20] <ahayzen> 32, "Broken pipe"
[21:20] <ahayzen> my full unity8 http://pastebin.ubuntu.com/11698632/
[21:22] <ahayzen> popey, shall i report a bug with ^^ ?
[21:22] <mzanetti> ahayzen, well... you can install bigmovingtext from openstore ;)
[21:22] <mzanetti> that can keep the display lit
[21:23] <ahayzen> i have the normal bigmovingtext...
[21:23] <mzanetti> ahayzen, that boost exception happens when something tries to grab an invalid screen buffer
[21:23] <mzanetti> I think
[21:23] <mzanetti> where did you get it?
[21:23] <ahayzen> there is alot of them :-)
[21:23] <ahayzen> from .cache/upstart/unity8.log
[21:24] <ahayzen> when running on a vivid ivy-bridge laptop with unity8 in LXC
[21:24] <mzanetti> oh, I see
[21:25] <mzanetti> hmm. not sure then what it is
[21:25] <mzanetti> ahayzen, you might want to stop by in #ubuntu-unity tomorrow and talk to greyback about it
[21:25] <ahayzen> ok :-)
[21:28] <popey> pass ahayzen
[21:29] <ahayzen> we'll be really nice to everyone and bug them late friday then :-)
[21:29] <popey> \o/
[22:03] <AlbertA> ahayzen: that exception just means the server died or got shut down while the client was still alive
[22:03] <AlbertA> so if it's in unity8 log, then I guess because USC died...
[22:30] <ahayzen> AlbertA, interesting