[Bug 1583279] Re: apport package hook for mdadm causes a Traceback

Launchpad Bug Tracker 1583279 at bugs.launchpad.net
Sat May 21 00:24:10 UTC 2016


This bug was fixed in the package mdadm - 3.3-2ubuntu8

---------------
mdadm (3.3-2ubuntu8) yakkety; urgency=medium

  * debian/source_mdadm.py:
    + fix bytes versus strings mismatch that caused the apport hook
      to fail (LP: #1583279)
    + capture grub.cfg for grub2
    + pyflakes and pep8 cleanups

 -- Steve Beattie <sbeattie at ubuntu.com>  Wed, 18 May 2016 13:31:04 -0700

** Changed in: mdadm (Ubuntu Yakkety)
       Status: Triaged => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1583279

Title:
  apport package hook for mdadm causes a Traceback

Status in mdadm package in Ubuntu:
  Fix Released
Status in mdadm source package in Trusty:
  Triaged
Status in mdadm source package in Wily:
  Triaged
Status in mdadm source package in Xenial:
  Triaged
Status in mdadm source package in Yakkety:
  Fix Released

Bug description:
  As we can see in bug 1581940 (attachment HookError_source_mdadm.py)
  the apport package hook for mdadm causes a traceback.

  Here's the Traceback:

  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/apport/report.py", line 197, in _run_hook
      symb['add_info'](report, ui)
  TypeError: add_info() takes 1 positional argument but 2 were given

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/apport/report.py", line 202, in _run_hook
      symb['add_info'](report)
    File "/usr/share/apport/package-hooks/source_mdadm.py", line 53, in add_info
      report['initrd.files'] = get_initrd_files(initrd_re)
    File "/usr/share/apport/package-hooks/source_mdadm.py", line 30, in get_initrd_files
      out = cpio.communicate(fd.read())[0]
    File "/usr/lib/python3.5/subprocess.py", line 1065, in communicate
      stdout, stderr = self._communicate(input, endtime, timeout)
    File "/usr/lib/python3.5/subprocess.py", line 1681, in _communicate
      self._save_input(input)
    File "/usr/lib/python3.5/subprocess.py", line 1754, in _save_input
      self._input = self._input.encode(self.stdin.encoding)
  AttributeError: 'bytes' object has no attribute 'encode'

  [Impact]

  Makes diagnosing issues around mdadm more difficult, as it won't be
  shown whether the generated initrd for the running kernel includes the
  bits relevant to mdadm.

  [Test Case]

  NOTE: an md device is not needed to reproduce the apport failure, the stacktrace is reproducable without setting up software raid.
  1. sudo apt-get install mdadm
  2. sudo apport-cli -f -p mdadm

  For the failure case, a traceback like the above will be seen. For the
  successful case, no traceback will be seen, and (V)iewing the report
  will show a section titled 'initrd.files'

  [Regression Potential]

  Changes involved are only to the apport hook for mdadm, so the only
  risk is due to the rebuild of the mdadm package itself, and any
  toolchain changes that have occurred since it was last rebuilt.

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



More information about the Ubuntu-sponsors mailing list