[Bug 1748597] Re: Please backport fix for bugs.debian.org/827015

Ubuntu Foundations Team Bug Bot 1748597 at bugs.launchpad.net
Sat Feb 10 12:29:05 UTC 2018


The attachment "0001-x86_64-Use-sigprocmask-from-signal-frames.patch"
seems to be a patch.  If it isn't, please remove the "patch" flag from
the attachment, remove the "patch" tag, and if you are a member of the
~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by
~brian-murray, for any issues please contact him.]

** Tags added: patch

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to libunwind in Ubuntu.
https://bugs.launchpad.net/bugs/1748597

Title:
  Please backport fix for bugs.debian.org/827015

Status in libunwind package in Ubuntu:
  New
Status in libunwind package in Debian:
  Fix Released

Bug description:
  [Impact]
  When a C++ exception is thrown with libunwind linked in, the signal mask is corrupted.

  For MongoDB, if the CPU profiler is enabled (which requires linking
  libunwind), any exception that is raised within the server may cause
  random signals to become unblocked on a thread.  If SIGTERM becomes
  unblocked on any thread but the main thread, the server won't exit
  cleanly (this is particularly evident when running the MongoDB test
  suite, which starts/stops servers repeatedly).

  This also seems to impact Pyston:
  https://lab.nexedi.com/Daetalus/Pyston/commit/1bac7510861a112a9023f821bf3e857a6fb45037

  [Test Case]
  I've attached the test case from the upstream Debian bug (https://bugs.debian.org/827015).

  $ g++ sigtest.cpp -lpthread
  Signals blocked: 1 (Hangup)	65 (Unknown signal 65)
  Throw exception
  Signals blocked: 1 (Hangup)	65 (Unknown signal 65)

  $ g++ sigtest.cpp -lpthread -lunwind
  Signals blocked: 1 (Hangup)	65 (Unknown signal 65)
  Throw exception
  Signals blocked: 7 (Bus error)	8 (Floating point exception)	10 (User defined signal 1)	12 (User defined signal 2)	13 (Broken pipe)	15 (Terminated)	17 (Child exited)	20 (Stopped)21 (Stopped (tty input))	25 (File size limit exceeded)	26 (Virtual timer expired)	27 (Profiling timer expired)	28 (Window changed)	29 (I/O possible)	30 (Power failure)	31 (Bad system call)	32 (Unknown signal 32)	33 (Unknown signal 33)	34 (Real-time signal 0)	35 (Real-time signal 1)	36 (Real-time signal 2)	37 (Real-time signal 3)	38 (Real-time signal 4)	39 (Real-time signal 5)	40 (Real-time signal 6)	41 (Real-time signal 7)	42 (Real-time signal 8)	43 (Real-time signal 9)	44 (Real-time signal 10)	45 (Real-time signal 11)	46 (Real-time signal 12)	47 (Real-time signal 13)	65 (Unknown signal 65)

  [Regression Potential]
  This fix is already present in bionic and Debian testing, and has been for a couple months.  The upstream fix has existed for over a year.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libunwind/+bug/1748597/+subscriptions



More information about the Ubuntu-openstack-bugs mailing list