← Back to team overview

touch-packages team mailing list archive

[Bug 1528135] Re: [regression] Mir servers just segfault just after "Selected driver:" instead of reporting exceptions

 

mir (0.19.0+16.04.20160128-0ubuntu1) xenial; urgency=medium

** Changed in: mir
       Status: Fix Committed => Fix Released

** Also affects: mir (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: mir (Ubuntu)
       Status: New => 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/1528135

Title:
  [regression] Mir servers just segfault just after "Selected driver:"
  instead of reporting exceptions

Status in Mir:
  Fix Released
Status in Mir 0.18 series:
  Won't Fix
Status in mir package in Ubuntu:
  Fix Released

Bug description:
  Mir server segfaults when trying to report exception - "Error opening
  DRM device".

  I could not get any workable backtrace, but by deduction was able to
  figure out that was the one being thrown. Unfortunately Mir segfaults
  before it can report the error to the user. This does not happen in
  Mir 0.17.1 at least but does happen with lp:mir ...

  Try this from ssh while you're logged in to X, or on the login screen:

  $ sudo bin/mir_demo_server --platform-graphics-lib=lib/server-modules/graphics-mesa-kms.so.7
  MIR_CLIENT_PLATFORM_PATH=bin/../lib/client-modules/
  MIR_SERVER_PLATFORM_PATH=bin/../lib/server-modules/
  LD_LIBRARY_PATH=bin/../lib
  exec=bin/mir_demo_server.bin
  [1450687750.973798] mirserver: Starting
  [1450687750.974124] mirserver: Selected driver: mesa-kms (version 0.19.0)
  $ echo $?
  139

  When launched within an X session, after opening /dev/dri/card0 the
  kms platform attempts to drmSetInterfaceVersion(drm_fd, {1,4,-1,-1))
  that fails with errno 13 Permission denied. Since mir has not switched
  vt. Further devices nodes are tried after that. Since none of them is
  a card opening the devices fails. Now that failures is thrown as an
  exception. Stack unwinding back up to run_mir makes mir unload the
  graphics platform.

  Then a rethrow of the exception leads to a segmentation fault.
  #0  0x00007ffff78dfc3b in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
  #1  0x00007ffff78e01bf in __gxx_personality_v0 () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
  #2  0x00007ffff764c203 in _Unwind_RaiseException () from /lib/x86_64-linux-gnu/libgcc_s.so.1
  #3  0x00007ffff764c50d in _Unwind_Resume_or_Rethrow () from /lib/x86_64-linux-gnu/libgcc_s.so.1
  #4  0x00007ffff78e095c in __cxa_rethrow () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
  #5  0x00007ffff67661f0 in mir::report_exception (out=...) at /home/andreas/mir/mir/src/server/report_exception.cpp:30
  #6  0x00007ffff677ef36 in mir::Server::run (this=this@entry=0x7fffffffe1d0) at /home/andreas/mir/mir/src/server/server.cpp:404
  #7  0x00007ffff6b1dbb5 in main (argc=2, argv=0x7fffffffe408) at /home/andreas/mir/mir/examples/server_example.cpp:112
  #8  0x0000000000400e8e in main (argc=2, argv=0x7fffffffe408) at /home/andreas/mir/mir/examples/mir_demo_server_loader.cpp:40

  It seems to try to access unwind / throw location related information.
  But those are no longer present since the platform library is already
  unloaded.

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