← Back to team overview

touch-packages team mailing list archive

[Bug 1372276] Re: Nested server crashes with SIGSEGV on shutdown in eglDestroyContext()

 

This bug was fixed in the package mir - 0.8.0+14.10.20141005-0ubuntu1

---------------
mir (0.8.0+14.10.20141005-0ubuntu1) 14.09; urgency=medium

  [ Daniel van Vugt ]
  * New upstream release 0.8.0 (https://launchpad.net/mir/+milestone/0.8.0)
    - Enhancements:
      . Less sensitivity to ABI breaks - many headers unused by external
        projects are now hidden and not installed by -dev packaes. If you
        require any headers that are missing, just ask.
      . Touchspots: --enable-touchspots to servers; visually shows touch
        locations (warning: This affects performance LP: #1373692).
      . Client performance reporting: Any Mir client can now get accurate
        performance information (frame rate, render time, buffer lag etc)
        logged to stdout. Just set env MIR_CLIENT_PERF_REPORT=log
      . Further improved touch responsiveness, with less lag and smoother
        scrolling (so long as you don't enable touchspots).
      . Slightly faster builds using precompiled headers.
      . Turn hardware overlays on by default. When in use, this halves the
        CPU usage of a Mir server. Already enabled in unity-system-compositor.
      . More scripting to detect ABI breaks.
      . Improved src/ tree consistency (renamed "src/shared" to "src/common").
      . Improved fatal signal design: Changed from SIGTERM to SIGHUP delivered
        to clients on unexpected server disconnection.
      . Improved library/package design to allow concurrent installations
        of different Mir versions without conflicts.
      . Fd reception code is now common to client and server.
    - ABI summary: Servers need rebuilding, but clients do not;
      . Mirclient ABI unchanged at 8
      . Mircommon ABI bumped to 2
      . Mirplatform ABI bumped to 3
      . Mirserver ABI bumped to 26
    - API changes between Mir 0.7 and 0.8:
      . Lots of headers removed from the public SDK! We have only hidden
        headers not known to be used by any known projects. Please let us
        know if anything is missing - https://bugs.launchpad.net/mir/+filebug
      . graphics::Platform - interface changed significantly.
      . Lots of server API changes to support touchspots.
      . File descriptors now passed as type Fd instead of int32_t.
    - Bug fixes:
      . [regression] Mir deb packages with versioned names cannot be installed
        simultaneously any more (LP: #1293944)
      . A frozen client can hang the whole server (LP: #1350207)
      . QtMir FTBFS: fatal error: mir/input/input_channel.h: No such file or
        directory (LP: #1365934)
      . [regression] platform-api fails to build against Mir 0.8 (LP: #1368354)
      . Mir FTBFS with gcc 4.9.1-14 (utopic update):
        auto_unblock_thread.h:44:46: error: no matching function for call to
        ‘std::thread::thread(<brace-enclosed initializer list>)’ (LP: #1369389)
      . [regression] Compositing is jerky and stutters during touch events
        (LP: #1372850)
      . unit test fails: AndroidInputReceiverSetup.slow_raw_input_doesnt_cause_
        frameskipping (LP: #1373826)
      . intermittent hang in TestClientInput (LP: #1338612)
      . TestClientInput.scene_obscure_motion_events_by_stacking fails
        intermittently (LP: #1361757)
      . [regression] First frame is composited as black (even though the client
        has provided a non-black frame) (LP: #1362444)
      . Some mali drivers crash after repeatedly creating/destroying the mir
        compositor threads (LP: #1362841)
      . [android] SIGTERM to server with connected client causes crash
        (LP: #1364637)
      . [regression] acceptance tests fails in
        ServerDisconnect.causes_client_to_terminate_by_default (LP: #1364772)
      . [regression] symbol lookup error:
        /usr/lib/arm-linux-gnueabihf/libmirserver.so.24: undefined symbol:
        _ZTIN7android7RefBaseE (libmirserver 0.6.1 doesn't work with
        libmircommon 0.7.0) (LP: #1364890)
      . [regression] Mir FTBFS with g++-4.8 [error: ISO C++ forbids casting
        between pointer-to-function and pointer-to-object] (LP: #1366134)
      . Intermittent CI failure in DemoPrivateProtobuf.client_calls_server
        (LP: #1367353)
      . Overly strict libmirplatform* dependencies are blocking CI
        (LP: #1370866)
      . [regression] mir demo servers segfault on shutdown (LP: #1371619)
      . Nested server crashes with SIGSEGV on shutdown in eglDestroyContext()
        (LP: #1372276)
      . [regression] Moving/resizing clients in a nested server is very
        jerky/stuttery (LP: #1372300)
      . [regression] Bypass/overlays are toggling constantly (LP: #1373689)
      . [regression] Mir server uses too much CPU during touch scrolling
        (LP: #1373809)
      . Intermittent test failures in TestClientCursorAPI.* (LP: #1342567)
      . clang emits lots of warnings about lttng headers (LP: #1348472)
      . [enhancement] Draw input event location (LP: #1323522)
      . demo shell: Keep colours consistent, regardless of the physical pixel
        format of your framebuffer (LP: #1375660)
      . tests: Fix SharedLibraryProber test runs on i386. (LP: #1375829)
      . Touchspots rendered as squares on some devices (LP: #1373698)
      . The headers needed to use features shown in the acceptance tests are
        not published (LP: #1375301)
      . update-all-ABI-sha1sums.sh and install_on_android.sh are no longer
        executable. (LP: #1376547)
 -- Ubuntu daily release <ps-jenkins@xxxxxxxxxxxxxxxxxxx>   Sun, 05 Oct 2014 00:41:28 +0000

** Changed in: mir (Ubuntu RTM)
       Status: Triaged => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to mir in Ubuntu.
https://bugs.launchpad.net/bugs/1372276

Title:
  Nested server crashes with SIGSEGV on shutdown in eglDestroyContext()

Status in Mir:
  Fix Released
Status in Mir 0.7 series:
  Fix Released
Status in “mir” package in Ubuntu:
  Fix Released
Status in “mir” package in Ubuntu RTM:
  Fix Released

Bug description:
  Start a host server and nested server. Ctrl+C ... crash.

  Test case:
    1. sudo -s sh -c "bin/mir_demo_server_minimal -f /tmp/outer & sleep 2 ; bin/mir_demo_server_shell --host-socket /tmp/outer -f /tmp/inner"
    2. Ctrl+C

  
  (gdb) bt
  #0  0x00007f9e628cb2e6 in ?? ()
     from /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1
  #1  0x00007f9e628c313a in eglDestroyContext ()
     from /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1
  #2  0x00007f9e6453c9ef in mir::graphics::EGLContextStore::~EGLContextStore (
      this=0x113a7a0, __in_chrg=<optimised out>)
      at /home/dan/bzr/mir/dev/src/platform/graphics/egl_resources.cpp:40
  #3  0x00007f9e648e8b54 in mir::graphics::SurfacelessEGLContext::~SurfacelessEGLContext (this=0x113a770, __in_chrg=<optimised out>)
      at /home/dan/bzr/mir/dev/src/server/graphics/surfaceless_egl_context.cpp:175
  #4  0x00007f9e648e8ba0 in mir::graphics::SurfacelessEGLContext::~SurfacelessEGLContext (this=0x113a770, __in_chrg=<optimised out>)
      at /home/dan/bzr/mir/dev/src/server/graphics/surfaceless_egl_context.cpp:178
  #5  0x00007f9e64869032 in std::default_delete<mir::graphics::GLContext>::operator() (this=0x1255058, __ptr=0x113a770)
      at /usr/include/c++/4.9/bits/unique_ptr.h:76
  #6  0x00007f9e648675b3 in std::unique_ptr<mir::graphics::GLContext, std::default_delete<mir::graphics::GLContext> >::~unique_ptr (this=0x1255058,
      __in_chrg=<optimised out>) at /usr/include/c++/4.9/bits/unique_ptr.h:236
  #7  0x00007f9e6487598f in mir::scene::GLPixelBuffer::~GLPixelBuffer (
      this=0x1255050, __in_chrg=<optimised out>)
      at /home/dan/bzr/mir/dev/src/server/scene/gl_pixel_buffer.cpp:66
  #8  0x00007f9e648732df in __gnu_cxx::new_allocator<mir::scene::GLPixelBuffer>::destroy<mir::scene::GLPixelBuffer> (this=0x1255050, __p=0x1255050)
      at /usr/include/c++/4.9/ext/new_allocator.h:124
  #9  0x00007f9e64872f4d in std::allocator_traits<std::allocator<mir::scene::GLPixelBuffer> >::_S_destroy<mir::scene::GLPixelBuffer> (__a=..., __p=0x1255050)
      at /usr/include/c++/4.9/bits/alloc_traits.h:282
  #10 0x00007f9e64872b25 in std::allocator_traits<std::allocator<mir::scene::GLPixelBuffer> >::destroy<mir::scene::GLPixelBuffer> (__a=..., __p=0x1255050)
      at /usr/include/c++/4.9/bits/alloc_traits.h:411
  #11 0x00007f9e64871d4f in std::_Sp_counted_ptr_inplace<mir::scene::GLPixelBuffer, std::allocator<mir::scene::GLPixelBuffer>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x1255040) at /usr/include/c++/4.9/bits/shared_ptr_base.h:524
  #12 0x00007f9e647c7980 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x1255040) at /usr/include/c++/4.9/bits/shared_ptr_base.h:149
  #13 0x00007f9e647c76e9 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0xf782a0, __in_chrg=<optimised out>)
      at /usr/include/c++/4.9/bits/shared_ptr_base.h:666
  #14 0x00007f9e64866368 in std::__shared_ptr<mir::scene::PixelBuffer, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0xf78298, __in_chrg=<optimised out>)
      at /usr/include/c++/4.9/bits/shared_ptr_base.h:914
  #15 0x00007f9e64866382 in std::shared_ptr<mir::scene::PixelBuffer>::~shared_ptr
      (this=0xf78298, __in_chrg=<optimised out>)
      at /usr/include/c++/4.9/bits/shared_ptr.h:93
  #16 0x00007f9e64892acc in mir::scene::ThreadedSnapshotStrategy::~ThreadedSnapshotStrategy (this=0xf78290, __in_chrg=<optimised out>)
      at /home/dan/bzr/mir/dev/src/server/scene/threaded_snapshot_strategy.cpp:122
  #17 0x00007f9e6487329b in __gnu_cxx::new_allocator<mir::scene::ThreadedSnapshotStrategy>::destroy<mir::scene::ThreadedSnapshotStrategy> (this=0xf78290,
      __p=0xf78290) at /usr/include/c++/4.9/ext/new_allocator.h:124
  #18 0x00007f9e64872ef5 in std::allocator_traits<std::allocator<mir::scene::ThreadedSnapshotStrategy> >::_S_destroy<mir::scene::ThreadedSnapshotStrategy> (
      __a=..., __p=0xf78290) at /usr/include/c++/4.9/bits/alloc_traits.h:282
  #19 0x00007f9e64872ac1 in std::allocator_traits<std::allocator<mir::scene::ThreadedSnapshotStrategy> >::destroy<mir::scene::ThreadedSnapshotStrategy> (
      __a=..., __p=0xf78290) at /usr/include/c++/4.9/bits/alloc_traits.h:411
  #20 0x00007f9e64871bcf in std::_Sp_counted_ptr_inplace<mir::scene::ThreadedSnapshotStrategy, std::allocator<mir::scene::ThreadedSnapshotStrategy>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0xf78280)
      at /usr/include/c++/4.9/bits/shared_ptr_base.h:524
  #21 0x00007f9e647c7980 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0xf78280) at /usr/include/c++/4.9/bits/shared_ptr_base.h:149

To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1372276/+subscriptions