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

Ubuntu Foundations Team Bug Bot 1583279 at bugs.launchpad.net
Thu May 19 00:28:52 UTC 2016

The attachment "mdadm_3.3-2ubuntu8.debdiff" seems to be a debdiff.  The
ubuntu-sponsors team has been subscribed to the bug report so that they
can review and hopefully sponsor the debdiff.  If the attachment isn't a
patch, please remove the "patch" flag from the attachment, remove the
"patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe
the team.

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

** Tags added: patch

You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to mdadm in Ubuntu.

  apport package hook for mdadm causes a Traceback

Status in mdadm package in Ubuntu:
Status in mdadm source package in Trusty:
Status in mdadm source package in Wily:
Status in mdadm source package in Xenial:
Status in mdadm source package in Yakkety:

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
    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
    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'


  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:

More information about the foundations-bugs mailing list