Skip to content
This repository has been archived by the owner on Dec 8, 2022. It is now read-only.

Merge v0.31.1 release into bionic #6

Merged
merged 74 commits into from Apr 9, 2018
Merged

Conversation

WebDrake
Copy link
Contributor

@WebDrake WebDrake commented Apr 6, 2018

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.

Gerry Boland and others added 30 commits February 15, 2018 12:01
…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
bors bot and others added 21 commits March 27, 2018 17:25
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.
@WebDrake
Copy link
Contributor Author

WebDrake commented Apr 6, 2018

I'm not sure I quite follow what is failing here and why ... ? :-\

@WebDrake
Copy link
Contributor Author

WebDrake commented Apr 7, 2018

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?

@Flohack74
Copy link
Member

@WebDrake its again the Debian build failing: E: No such script: /usr/share/debootstrap/scripts/UNRELEASED
maybe you can influence this by editing the debian changelog in the right way but dont ask me :)

@dpniel
Copy link

dpniel commented Apr 7, 2018

I think the failures are due to how our jenkins picks out the build target. Using a branch extension should resolve it. e.g mir.ubports_-_bionic will build against bionic

@mariogrip mariogrip changed the base branch from master to bionic April 9, 2018 13:52
@mariogrip mariogrip merged commit 01740a5 into ubports:bionic Apr 9, 2018
@mariogrip
Copy link
Member

mariogrip commented Apr 9, 2018

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?

@WebDrake WebDrake deleted the merge-0.31.1 branch April 9, 2018 18:53
mariogrip pushed a commit that referenced this pull request Jun 16, 2019
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>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants