** Description changed:

  I was trying to deploy an image based on an Ubuntu Desktop 14.04 install
  using MAAS 1.7.0~beta2+bzr2967-0ubuntu1~ppa1 on Ubuntu 14.04 server.
  
  I made a "curtin-compatible" tar.gz which includes cloud-init, put it in
  place of root-tgz in my maas server, and tried to deploy a node (using
  juju bootstrap).
  
  Juju ended up complaining and timing out, and the node never fully
  completed installation. On closer look, I found curtin crashes when
  running "curthooks", specifically at some point it does dpkg --list, and
  the code that handles this (utils.subp) assumes output from its commands
  is pure ascii and so crashes when the output contains non-ascii. For
  Ubuntu Desktop, in particular, the output contains "Déjȧ Dup", which is
  what causes things to barf.
  
  I SSHd into the half-installed node and ran curtin manually like so:
  
  sudo CURTIN_STACKTRACE=1 /curtin/bin/curtin --verbose --verbose --log-
  file /media/root-rw/curtin-install.log install
  --config=configs/config-000.cfg
  http://10.10.10.1/MAAS/static/images/ubuntu/amd64/generic/trusty/release
  /root-tgz
  
  It ended in this:
  
  Running command ['chroot', '/tmp/tmpQ_dk0_/target', 'dpkg-query', '--list'] 
with allowed return codes [0] (shell=False, capture=True)
  Traceback (most recent call last):
    File "/curtin/curtin/commands/main.py", line 96, in main
      sys.exit(args.func(args))
    File "/curtin/curtin/commands/curthooks.py", line 443, in curthooks
      apply_debconf_selections(cfg, target)
    File "/curtin/curtin/commands/curthooks.py", line 219, in 
apply_debconf_selections
      pkgs_installed = get_installed_packages(target)
    File "/curtin/curtin/commands/curthooks.py", line 259, in 
get_installed_packages
      (out, _err) = util.subp(cmd, capture=True)
    File "/curtin/curtin/util.py", line 58, in subp
      out = out.decode()
  UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 19027: 
ordinal not in range(128)
  'ascii' codec can't decode byte 0xc3 in position 19027: ordinal not in 
range(128)
  Traceback (most recent call last):
    File "/curtin/curtin/commands/main.py", line 96, in main
      sys.exit(args.func(args))
    File "/curtin/curtin/commands/install.py", line 267, in cmd_install
      stage.run()
    File "/curtin/curtin/commands/install.py", line 104, in run
      util.subp(cmd, shell=shell, env=self.env)
    File "/curtin/curtin/util.py", line 68, in subp
      cmd=args)
  ProcessExecutionError: Unexpected error while running command.
  Command: ['curtin', 'curthooks']
  Exit code: 3
  Reason: -
  Stdout: ''
  Stderr: ''
  Unexpected error while running command.
  Command: ['curtin', 'curthooks']
  Exit code: 3
  Reason: -
  Stdout: ''
  Stderr: ''
  
  I'm attaching the full log as well.
  
- 
  SRU curtin
  ==========
  
  [Impact]
  
  curtin can't handle non-ascii characters in dpkg --list output as
  mentioned in the original bug report descripition.  This bug doesn't
  allow curtin to continue and terminates the installation.
  
  This fix is needed so that we can make subprocess calls with output that
  contains non-ascii characters.
  
  The patch supplied by the bug reporter enables non-ascii character
  subprocess output decoding for curtin.
  
- 
  [Test Case]
  
  To reproduce the bug, follow the same steps as the bug report
- description mentiones.  Namely, making sure that dpkg --list will
- contain output with non-ascii characters.
+ description mentions.  Namely, making sure that dpkg --list will contain
+ output with non-ascii characters.
  
- 
- [Regression Potential] 
+ [Regression Potential]
  
  utf-8 is backwards compatible with ascii, so the likely hood of
  regressions is small.

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

Title:
  'ascii' codec can't decode byte 0xc3 in position 19027: ordinal not in
  range(128) (curtin can't handle non-ascii characters in dpkg --list
  output)

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

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to