← Back to team overview

touch-packages team mailing list archive

[Bug 1454724] Re: Mir server crashed with SIGSEGV from close_session() when a client is killed suddenly

 

This has been fixed in 0.13 by:

https://code.launchpad.net/~afrantzis/mir/fix-1441759-screencast/+merge/256942

The root cause of this issue and the screencast issue is the same,
namely that under some circumstances the completion function for a
client buffer request may be invoked asynchronously, but from the same
thread that initiated the client buffer request (i.e. one of the IPC
threads). Our code didn't handle this situation properly, causing either
hangs or crashes.

In this scenario the completion function is called in the IPC thread
when the client closes the connection and  tears down the app session
(eventually calling BufferQueue::force_requests_to_complete()).

-- 
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/1454724

Title:
  Mir server crashed with SIGSEGV from close_session() when a client is
  killed suddenly

Status in Mir:
  Fix Committed
Status in mir package in Ubuntu:
  Confirmed

Bug description:
  Am able to crash mir_proving_server (0.12.1 in archive) with the
  following:

  1. sudo mir_proving_server&
  2. sudo chmod 777 /tmp/mir_socket
  3. export MIR_SOCKET=/tmp/mir_socket QT_QPA_PLATFORM="ubuntumirclient"
  4. download http://pastebin.ubuntu.com/11112825/ and save as test.qml
  5. qmlscene test.qml
  6. resize the client window quite a bit - i.e. make it 500x400 or similar
  7. Ctrl+C the client

  Bug:
  mir_proving_server crashes

  ProblemType: Crash
  DistroRelease: Ubuntu 15.04
  Package: mir-demos 0.12.1+15.04.20150324-0ubuntu1
  ProcVersionSignature: Ubuntu 3.19.0-15.15-generic 3.19.3
  Uname: Linux 3.19.0-15-generic x86_64
  ApportVersion: 2.17.2-0ubuntu1
  Architecture: amd64
  Date: Wed May 13 14:44:50 2015
  ExecutablePath: /usr/bin/mir_proving_server
  ExecutableTimestamp: 1427214539
  InstallationDate: Installed on 2014-11-11 (183 days ago)
  InstallationMedia: Ubuntu-Desktop-Next 15.04 "Vivid Vervet" - Alpha amd64 (20141103)
  ProcCmdline: mir_proving_server
  ProcCwd: /home/gerry
  SegvAnalysis: Skipped: missing required field "Disassembly"
  Signal: 11
  SourcePackage: mir
  StacktraceTop:
   __pthread_mutex_unlock_usercnt (decr=1, mutex=0x1) at pthread_mutex_unlock.c:314
   __GI___pthread_mutex_unlock (mutex=0x1) at pthread_mutex_unlock.c:315
   __gthread_mutex_unlock (__mutex=<optimized out>) at /usr/include/x86_64-linux-gnu/c++/4.9/bits/gthr-default.h:778
   unlock (this=<optimized out>) at /usr/include/c++/4.9/mutex:153
   unlock (this=0x7f665649a700) at /usr/include/c++/4.9/mutex:530
  SystemImageInfo:
   current build number: 0
   device name: 
   channel: daily
   last update: Unknown
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups:

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


References