/srv/irclogs.ubuntu.com/2022/06/06/#mir-server.txt

RAOFUuuuuh.00:54
RAOFWhy is `origin/main` failing a bunch of tests on my machine today?00:54
RAOFRa raw!01:41
RAOFBecause I'm building with clang, and apparently something we do generates code that fails under clang.01:42
RAOFOh, no!01:59
RAOFEven better! The tests only work if built with ld.bfd.02:00
RAOF`ld.gold` fails to build (apparently `mir/common/symbols.map` confuses its parser).02:00
RAOFBoth `ld.lld` and `ld.mold` build, but then the tests fail 🤷‍♀️02:01
RAOFAre other people not building with one of the faster linkers?02:03
sophie-wI use ldd, I'm pretty sure02:03
RAOF`mold` is a *full order of magnitude* faster than `ld.bfd` for a link-only build (6s rather than 60s).02:03
sophie-wBut I don't generally run all the tests02:04
RAOFHuh!02:07
RAOFSo, the difference is in symbol resolution.02:07
RAOF`mold` and `lld` will both resolve `glCreateShader` and friends in `mir_acceptance_tests` to our GL stubs.02:08
RAOF`ld.bfd` resolves them in `libGLESv2.so`.02:08
RAOFSo when `the_screen_shooter()` transitively calls `glCreateShader`, that aborts the tests when built with `mold` or `lld`, but raises an exception when built with `ld.bfd` which gets silently eaten.02:10
RAOF(I mean, it gets logged with `severity::Error`, but that's silently eaten by the acceptance tests)02:11
-GitHub[m]:#mir-server- **[MirServer/mir]** RAOF opened [issue #2452](https://github.com/MirServer/mir/issues/2452): Using non-`ld` linker results in broken tests... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/be55e25138e8f6b47e00748490de8e71743bb4fd)02:29
-GitHub[m]:#mir-server- **[MirServer/mir]** RAOF opened [pull request #2453](https://github.com/MirServer/mir/pull/2453): mtf: Add mmap() interposer08:06
-GitHub[m]:#mir-server- 08:06
-GitHub[m]:#mir-server- > The new Platform API tests need to add the ability of `MockDRM` to intercept `mmap()` calls. Take the existing `open()` interceptor, file off the serial numbers, and use it for `mmap()`, too.08:06
Saviqalan_g hey, so, back to the performance tests… digging more into extracting renderers and resolutions… when running `Hosted*` under mir-kiosk / ubuntu-frame, that's actually 3 servers… `{mir-kiosk|ubuntu-frame}(mir_demo_server(mtf::AsyncServerRunner(test)))`11:06
alan_g[m]> alan_g hey, so, back to the performance tests… digging more into extracting renderers and resolutions… when running `Hosted*` under mir-kiosk / ubuntu-frame, that's actually 3 servers… `{mir-kiosk|ubuntu-frame}(mir_demo_server(mtf::AsyncServerRunner(test)))`11:08
alan_g[m]Yes11:08
SaviqAny pointers on how to extract GL renderer and display mode from mtf::AsyncServerRunner?11:09
SaviqI will parse logs for the outermost server, but for the test-driven servers I wanted to put those values into the result xml11:10
alan_g[m]AsyncServerRunner does recognise `--logging`, but I don't know if we pass it11:14
SaviqWe do, yeah, but then that just ends up on stderr11:15
alan_g[m]So the problem is that Frame and AsyncServerRunner outputs are interleaved on stdout/err?11:17
SaviqNo, outermost server logs are separate, but ASR's logs are interleaved with gtest output on std*11:22
SaviqI suppose I can just monitor all of stderr in search for `GL renderer` and `Current mode:`11:23
alan_g[m]In other news, I added "Documentation: https://discourse.ubuntu.com/t/ubuntu-frame-osk-documentation/27568" to https://snapcraft.io/ubuntu-frame-osk. (I didn't find a better documentation link)11:48
Saviqgrayson-g there's also `weston-simple-touch` that may be easier to work through. But. You don't actually have a touch screen, do you?15:17
grayson-g[m]Saviq: Besides my phone, I don't believe I have a touch screen in here.15:17
Saviqalan_g got any pointers re: emulation of touch events?15:24
alan_g[m]> alan_g got any pointers re: emulation of touch events?15:35
alan_g[m]Sorry, no. What's the problem?15:35
grayson-g[m]> <@alan_g:matrix.org> > alan_g got any pointers re: emulation of touch events?15:36
grayson-g[m]> 15:36
grayson-g[m]> Sorry, no. What's the problem?15:36
grayson-g[m]This is regarding testing of this PR https://github.com/MirServer/mir/pull/229915:36
grayson-g[m] * This is regarding testing of this PR https://github.com/MirServer/mir/pull/2299 [Edit: I know it is incomplete, but if I need some way to test a working solution]15:36
alan_g[m]> This is regarding testing of this PR https://github.com/MirServer/mir/pull/229915:37
alan_g[m]You'd need a driver that misbehaves in the way described to test that IRL. Better to extract the logic and write a unit test15:37
grayson-g[m]> <@alan_g:matrix.org> > This is regarding testing of this PR https://github.com/MirServer/mir/pull/229915:38
grayson-g[m]> 15:38
grayson-g[m]> You'd need a driver that misbehaves in the way described to test that IRL. Better to extract the logic and write a unit test15:38
grayson-g[m]Makes sense15:38
alan_g[m]grayson-g[m]: That, in part is what's blocked it all this time. We don't see the problem, and the new logic isn't tested. (And, I think, both old and new logic handle "garbage in" badly)15:43
-GitHub[m]:#mir-server- **[MirServer/mir]** bors[bot] merged [pull request #2453](https://github.com/MirServer/mir/pull/2453): mtf: Add mmap() interposer15:57
-GitHub[m]:#mir-server- **[MirServer/mir]** AlanGriffiths opened [issue #2454](https://github.com/MirServer/mir/issues/2454): Core dump after using OSK with Chromium... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/0f5a27188c3b87f25f8fa0f083599cc142cd153d)16:08
-GitHub[m]:#mir-server- **[MirServer/mir]** AlanGriffiths assigned AlanGriffiths to [issue #2454](https://github.com/MirServer/mir/issues/2454): Core dump after using OSK with Chromium16:43
-GitHub[m]:#mir-server- **[MirServer/mir]** AlanGriffiths added bug to [issue #2454](https://github.com/MirServer/mir/issues/2454): Core dump after using OSK with Chromium16:43
-GitHub[m]:#mir-server- **[MirServer/mir]** AlanGriffiths opened [pull request #2455](https://github.com/MirServer/mir/pull/2455): Don't use delete in application logic... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/5c0bbafd6be8e872611207e4175b9b9cbfc11292)16:49
-GitHub[m]:#mir-server- **[MirServer/mir]** AlanGriffiths requested a review from graysonguarino for [pull request #2455](https://github.com/MirServer/mir/pull/2455): Don't use delete in application logic16:50
-GitHub[m]:#mir-server- **[MirServer/mir]** bors[bot] closed [issue #2454](https://github.com/MirServer/mir/issues/2454): Core dump after using OSK with Chromium17:32
-GitHub[m]:#mir-server- **[MirServer/mir]** bors[bot] merged [pull request #2455](https://github.com/MirServer/mir/pull/2455): Don't use delete in application logic17:32
-GitHub[m]:#mir-server- **[MirServer/mir]** wmww opened [issue #2456](https://github.com/MirServer/mir/issues/2456): X11 platform display configuration racy23:15
-GitHub[m]:#mir-server- 23:15
-GitHub[m]:#mir-server- > We should only be making changes to `DisplayBuffer`, `gl::RenderTarget`, etc in `Display::configure()`, since references are held by the compositor and used on the compositor thread, but we make changes immediately when we notice them from X11 events.23:15
-GitHub[m]:#mir-server- **[MirServer/mir]** wmww opened [issue #2457](https://github.com/MirServer/mir/issues/2457): Wayland platform display configuration racy23:18
-GitHub[m]:#mir-server- 23:18
-GitHub[m]:#mir-server- > Like #2456, we should only be making changes to displays in `Display::configure()`. This one is potentially worse because if an underlying `wl_output` disappears we will destroy the display buffer, but it may continue to be rendered on, resulting in a use-after-free.23:18
RAOF<Saviq> "alan_g got any pointers re..." <- grayson-g:  If you need a set of real touch events to work from, I can provide a umockdev recording that will generate a seemingly-real touch stream.23:46
grayson-g[m]RAOF: This would be helpful!23:46
RAOFRAOF: The thought occurs that the *reporter* of that bug might be able to generate a trace of the broken driver's events!23:48
RAOFI think there might also be an existing trace of a touch stream in `test_data`?23:49

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