← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1775371] [NEW] cloud-init (18.2) fails on decoding proc1 env

 

Public bug reported:

cloud-init-18.2 on an openSUSE-15 (python 3.6) kiwi image fails with
this:

failed run of stage init-local
------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/cloudinit/cmd/main.py", line 655, in status_wrapper
    ret = functor(name, args)
  File "/usr/lib/python3.6/site-packages/cloudinit/cmd/main.py", line 222, in main_init
    network=not args.local)]
  File "/usr/lib/python3.6/site-packages/cloudinit/cmd/main.py", line 156, in attempt_cmdline_url
    cmdline = util.get_cmdline()
  File "/usr/lib/python3.6/site-packages/cloudinit/util.py", line 1351, in get_cmdline
    if is_container():
  File "/usr/lib/python3.6/site-packages/cloudinit/util.py", line 2075, in is_container
    pid1env = get_proc_env(1)
  File "/usr/lib/python3.6/site-packages/cloudinit/util.py", line 2109, in get_proc_env
    contents = load_file(fn)
  File "/usr/lib/python3.6/site-packages/cloudinit/util.py", line 1338, in load_file
    return decode_binary(contents)
  File "/usr/lib/python3.6/site-packages/cloudinit/util.py", line 150, in decode_binary
    return blob.decode(encoding)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 3432: invalid start byte
------------------------------------------------------------

This is from reading /proc/1/environ

hexdump around the relvant offset (3432 = 0x0d68) shows me:
00000d50  32 61 32 32 37 37 30 34  66 00 42 4f 4f 54 41 42  |2a227704f.BOOTAB|
00000d60  4c 45 5f 46 4c 41 47 3d  80 00 69 6e 69 74 3d 2f  |LE_FLAG=..init=/|

So there we go: BOOTABLE_FLAG=\x80 does not decode to utf-8 ...

** Affects: cloud-init
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1775371

Title:
  cloud-init (18.2) fails on decoding proc1 env

Status in cloud-init:
  New

Bug description:
  cloud-init-18.2 on an openSUSE-15 (python 3.6) kiwi image fails with
  this:

  failed run of stage init-local
  ------------------------------------------------------------
  Traceback (most recent call last):
    File "/usr/lib/python3.6/site-packages/cloudinit/cmd/main.py", line 655, in status_wrapper
      ret = functor(name, args)
    File "/usr/lib/python3.6/site-packages/cloudinit/cmd/main.py", line 222, in main_init
      network=not args.local)]
    File "/usr/lib/python3.6/site-packages/cloudinit/cmd/main.py", line 156, in attempt_cmdline_url
      cmdline = util.get_cmdline()
    File "/usr/lib/python3.6/site-packages/cloudinit/util.py", line 1351, in get_cmdline
      if is_container():
    File "/usr/lib/python3.6/site-packages/cloudinit/util.py", line 2075, in is_container
      pid1env = get_proc_env(1)
    File "/usr/lib/python3.6/site-packages/cloudinit/util.py", line 2109, in get_proc_env
      contents = load_file(fn)
    File "/usr/lib/python3.6/site-packages/cloudinit/util.py", line 1338, in load_file
      return decode_binary(contents)
    File "/usr/lib/python3.6/site-packages/cloudinit/util.py", line 150, in decode_binary
      return blob.decode(encoding)
  UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 3432: invalid start byte
  ------------------------------------------------------------

  This is from reading /proc/1/environ

  hexdump around the relvant offset (3432 = 0x0d68) shows me:
  00000d50  32 61 32 32 37 37 30 34  66 00 42 4f 4f 54 41 42  |2a227704f.BOOTAB|
  00000d60  4c 45 5f 46 4c 41 47 3d  80 00 69 6e 69 74 3d 2f  |LE_FLAG=..init=/|

  So there we go: BOOTABLE_FLAG=\x80 does not decode to utf-8 ...

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1775371/+subscriptions


Follow ups