Conversation
…k to using the mode named "preferred" as current mode
235: added DoubleBuffered<T> r=AlanGriffiths a=wmww added DoubleBuffered<T> class and used it for WlSurface::buffer_offset
237: Refactoring r=AlanGriffiths a=wmww The biggest change is the renaming of `WlMirWindow` to `WlSurfaceRole`. I mentioned I might want to do this. I did it.
244: Software cursor: throw exception for zero sized cursor image r=wmww a=gerboland Server supplying zero sized cursor image to Mir causes Mir to die with an obscure error message: "Failed to map file: Invalid argument" Catch zero sized cursor image and throw with a better error message. Will help other Mir users when encountering #120
232: MirAL version 2.0 r=RAOF,gerboland,Saviq a=AlanGriffiths Tidy up the MirAL API (breaking the ABI in the process)
165: KMS platform - fallback if crtc mode invalid r=AlanGriffiths a=gerboland If the current mode advertised by the crtc does not exist in the list of modes, fall back to using the mode named "preferred" as current mode. Some VMs specify this. Fixes nested server run on VMWare: https://bugs.launchpad.net/mir/+bug/1661295
252: Restructure WlSurface::commit() r=AlanGriffiths a=wmww The main idea of this PR is encapsulate all double buffered surface state in a single class, and restructure the surface committing system to work like so: * requests are made to the surface that modify the pending state * WlSurface::commit() is called * it calls WlSurfaceRole::commit(state) with its pending state * that can either call WlSurface::commit(state), or it can cache the state to be committed later (this will be done for synchronized subsurfaces) * in WlSurface::commit(state) the buffer is actually created and submitted * the role then does whatever committing it needs to do
254: refactored WlAbstractMirWindow r=AlanGriffiths a=wmww * removed `WlSurfaceRole::new_buffer_size()` * changed the `surface` member of `WlAbstractMirWindow` from a `wl_resource*` to a `WlSurface*`
261: Tidy WlSurface r=wmww a=AlanGriffiths Fixes a couple of things that were bugging me
260: Subcompositor fixes r=AlanGriffiths a=wmww Fixed subsurface offset issue and sync behavior. Input coming soon!
258: fix-ftbfs r=RAOF a=AlanGriffiths Fix a couple of warnings from g++ 8.0.1
264: stopped frame.done being called if frame has been destroyed r=RAOF a=wmww Fixes a wlcs test
269: Implement WlSurface::set_cursor() r=wmww a=AlanGriffiths Enable Wayland clients to set and hide the cursor
270: Don't force -flto for libmiral r=Saviq a=AlanGriffiths src/miral/CMakeLists.txt has some hardcoded compile flags inherited from its days as a standalone project. These should be inherited from the parent project instead. (Fixes #266)
275: Configure new surfaces after attaching observers r=wmww a=AlanGriffiths For tiling, we need to set the surface state to "maximized" so that Wayland clients obey exactly. That wasn't working as the wayland_frontend wasn't being notified of the actual state.
277: Don't remember recent surface events after the input dispatcher is shut down. r=wmww a=AlanGriffiths The event "goes stale" and can cause a segfault. (Fixes #276)
281: Sequence xdg-top-level and xdg-surface configure events correctly. r=wmww a=AlanGriffiths qtwayland gets confused by receiving these event out of order. (Fixes #280)
290: The role needs to be notified when a surface is destroyed r=wmww,gerboland a=AlanGriffiths Restores the previous behaviour. (Fixes #289)
288: When a surface is rendered acknowledge all frames that have been committed. r=wmww a=AlanGriffiths We messed up the handling of frames in a recent refactor: this restores the correct behaviour. (Fixes #284)
268: [spread] explicitly request amd64 images r=RAOF a=Saviq
272: [travis] use SFTP for PPA uploads until FTP is fixed r=Saviq a=Saviq
267: [travis] move Fedora over to GCE, too r=AlanGriffiths a=Saviq
296: fixed timestamp issue r=AlanGriffiths a=wmww
This brings bionic up to date with the latest upstream stable release. Conflicts in the changelog have been resolved in upstream's favour.
I'm not sure I quite follow what is failing here and why ... ? :-\ |
As a side note: bionic already has mir v0.31.1 in its own repos. So does ubports actually need to roll its own packages there? |
@WebDrake its again the Debian build failing: E: No such script: /usr/share/debootstrap/scripts/UNRELEASED |
I think the failures are due to how our jenkins picks out the build target. Using a branch extension should resolve it. e.g |
This failed because it was targeted for master and not bionic (yeah i known, our weird branches due to phone is way out to date so we cannot ship the same version etc..) We should really setup master to also build, but this will then result in building for both xenial and bionic. but for the time being we cannot do that (due to phone :( ) We might make an exception where mir(*) things gets built only on bionic (on master(, what do you think @dpniel? |
808: Fix Mir unit tests r=AlanGriffiths a=wmww With `std::list`, Mir unit tests segfaults with the following stack trace. Don't have enough motivation at the moment (or enough understanding of `std::list`) to figure out why. It seems likely there is a root cause I haven't actually addressed, so if you have ideas on what it may be or how to debug it, I'm all ears. ``` GNU gdb (Ubuntu 8.2.91.20190405-0ubuntu3) 8.2.91.20190405-git Copyright (C) 2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from ./bin/mir_unit_tests... (gdb) r Starting program: /home/wmww/code/mir/build/bin/mir_unit_tests MIR_CLIENT_PLATFORM_PATH=/home/wmww/code/mir/build/bin/../lib/client-modules/ MIR_SERVER_PLATFORM_PATH=/home/wmww/code/mir/build/bin/../lib/server-modules/ LD_LIBRARY_PATH=:/usr/local/lib:/usr/local/lib:/home/wmww/code/mir/build/bin/../lib exec=/home/wmww/code/mir/build/bin/mir_unit_tests.bin process 3530 is executing new program: /home/wmww/code/mir/build/bin/mir_unit_tests.bin [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. 0x0000555557873374 in std::_Function_base::_M_empty (this=0x10) at /usr/include/c++/8/bits/std_function.h:260 260 bool _M_empty() const { return !_M_manager; } (gdb) bt #0 0x0000555557873374 in std::_Function_base::_M_empty() const (this=0x10) at /usr/include/c++/8/bits/std_function.h:260 #1 0x00005555588889bd in std::function<std::experimental::fundamentals_v1::optional<int> (char const*, int, unsigned int)>::operator()(char const*, int, unsigned int) const (this=0x10, __args#0=0x5555597a6af0 "/home/wmww/code/mir/build/bin/mir_unit_tests.bin", __args#1=524288, __args#2=0) at /usr/include/c++/8/bits/std_function.h:685 #2 0x00005555588882b9 in (anonymous namespace)::run_handlers(char const*, int, mode_t) (path=0x5555597a6af0 "/home/wmww/code/mir/build/bin/mir_unit_tests.bin", flags=524288, mode=0) at /home/wmww/code/mir/tests/mir_test_framework/open_wrapper.cpp:58 #3 0x000055555888841a in open(char const*, int, mode_t) (path=0x5555597a6af0 "/home/wmww/code/mir/build/bin/mir_unit_tests.bin", flags=524288, mode=0) at /home/wmww/code/mir/tests/mir_test_framework/open_wrapper.cpp:78 #4 0x00007ffff7784262 in lttng_ust_elf_create () at /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0 #5 0x00007ffff7785e5e in () at /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0 #6 0x00007ffff737b557 in __GI___dl_iterate_phdr (callback=0x7ffff7785fd0, data=0x7fffffffdb90) at dl-iteratephdr.c:75 #7 0x00007ffff77864eb in lttng_ust_dl_update () at /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0 #8 0x00007ffff77662e9 in () at /usr/lib/x86_64-linux-gnu/liblttng-ust.so.0 #9 0x00007ffff7fe295a in call_init (l=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7fffffffe0e8, env=env@entry=0x7fffffffe0f8) at dl-init.c:72 #10 0x00007ffff7fe2a59 in call_init (env=0x7fffffffe0f8, argv=0x7fffffffe0e8, argc=1, l=<optimized out>) at dl-init.c:30 #11 0x00007ffff7fe2a59 in _dl_init (main_map=0x7ffff7ffe190, argc=1, argv=0x7fffffffe0e8, env=0x7fffffffe0f8) at dl-init.c:119 #12 0x00007ffff7fd30ca in _dl_start_user () at /lib64/ld-linux-x86-64.so.2 #13 0x0000000000000001 in () #14 0x00007fffffffe3b8 in () #15 0x0000000000000000 in () ``` Co-authored-by: William Wold <wm@wmww.sh>
This brings bionic up to date with the latest upstream stable release. Conflicts in the changelog have been resolved in upstream's favour.
Note, because of the conflicts, this PR includes an actual merge commit.