/srv/irclogs.ubuntu.com/2013/07/04/#ubuntu-mir.txt

racarrbut uh, yeh I'm trying to remove it from the proto00:00
racarrthere is some weirdness that goes on below the session mediator00:00
racarrthat I don't entirely understand yet00:00
racarrrobert_ancell: The other thing is if we reject connections00:06
racarrin the communicator as suggested, then we reject them before we read the client name00:06
robert_ancellracarr, no - there's an important difference. In the fd case, one end sets the fd in the message, it is removed from the message and transmitted out of band and then refilled in the receivers message (with a different numerical value)00:06
robert_ancellIn the pid case, the client never sets the value, and the server never reads the value from the message (it reads it from the socket)00:06
robert_ancellSo conceptually, the pid is not part of the protocol00:07
racarrso we have to change the model, the idea was before, the clients send their name/.desktop file and the shell matches up (i.e. this pid is allowed to have the desktop)00:07
racarrto just the shell fills in the name00:07
racarrbased on the pid00:07
racarrand I haven't figured out the best way to propose all that yet.00:07
racarrrobert_ancell: The client sends the pid, it's just hidden away00:07
racarrin the call to open00:07
RAOFIf the client sends the pid we can't trust it.00:07
robert_ancellracarr, the system sets the pid, the client never sets it00:08
robert_ancellit's completely transparent to the client00:08
racarrRAOF: I mean the socket credentials00:08
RAOFIf you're trying to do authentication, you can't possibly trust anything the client sends you.00:08
robert_ancellRAOF, no, he's using it in the message as a convenience when we pass it around the server. It's set on reception of the message00:08
robert_ancellIt's true that the pid is associated with the message, but it's not part of it00:09
RAOFracarr: I guess. I think you'll technically find that it's the kernel that sets the pid, and probably only when you ask it.00:09
racarrNo, it always sets it00:09
racarrPOSIX models is as an implicit out of band message, just like FD passing00:09
racarrlinux has a special API with getsockopt to read it without using recvmsg00:09
racarrI dunno00:09
RAOFracarr: If it's set in the client, then we can't trust it - because we can't trust that the client hasn't interposed an open() implementation that sets a bad pid.00:12
RAOFAh, but I see that's not what you're actually saying. :)00:12
racarrmm00:12
racarrRAOF: The context, is that it was just easiest with the current abstractions to add it as a field to the ConnectParameters protobuf message and fill it in based on the socket credentials00:13
racarrin the message processor00:13
racarrand I don't think this really breaks any abstractions horribly00:13
robert_ancellracarr, but that's bad because it exposes this detail all the way back to the client via the .proto which is very confusing00:13
RAOFracarr: This would be https://code.launchpad.net/~robertcarr/mir/implement-client-credentials/+merge/171889 right?00:13
robert_ancellracarr, and unnecessary as long as you pass meta information with the message in the server or set the PID as a property of the Session00:14
racarrOi00:14
racarrrobert_ancell: And how do you pass the pid up00:15
racarrfrom the RPC part of the frontend00:15
racarrI mean it has to pass through the SessionMediator00:15
racarrwhere the interface is generated from the .proto file00:15
racarror you have to do it beore the SessionMediator (i.e. before there is a session, and the name is read, etc)00:16
racarrI00:16
racarram not interested in being right or wrong about this though :p00:16
racarri've already moved it out like I said, and moved it to the communicator00:16
racarrI'm just running in to some00:16
racarrbugs/non understood behavior00:16
* robert_ancell dives into the complexity of the frontend..00:17
racarrnotably on_new_connection is called twice (in the acceptance tests at least)00:17
racarrfor each client00:17
racarrand both times added to connected_sessions00:17
racarrthe first time the socket credentials I get off the pid are00:18
racarrsome sort of nonsense00:18
racarrneither the client or the server process pid00:18
racarrbut very close!00:18
racarrnumerically that is00:18
racarrThat was EOD yesterday00:19
racarrill revisit it soon00:19
RAOFFrom the MP it sounds like what the shell actually wants is a callback when a certain pid connects.00:23
RAOFMaybe you don't need to pass the pid up at all?00:23
robert_ancellRAOF, you need the PID for the shell to match an incoming Mir connection with the app the shell launched00:25
robert_ancellclosing the loop00:25
robert_ancellthough you're stuffed if the app forks...00:25
racarrRAOF: The thought was originally you needed to mtch the pid with the name00:26
racarrwhich isn't read until the SessionMediator (or the processor, preparing to invoke the session mediator, at least)00:26
racarrbut yes, that is the idea now, just dont pass it up00:26
racarrand do it in the communicator00:26
RAOFAh.00:26
racarron_new_connection00:26
robert_ancellArgh, There really should be a SessionMediator per connection. That's dumb00:26
racarrwhich is where I ran in to this strange behavior00:27
racarrrobert_ancell: ? There is00:27
RAOFIt seems like pid would be a perfectly reasonable property of a SessionMediator.00:27
robert_ancellyeah00:27
racarrYes00:27
RAOFShould we at some point need to pass that up :)00:27
racarrI think it's the natural place to put it  :p00:27
racarrbut the SessionMediator interface00:27
racarris generated00:27
racarrby the .proto00:27
racarris the whole point00:27
robert_ancellracarr, no it isn't - it extends the interface generated in the .proto00:27
robert_ancellso you can attach additional information00:28
* robert_ancell chases make_ipc_server() backwards00:28
racarrrobert_ancell: class SessionMediator : public mir::protobuf::DisplayServer00:28
robert_ancellracarr,  mir::protobuf::DisplayServer is generated, but SessionMediator is not00:28
racarrI know but you have to do it in the00:29
racarrconnect method00:29
robert_ancellracarr, but by the time you get to the connect method, the PID will already be set for that instance of SessionMediator00:29
robert_ancellor is SessionMediator created after a connect?00:29
RAOFWhy do you have to do it in the connect method?00:30
racarrwell. I guess you don't hve to00:30
robert_ancellracarr, Can't you get the PID in mf::ProtobufSocketCommunicator::start_accept and  make it an arg to make_ipc_server?00:30
racarrSure00:31
robert_ancellactually, that's weird - we create a SocketSession before on_new_connection is called00:32
robert_ancellthat seems wrong00:32
racarrI am probably just going to sort out making it work00:34
racarrin the Communicator00:34
racarrwith no name in the authorizer interface00:34
racarrand nothing in the .proto00:34
racarrif the shell wants to do something with the pid later00:34
racarrthey already know the assosciation of pid/desktop00:35
racarrso they can attach it to whatever session object they have00:35
robert_ancellsounds good00:35
RAOFOf course, unless the client fork()s ;)00:38
=== jono is now known as Guest55880
dufluWhee, copper wires02:54
RAOFOh, hi. Mesa refactoring may well be what's causing the mesa crash.03:15
tvossgood morning :)05:25
RAOFYo!05:30
RAOFI have the obvious question!05:30
tvossRAOF, shoot :)05:34
tvossdidrocks, what is the best way to pull in the new gmock package to saucy to start working on mp's for all reverse-build-depends?05:43
didrockstvoss: right now, using the link I sent you is the best way05:43
tvossdidrocks, mind pinging me the link again? :)05:43
didrockstvoss: http://people.canonical.com/~doko/tmp/05:45
tvossdidrocks, thx05:45
didrockstvoss: you can get dget google-mock_1.6.0-1ubuntu1.dsc05:45
didrocks(the source is available upstream or in the debian PTS)05:46
tvossdidrocks, there is a tar.gz. in there, too05:46
didrockstvoss: the tar.gz is the debian diff05:48
tvossdidrocks, ah05:48
didrockstvoss: FYI, rlvm is fine and rebuild using the source05:51
tvossdidrocks, ack, will look into libusermetrics. Did you do any particular magic or just added an add_subdirectory(..)?05:51
didrockstvoss: we don't ship any CMakeLists.txt with gmock, isn't it?05:53
didrocksadd_subdirectory won't work then?05:53
tvossdidrocks, how do we do it then?05:54
didrockstvoss: I'm thinking :)05:54
tvossdidrocks, also another look at https://code.launchpad.net/~thomas-voss/platform-api/add-package-config/+merge/16864205:58
tvosswould be very much appreciated05:58
didrockstvoss: will do, do I need to backlog all the comments?05:58
tvossdidrocks, I think rsalveti had some good comments and the diff should be cleaner now05:59
didrocksok05:59
didrockstvoss: it seems we'll need to build it ourselves06:01
didrockslike:06:01
didrocksg++ -I/usr/src/gmock -c /usr/src/gmock/src/gmock-all.cc06:01
didrocksg++ -I/usr/src/gtest -c /usr/src/gtest/src/gtest-all.cc06:01
didrocksar -rv libgmock.a gmock-all.o gtest-all.o06:01
didrocksand then link against it06:01
tvossdidrocks, can we add the CMakeLists.txt as a distro patch?06:01
didrockstvoss: sure, I think that will help more than just us :)06:02
didrockstvoss: I was looking if we can reuse something like that from upstream source first, didn't find anything reusable06:02
didrocksbut please double check06:02
tvossdidrocks, looking at trunk here, a CMakeLists.txt is part of both trunk and the zip from googlemock06:04
tvosshttps://code.google.com/p/googlemock/source/browse/#svn%2Ftrunk06:04
didrockstvoss: yeah, I think a substract of it (as it redefines the project name and so on) can be useful06:04
didrockslike, we don't want I guess:06:05
didrocksproject(gmock CXX C)06:05
didrockscmake_minimum_required(VERSION 2.6.2)06:05
didrocksright?06:05
tvossdidrocks, oh, those should be perfectly fine, cmake is clever enough i nthat case :)06:05
tvossdidrocks, we have used the CMakeLists.txt within mir from its in-tree gmock version for some time now06:06
didrockstvoss: ah, my knowledge is not so advanced :) but how do you deal with the prefix? (as it's ${sourcedir}/src instead of ${prefix}/src?06:06
didrocksyou just hack around sourcedir == prefix?06:06
tvossdidrocks, it should "just work"(tm). In mir, we only did an add_subdirectory(3rd_party/gmock gmock) and that pulled in all of the targets06:07
tvossdidrocks, that being said, as projects are reasoning in terms of targets, things are easy :)06:07
tvossrobert_ancell, ping06:08
tvossrobert_ancell, hey, I was looking for a branch you pasted here recently that addresses a vt issue06:08
* tvoss waves hands06:09
didrockstvoss: we'll see, I'm a little bit afraid with gtests06:11
didrockstvoss: as you copied that in build tree and you end up with the copy06:11
didrocksit seems it's looking for ../gtests06:11
didrocksso it could work06:11
didrocksand google-mock deps on libgtest-dev06:11
tvossdidrocks, I'm confused now :) gmock usually has got its own gtest :)06:12
didrockstvoss: not on the installed version06:12
tvossdidrocks, I see, so time to adjust the cmakelists.txt for gmock to pull in /usr/src/gtest :)06:20
didrockstvoss: done that, I'm just fighting with add_subdirectory for now :p06:20
didrockstvoss: I have no idea where the .a will ends up TBH ;)06:21
tvossdidrocks, you should not need the .a, the target should be fine06:21
didrockstvoss: it will build a .a at some points, no?06:21
didrocksor just the .o? where we invoke the target?06:22
didrocksWhen specifying an out-of-tree source a06:22
didrocks  binary directory must be explicitly specified.06:22
tvossdidrocks, yeah, just call it gmock or gtest respectively06:23
tvossdidrocks, then cmake takes care of the rest06:23
didrocksyeah, let's see how it goes :)06:23
didrocksyou think it will magically find them? ;)06:23
tvossdidrocks, I'm pretty sure ;)06:24
didrocksat least, it doesn't complain :p06:24
* tvoss believes in cmake ;)06:24
didrockslets see if Mir builds06:24
didrockshow come I've a backlog of 3 hours so early in the morning?06:25
tvossdidrocks, don't ask, just do ;)06:26
didrockstvoss: well, that's my life :p06:26
* tvoss reads the slashdot article on the BART strike and the conclusion that software engineers should have a union, too06:26
didrocksah06:27
didrocksbuild failure06:27
* didrocks tests with internal gmock to check if the diff is from this06:27
tvossdidrocks, mind pastebinning the build failure?06:27
didrockstvoss: http://paste.ubuntu.com/5842593/06:28
didrockshum06:28
didrocksthanks build-area06:28
didrocksI've relaunched the vanilla build, hence the truncated log06:28
tvossdidrocks, a little less french would help me;)06:28
didrocksahah ;)06:28
didrockstvoss: ok, will run the next one with LANG=C :p06:29
tvoss\o/06:29
* tvoss needs coffee06:30
didrocksI kept the warning downgrade though, but maybe adding the subdirectory had some side-effects06:30
* didrocks as well while mir is building06:30
smspillaztvoss: ah frick, BART strike?06:33
smspillaztvoss: this isn't good, I'm going there tomorrow and kinda need to get around...06:34
tvosssmspillaz, http://tech.slashdot.org/story/13/07/03/2042253/bart-strike-provides-stark-contrast-to-techs-non-union-world06:34
didrockstvoss: http://paste.ubuntu.com/5842602/06:35
smspillaztvoss: hmm, as much as I support unions, I hope it'll be over soon (http://www.mercurynews.com/breaking-news/ci_23581424/full-speed-ahead-day-2-bart-strike). My flight arrives at around 2230h06:35
didrocks-Werror=unused-local-typedefs06:36
tvossdidrocks, we had some specific parts for handling that in Mir06:36
tvossdidrocks, let me find them06:37
alfRAOF: Hi! In the display-configuration-change-handler MP, I intoduced the VideoDevices interface and a UdevVideoDevices implementation for it. It is used only in Display right now, to register an event handler, but I was thinking that it could also be extended for device discovery in Platform (i.e. replace the direct udev calls we have there). This would allow easier mocking/unit-testing.06:38
didrockstvoss: # Don't treat warnings as errors in 3rd_party/{gmock}06:38
didrocksstring (REPLACE " -Werror " " " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})06:38
didrocksI guess06:38
didrocksbut the add_subdirectory is just after that one06:38
tvossdidrocks, that might well be the case, and we restore the flags right after the add_subdirectory06:39
alfRAOF: The UdevVideoDevices implementation uses ad-hoc udev wrappers that should probably be replaced by your c++ udev classes.06:39
didrockstvoss: yep, the change are quite simple (for now, I'll clean that with prefix): http://paste.ubuntu.com/5842607/06:39
didrockstvoss: but I don't understand what changes compared to your internal gmock though06:40
tvossdidrocks, I do see errors when using gmock, mind building with -j1?06:42
didrockstvoss: good idea, it will be clearer06:43
RAOFalf: I'll have a look.06:44
alfRAOF: (note: the MP was merged)06:45
RAOFalf: We'll need something more generic later, because we'll also need to handle input hotplug & discovery, which I don't *think* the code currently does06:45
alfRAOF: VideoDevices is just the interface the graphics subsystem cares about, which will be implemented with udev. I guess the input subsystem can have a similar interface, again implemented with udev06:46
RAOF Yeah06:46
didrockstvoss: ah, more interesting: http://paste.ubuntu.com/5842616/06:47
didrocks-Werror=unused-local-typedefs06:47
didrocksso those files including gmock.h, it seems they get the gmock warning06:48
didrocksbut I don't see the difference with the inline version, it should first build gmock06:48
didrockswith -Werror disable06:49
didrocksand then, just link to the .o files?06:49
RAOFBut it can't just link to the .o files? It needs to parse the headers anyway.06:49
dholbachgood morning06:50
didrocksRAOF: I would think he would do that06:50
didrockshey dholbach06:50
didrocksthey are built again: gmock-all.cc.o06:50
dholbachhey didrocks06:50
tvossdidrocks, the typedef is in the header, so if we reenable -Werror, we bail out: https://code.launchpad.net/~compiz-team/compiz/compiz.fix_1185719/+merge/16747406:52
RAOFRAOF: Looks good. I'll udev-wrapper-ify it and fold in the device probing?06:52
RAOFalf ^^^06:52
tvosslol06:52
alfRAOF: sure06:53
didrockstvoss: but why don't we have that with the internal gmock then?06:54
tvossdidrocks, it might well be that the typedefs changed, let me check06:54
didrocksah, you are not using 1.6?06:54
tvossdidrocks, checking ...06:56
* RAOF wonders why his laptop has suddenly hit the thermal trip point.06:57
tvossdidrocks, mir's internal gmock version has the typedefs only in include/gmock/gmock-generated-function-mockers.h07:00
tvossdidrocks, and they are not even defined, as the compiler bails out anyways when that point is reached07:01
didrockstvoss: yeah, you're right07:02
didrockshum07:03
didrockstvoss: I'm not fan or disabling -Werror for everything under tests, but do you have any other idea?07:03
tvossdidrocks, we could explicitly set -Wno-unused-local-typedefs07:04
tvossdidrocks, to be a bit more subtle07:05
RAOFOr -Wno-error=unused-local-typedefs07:05
didrocks(basically, I guess everything in include/test/mir_test/)07:05
didrocksor globally?07:05
didrocksit still enables to cleanswap if needed for the rest of the case07:05
didrockscode*07:05
tvossdidrocks, I would do it for everything under tests/07:06
tvossRAOF, ^, thoughts?07:06
didrocks(I agree)07:06
RAOFI'd push -Wno-error=unused-local-typedefs for everything under tests07:07
didrocksok, we all agree then07:07
tvoss\o/07:07
* didrocks does and rebuild :)07:07
* RAOF would also like to push -Wno-error=deprecated for everything under tests, too, so that they build on recent clang07:07
* tvoss grabs another coffee07:07
didrocksRAOF: can add :)07:07
* didrocks still at first mug07:07
RAOFAlthough glib might be fixed before g++ hits that particular snag.07:08
RAOFAnd while we're at it, why not merge https://code.launchpad.net/~raof/mir/fix-clanger/+merge/172956 so *everything* works when built with clang!07:11
tvossdidrocks, still building?07:23
didrockstvoss: still building, so hope :)07:25
* tvoss crosses fingers07:25
didrockstvoss: /tmp/googlemockification/build-area/mir-0.0.6/obj-x86_64-linux-gnu/bin/unit-tests: symbol lookup error: /tmp/googlemockification/build-area/mir-0.0.6/obj-x86_64-linux-gnu/bin/unit-tests: undefined symbol: eglCreateImageKHR07:34
tvossRAOF, ^07:34
RAOFNot linking to libEGL07:34
RAOFActually, that might be our bug. eglCreateImageKHR isn't actually a part of the EGL exported symbols, is it?07:35
tvossRAOF, I wouldn't think so07:36
alftvoss: didrocks: Some time ago we updated the internal gmock version to svn r432 to avoid all these problems... now we are essentially reverting to 1.6...07:37
tvossalf, ah, thanks for the hint07:37
tvossdidrocks, I thought we would pull in the latest and greatest from tip?07:38
didrockstvoss: can you point me again to the patches to add?07:40
* didrocks cleans to be override meanwhile07:40
didrocksoverridable07:40
duflurobert_ancell: Sorry, Telstra started playing with my phone line this morning and just finished (without fixing anything)07:43
tvossdidrocks, r437 is latest according to googlemock svn. How do I generate patches against the currently released version? or is a zipped svn-export fine for you?07:44
alfdidrocks: can we just pull in the latest trunk for gmock? gmock 1.6.0 was published over 2 years ago, and a lot has changed (include proper c++11 and recent g++/clang support) since then07:44
didrockstvoss: no, we need to manually cherry-pick patches (or better, just the patch we need)07:45
didrocksfor latest update, we can as well just create a tarball07:45
didrocksand have google-mock 1.6+svn<rev>07:46
tvossdidrocks, okay, so that is a +1 on svn-export + tar gz?07:46
didrockstvoss: see when I told you that maintaining components are not light :)07:46
didrocksyep07:46
* didrocks fights with cmake meanwhile07:46
tvossdidrocks, so I can just send you the tar.gz now?07:49
tvossdidrocks, sent07:51
didrockstvoss: thanks, will update shortly07:52
didrocksok, cmakeries done07:52
didrocksnow back to gmock07:52
tvossdidrocks, sent you the tar.gz07:52
didrocksok, patches don't apply now, let's see07:54
robert_ancellduflu, how nice of them!07:55
alfalan_g: Yesterday, IIRC, you mentioned something about a crash while running unit-tests. See if https://code.launchpad.net/~afrantzis/mir/fix-mock-drmgetbusid-race/+merge/172964 fixes it for you.08:00
tvossdidrocks, still building mir? :)08:05
didrockstvoss: I'm fixing google-mock first :p08:05
didrockstvoss: the snapshot doesn't build as is08:05
tvossdidrocks, ?08:05
didrockstvoss: needing to reapply patches and so on…08:05
* didrocks wonders how seriously doko tested his upgrade…08:11
didrockstvoss: ok, rebuilding Mir now08:16
tvossdidrocks, awesome08:17
alan_galf: sure (https://bugs.launchpad.net/mir/+bug/1197408)08:18
ubot5`Launchpad bug 1197408 in Mir "unit-tests core unless LD_PRELOAD=libumockdev-preload.so is set" [Medium,New]08:18
dufluRAOF: Any luck with the GL crashes?08:18
didrockstvoss: waow, latest snapshot has a lot of failures08:19
tvossdidrocks, ?08:19
didrockstvoss: http://paste.ubuntu.com/5842794/08:19
didrocksshould be a missing } somewhere08:20
RAOFduflu: Got a very plausible cause, not yet fixed.08:21
dufluCool. That's something08:22
* RAOF updates the bug.08:23
tvossdidrocks, might be one of the distro patches08:25
tvossa simple test executable builds fine locally08:25
didrockstvoss: no, the only one I kept is a python path08:25
didrockstvoss: want the deb?08:26
tvossdidrocks, ah, I know: I'm pretty sure the GTEST_EXCLUSIVE_LOCK_REQUIRED_ is not defined by the gtest version in the archive08:26
didrockstvoss: ah, that's a nice point and will explain with gmock is working :)08:26
didrockswhy*08:26
didrocksas it's using its internal gtests08:26
tvossdidrocks, you sure?08:27
didrockstvoss: from CMake, yeah, gmock source is using its internal one, but once installed, it's using the system one08:28
didrocksso what you are telling makes sense08:28
alfalan_g: it's a different problem then (not related to LD_PRELOAD missing or not)08:28
alan_galf: Maybe it is the same problem(!) - as I've just tried it an see no crash08:29
alan_g*and08:29
robert_ancellalf, ah, the crash is because KMSOutput::size() assumes there is at least one mode - is it worth making Mir handle there not being a mode (i.e. is that possible?) or should I mock the mode (which is what causes the crtc error)08:31
alfalan_g: It's a race condition, so perhaps it happened to you when you tried without LD_PRELOAD, and didn't occur when trying with LD_PRELOAD, by chance (or by LD_PRELOAD changin some timings)08:32
alfrobert_ancell: I would say just mock the mode for now, the  KMSOutput requires a bit more thought08:34
alfrobert_ancell: the "KMSOutput change"08:34
didrockstvoss: I'm a little bit uneasy with updating gtests08:42
didrocksseeing the numbers of build-deps08:43
tvossdidrocks, looking08:47
tvossdidrocks, can we offer a testing package?08:48
didrockstvoss: what do you mean?08:48
didrockstvoss: you want the .deb for testing the new google-mock & gtest?08:49
tvossdidrocks, pulling in the latest gtest, building a test package, asking people to check?08:49
didrockstvoss: who are people? :)08:49
tvossdidrocks, the people responsible for the reverse-build-dependencies08:49
didrockstvoss: we don't have responsible maintainers in ubuntu08:49
didrocksso I doubt anyone will check the reverse deps08:49
didrocksand for indicator-* & co, it's us, so same people having to do all the work :p08:50
tvossdidrocks, okay, so what's a good way forward here?08:51
didrockstvoss: TBH, I don't know, maybe just identifying the patches you need from 1.6 to latest gmock08:51
didrocksto build with Mir08:51
didrocksand only include those08:52
tvossdidrocks, hmmm, that does not solve the problem as I'm pretty sure that we will need said macro in gtest08:52
tvossdidrocks, why do we install gmock btw?08:53
tvossdidrocks, why don't we just put it in /usr/src?08:53
didrockswhat do you mean?08:53
didrocksthat's what we are doing08:53
didrocksmaybe we can ship gtests in gmock08:54
didrocksso that it's going to use that synced version08:54
tvossdidrocks, we can, gtest is contained within gmock08:54
didrocks(it's a bad hack, but still better than nothing)08:54
didrocksyep08:54
didrocksthat's why I'm proposing that :)08:54
tvossdidrocks, why can't we do both? gtest and gmock in /usr/src?08:54
didrockstvoss: gtest is also in /usr/src/08:54
didrocksit's just out of sync with gmock if we push the latest I guess08:55
tvossdidrocks, I'm thinking about the situation where someone only wants to use gtest08:55
didrocksnot following you, we do have gtests as well08:55
didrocksseparated08:55
didrocksthis is the whole issue08:55
didrocksto be able to upgrade that one, but seeing the number of build-deps…08:56
tvossokay, so my proposal is: let's have /usr/src/gtest _and_ /usr/src/gmock, with gmock containing a gtest version, too08:56
didrockstvoss: that's exactly what I'm proposing :)08:56
tvossdidrocks, +1 then08:56
tvossdidrocks, which ties gmock to its internal gtest versoin, all is good :)08:56
didrockstvoss: I wonder what's happening with all those gtest includes though08:57
tvossdidrocks, good question08:57
didrocksI think we need to hack around the paths so that everytime we use gmock, we check for internal gtest08:57
didrocksif not using gmock, use the system gtest08:57
tvossdidrocks, I would rather say: if you use gmock, don't use gtest. Is a policy sufficient here?09:00
didrockstvoss: hum, you are using both in mir :)09:00
didrockssame with unity and so on09:00
didrocks$ grep -r gtest tests/ | grep include | wc -l09:01
didrocks16309:01
didrocksin Mir09:01
tvossdidrocks, using might be the wrong term: if you do add_subdirectory(/usr/src/gmock) don't do add_subdirectory(/usr/src/gtest)09:03
didrockstvoss: ah, right, agreed09:04
didrockstvoss: I hope that all build-deps for google-mock will still build with newer gtest09:04
didrockstvoss: ok, so at least, not the same error09:23
didrockstvoss: but back to /tmp/googlemockification/build-area/mir-0.0.6/obj-x86_64-linux-gnu/bin/unit-tests: symbol lookup error: /tmp/googlemockification/build-area/mir-0.0.6/obj-x86_64-linux-gnu/bin/unit-tests: undefined symbol: eglCreateImageKHR09:23
didrocks(so it seems 1.6 was enough? :p)09:23
tvossalf, ^?09:23
alfdidrocks: @1.6 was enough, our experience with 1.6 was that we needed to disable warnings/errors for it to build properly with our code, svn version could work mostly ok without disabling stuff09:29
alftvoss: didrocks: @eglCreateImageKHR, I have never seen this error before... we are not using eglCreateImageKHR directly, we are getting it as an EGL extension function pointer09:32
didrockstvoss: alf: if we can keep 1.6 for now, I would be in favor of that09:33
alfdidrocks: 1.6 is ancient... the policy of prefering released versions doesn't work well with gmock and other projects that take so long to publish.09:38
didrocksalf: yeah, but did you follow the discussion about gtests?09:38
didrocksalf: the only way for us would be to ack around and ship gtests with gmock, I'm fine with that, but at least, if it fixes anything and if upstream can help fixing the new issues in all build-deps09:39
didrocksalf: however, I do confirm that we don't need to hack around -Werror09:41
didrockstvoss: any idea of this eglCreateImageKHR?09:58
didrocksI've ported location-service meanwhile09:59
tvossdidrocks, mind pastebining the build log?10:05
tvossdidrocks, thx for porting location service10:05
didrockstvoss: libusermetrics failed though :/10:06
tvossdidrocks, why is that?10:06
didrockstvoss: build logs for Mir: http://paste.ubuntu.com/5843027/10:06
didrockstvoss: libusermetrics: http://paste.ubuntu.com/5843029/10:07
didrockswe can think of some changes in gmock and gtests10:08
didrocksbut all those undefined reference make me think the issue is somewhere else10:08
tvossdidrocks, it does not link against gtest10:09
didrockstvoss: yeah, just came to the same conclusion10:09
didrockstvoss: ok, libusermetrics fixed10:16
tvossalf, ping10:18
tvossdidrocks, I think I have the issue with the missing symbol10:19
didrocksah?10:19
tvosstests/unit-tests/graphics/test_graphics_platform.cpp returns eglCreateImageKHR10:20
alftvoss: pong10:22
tvossalf, in tests/unit-tests/graphics/test_graphics_platform.cpp, we have got a free eglCreateImageKHR10:23
tvossthat triggers the missing symbol issue10:23
alftvoss: ok, checking10:24
alftvoss: ok, easy fix, will push shortly10:25
tvossdidrocks, in test_graphics_platform.cpp, lines 72 - 7710:25
tvossalf, ^, removing those lines should fix the issue10:25
alftvoss: yes, the right version of this code is already in MockEGL10:26
tvossalf, yup :)10:26
tvossdidrocks, ^10:26
alftvoss: so do you want me to submit the fix or do it another way?10:27
tvossalf, might be a good idea if didrocks just adds it to his changes10:27
alftvoss: fine with me10:28
alfdidrocks: actually lines 70-77, we don't need the typedef anymore10:28
didrocksok10:31
didrockslet me try that10:31
didrockstvoss: some segfault in tests, but it seems to be libGLESv2.so related: http://paste.ubuntu.com/5843104/10:44
tvossdidrocks, mind running the tests manually in the build directory with ctest -V?10:49
didrockstvoss: here we go: http://paste.ubuntu.com/5843116/10:50
tvossdidrocks, okay, that did not give me the information I was after :)10:55
tvossdidrocks, gdb to the rescue then: in the build-dir: gdb bin/unit-tests10:55
didrockstvoss: sorry, I'm cleaning location-service meanwhile :)11:00
didrockstvoss: http://paste.ubuntu.com/5843140/11:00
tvossalf, this looks like soemthing for you: http://paste.ubuntu.com/5843140/11:01
didrockstvoss: mind having a quick look? https://code.launchpad.net/~didrocks/location-service/clean-location-service-pkg/+merge/17300311:04
alfdidrocks: is the packaging being run on the phone?11:08
didrocksalf: no, I'm on my desktop here11:08
didrocks(no pbuilder, just saucy)11:08
alfdidrocks: tvoss: because on error message looks strange "linker.c:1095| ERROR: Library '/system/lib/libGLESv2.so' not found"11:09
hikikoI have a problem with mir trunk11:09
hikikoI run it (intel i9650)11:10
didrocksalf: yep, I agree11:10
hikikoand I can't switch to tty11:10
hikikoeven if I kill mir11:10
hikikoeverything is frozen11:10
hikikoand I have to reboot11:10
hikikodoes anyone has the problem?11:10
hikikoalso I see something different in my laptop screen and in my external monitor11:11
alfhikiko: is that with pure mir trunk, or does it contain any other changes?11:11
hikikopure mir trunk alan_g11:11
hikikoalf sorry11:11
hikikoI first had the problem in my branch after merge to trunk but then I compiled trunk itself (fresh clean download and compile)11:12
hikikoand got the same error11:12
alfhikiko: ok, let me try... this usually means that something crashes in mir and leaves the VT in a strange state not being able to VT switch11:12
hikikothank you alf11:13
alfhikiko: does it happen with e.g. render_surfaces ?11:14
hikikono alf I only start the server11:14
hikikonothing else11:14
hikikomir_demo_server as root11:14
hikikoit crashes after a few seconds from what I see when I ssh11:15
hikikoso it's probably the crash that causes that11:16
alfhikiko: I can't recreate this locally, everything works fine for me. Can you get a backtrace?11:19
hikikolet me try11:22
hikikocrashed but I can't get the bt from gdb I can't switch vt... I ll try to start gdb inside screen in the next reboot and get its output with ssh11:26
didrocksseb128: seems tvoss isn't around, do you mind acking https://code.launchpad.net/~didrocks/location-service/clean-location-service-pkg/+merge/173003 please?11:27
didrocksalf: ok, google-mock set into the pbuilder env, now running mir inside that build env11:28
seb128didrocks, why do you ned the --fail-missing on the dh line if you override dh_install and have it there already?11:30
didrocksseb128: I added first to the dh line, then added the override11:30
didrocksseb128: so had to repeat it11:30
didrocksbut if one day we remove the override, we'll still have --fail-missing11:30
seb128didrocks, k, wfm, acked11:31
didrocks(here, the override was removed and fail-missing then skipped)11:31
didrocksand I noticed all those beautiful docs not installed!11:31
didrocksthanks seb128 :)11:31
seb128didrocks, you need to change the MR status, I'm not in the right team11:31
didrocksseb128: thanks! done11:31
seb128yw ;-)11:31
* didrocks crosses fingers that mir build will pass11:32
didrocksthen, on the list for updating google-mock "only" unity and nux11:32
didrocksI'll let that to bregma's team I guess :p11:32
didrockstvoss: alf: all tests pass for Mir in a pbuilder11:53
didrocksso I think I've something local triggering that11:53
* didrocks will do a MP11:53
=== alan_g is now known as alan_g|lunch
didrocksalf: tvoss: (failing right now because of google-mock version of course): https://code.launchpad.net/~didrocks/mir/use-system-googlemock/+merge/17300812:09
tvossdidrocks, awesome12:10
alftvoss: didrocks: just remember that to support g++-4.7 we need another fix that is not upstream yet, do we care?12:11
alftvoss: didrocks: (fix in gmock)12:11
didrocksalf: oh, it's needed even with latest snapshot?12:12
alfdidrocks: yes12:12
didrocks(as everything built fine…)12:12
alfdidrocks: everything works with g++-4.812:13
didrocksalf: do you mind pastebining it right now? I should have it in my logs but will help if you have it handy12:13
alfdidrocks: http://paste.ubuntu.com/5843334/ it's rev 750.1.5 in trunk12:19
didrocksalf: ok, getting it12:21
didrocksalf: your patch results in http://paste.ubuntu.com/5843397/12:42
alfdidrocks: it's not compiled in C++11 mode :/12:43
didrocksalf: any hint for that?12:44
alfdidrocks: the problem is that we can't provide c++11 mode headers, since not all gmock users want to use c++11 :/12:45
didrocksalf: yep12:45
didrocksalf: so removing the patch for now I guess12:45
alfdidrocks: unless you are ok with conditional compilation "if c++11" ...12:46
alfdidrocks: I mean defines in the header12:46
tvossdidrocks, alf why don't we add a NOEXCEPT macro?12:47
didrocksalf: if you provide a patch for it, I'm fine, but you have to repatch all build-deps for it (if they intented to have if c++11)12:47
arssonIs there any livecd with xmir working on it?12:47
tvossarsson, not yet, but some people have been asking for it12:47
didrockstvoss: ok, any idea when unity and nux will be ported? then, we can flip the switch for all projects12:47
alfdidrocks: no, that's only in the gmock headers, like the NOEXCEPT macro tvoss mentioned12:48
tvossalf, +112:48
didrocksalf: that's fine with me, just send the patch and I'll integrate it12:48
didrockstvoss: I can provide the binaries in a ppa if needed12:48
tvossdidrocks, for the new gmock?12:49
tvossdidrocks, I was more or less thinking about when I should review your mp on Mir :)12:49
didrockstvoss: it's pushed, see the hilight 50 minutes ago12:50
didrocksdidrocks | alf: tvoss: (failing right now because of google-mock version of course):12:50
didrocks         | https://code.launchpad.net/~didrocks/mir/use-system-googlemock/+merge/17300812:50
didrockstvoss: so yeah, need unity and nux for new gmock12:50
didrocksI've handled the rest I guess12:51
tvossdidrocks, ack12:54
tvossalan_g|lunch, did the enable_test option land, yet?12:54
didrockstvoss: I still don't have any answer on who will do unity/nux :p12:55
didrocksalf: give me the patch with #define once you have it, I'll push gmock then to a ppa12:55
tvossdidrocks, can look into it12:57
didrockstvoss: I have a start for the unity branch if you want, but I really need to switch to unity8 daily builds12:57
didrocksotherwise Saviq will kill me :p12:58
tvossdidrocks, fair. The ppa with the new gmock version would be great though12:58
didrockstvoss: let me update without alf's patch for now12:58
tvossdidrocks, ack12:58
=== alan_g|lunch is now known as alan_g
alan_gtvoss: not yet - I need some cmake help with it. https://code.launchpad.net/~alan-griffiths/mir/fix-1196987/+merge/172798/comments/38670713:03
didrockstvoss: unity branch is at lp:~didrocks/unity/new-gmock and new gmock without alf's patch is building at https://launchpad.net/~didrocks/+archive/ppa13:05
tvossdidrocks, ack13:06
tvossdidrocks, hmmm, seems like we need to add pkg-config as a build-dep13:12
tvossdidrocks, does that make sense?13:12
tvossalan_g, can you try to add pkg-config to the build-deps in debian/control?13:13
alan_gtvoss: yes (after a context switch)13:14
alan_gtvoss: I don't think that makes sense - we're talking cross build here (and that uses tools/setup-partial-armhf-chroot.sh to set things up. Not debian/control)13:22
alfdidrocks: tvoss: The updated fix http://paste.ubuntu.com/5843511/13:25
alfdidrocks: let me prefix the macro to avoid collisions...13:26
alan_gtvoss: doesn't work (nor does adding it to tools/setup-partial-armhf-chroot.sh)13:27
alfdidrocks: http://paste.ubuntu.com/5843518/13:28
tvossalan_g, okay ... I was confused13:29
alan_gtvoss: AFAICS the problem is that pkg_check_modules() checks the host, not the chroot13:31
tvossalan_g, as far as I can tell, there is a package list in the partial chroot setup13:33
alan_gtvoss: yeah, but if I install libmockdev in the host, then pkg_check_modules() is happy in the chroot, and if I remove it from the host pkg_check_modules() fails in the chroot.13:34
* alan_g is confused13:35
alan_gHence asking for help before getting bogged down in learning the details13:36
tvossalan_g, my best guess would be that you need to add it to PACKAGES_ALL13:40
tvossalan_g, any luck with that?13:49
alan_gtvoss: there's no libumockdev-dev..._all.deb, so it doesn't work - but I'm not following your thinking13:50
tvossalan_g, there is a set of packages that gets installed in the chroot in the setup script13:50
tvossalan_g, umock dev is not mentioned there13:50
alan_gyes, and I've put libumockdev-dev into the PACKAGES_ARMHF list13:51
alan_gThat (sort of) works, as it gets installed13:51
alan_gBut pkg_check_modules() doesn't find it13:51
alan_gpkg_check_modules() finds the one in the host system regardless of the chroot13:52
tvossalan_g, what is the path to the chroot?13:56
alan_g/home/alan/display_server/mir/partial-armhf-chroot13:56
tvossalan_g, might be that we need to adjust PKG_CONFIG_PATH13:56
* ogra_ hopes that weird hacking you guys do above isnt supposed to be uploaded anywheer 14:04
alan_gtvoss: that does it. \o/ (Now looking for the best place to set it)14:08
didrockstvoss: I don't think we need pkg-config, we don't use it in my branch14:10
tvossogra_, it is :)14:11
tvossalan_g, ack14:12
ogra_tvoss, ugh14:12
tvossdidrocks, I need to run some errands, will look at nux and unity when back14:12
tvossogra_, not entirely sure what hackery you mean?14:12
ogra_tvoss, cross building in the archive ?14:13
ogra_or is that only for local builds14:13
tvossogra_, not in the archive, on jenkins :)14:13
tvossogra_, and for local builds14:13
ogra_phew :)14:13
tvossogra_, no worries, how could we ever dare to propose such weird concpets?14:14
ogra_i know people are desparate to get faster builds ... the chatter above sounded scary :)14:14
* ogra_ LOLs 14:14
ogra_https://plus.google.com/117323436464400045874/posts/Zu8PkqTmnEN14:14
ogra_so he is testing Mir ... but all comments are about the wallpaper14:14
tvossdidrocks, would be great if we could sync up on package maintainers tomorrow14:15
tvossogra_, have seen ;)14:15
tvossogra_, I was tempted to write: that sunny spot in the middle, that's (x)mir land ;)14:15
ogra_LOl14:15
didrockstvoss: sorry, not sure to understand? you mean package ownership?14:15
tvossdidrocks, yup14:15
didrockssure14:15
=== tvoss is now known as tvoss|errands
=== alan_g is now known as alan_g|tea
=== alan_g|tea is now known as alan_g
katieracarr, hello15:53
alan_gkatie: FWIW it appears to be a USA holiday15:56
katiealan_g, of course!15:56
katiealan_g, thanks for reminding me :)15:56
=== alan_g is now known as alan_g|life
=== Guest43193 is now known as Debolaz
=== yofel_ is now known as yofel
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
ricmmhey guys20:43
robert_ancellthomi, any luck with those infrastructure issues?22:10
robert_ancell"file:///usr/share/unity8/GreeterShell.qml:18:1: module "Ubuntu.Application" is not installed22:16
robert_ancell     import Ubuntu.Application 0.1 "22:16
thomirobert_ancell: for the mir_stress stuff? Yes, the solution is to ditch UTAH in favour of Otto to provision the machine. I feel like I"m getting closer22:24
ricmmso guys, mir is broken on armhf due to a test22:35
ricmmkinda need to to build so I can update mir in our image22:35
ricmmhttps://code.launchpad.net/~ricmm/mir/fix-android-registrar-test/+merge/17310622:35
ricmmif a merciful soul could take care of that review, I would appreciate it22:36
ricmmbuilds fine locally on my armhf devices22:36
robert_ancellricmm, oh, the compiler fails on that?22:43
ricmmyea, because of unused result22:43
ricmmso might as well test the result22:43
robert_ancellyep22:43
ricmmthat test only builds on armhf22:43
robert_ancellapproved22:44
ricmmthanks22:47
=== RAOF_ is now known as RAOF
thomiRAOF: ping?23:38
RAOFthomi: Pong.23:39
thomiRAOF: I'm fairly sure something in the mir-team/staging PPA is preventing unity 7 from starting, I get:23:39
thomicompiz: ../../../../../src/mesa/main/hash.c:164: _mesa_HashLookup_unlocked: Assertion `key' failed.23:39
thomiI wonder if you have any ideas what that could be?23:40
RAOFWell, that sounds suspiciously like mesa :)23:40
RAOFI'm currently updating, so I'll be able to reproduce for you soon, I guess.23:40
thomiRAOF: thanks, I need to go get some lunch soon, so I'll bug you when I get back I suppose :)23:41

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