Activity log for bug #1799843

Date Who What changed Old value New value Message
2018-10-24 23:51:40 Jamie Bennett bug added bug
2018-10-25 21:06:38 Adam Collard landscape-client (Ubuntu): status New Incomplete
2018-10-25 21:56:29 Jamie Bennett attachment added vendor files https://bugs.launchpad.net/ubuntu/+source/landscape-client/+bug/1799843/+attachment/5205657/+files/vendor_info.tar.gz
2018-10-26 16:06:25 Adam Collard landscape-client (Ubuntu): status Incomplete Confirmed
2018-10-28 17:25:59 Dave Jones landscape-client (Ubuntu): assignee Dave Jones (waveform)
2018-10-28 17:26:04 Dave Jones landscape-client (Ubuntu): status Confirmed In Progress
2018-11-02 15:10:31 Adam Collard landscape-client (Ubuntu): importance Undecided High
2018-11-02 15:11:25 Dave Jones landscape-client (Ubuntu): status In Progress Fix Committed
2019-12-04 23:24:27 Launchpad Janitor landscape-client (Ubuntu): status Fix Committed Fix Released
2022-09-29 23:07:42 Launchpad Janitor merge proposal linked https://code.launchpad.net/~simpoir/ubuntu/+source/landscape-client/+git/landscape-client/+merge/430790
2022-10-04 15:32:58 Simon Poirier nominated for series Ubuntu Bionic
2022-10-04 15:32:58 Simon Poirier bug task added landscape-client (Ubuntu Bionic)
2022-10-04 15:33:17 Simon Poirier landscape-client (Ubuntu Bionic): assignee Simon Poirier (simpoir)
2022-10-04 15:33:21 Simon Poirier landscape-client (Ubuntu Bionic): status New In Progress
2022-10-04 16:10:22 Simon Poirier description Trying to register a new device with launchpad-client, press enter at all options to have a deefault configuration. Errors out with: Traceback (most recent call last): Failure: landscape.lib.amp.MethodCallError: timeout broker.log shows: 2018-10-24 23:48:42,202 INFO [MainThread] Broker stopped with config /etc/landscape/client.conf 2018-10-24 23:48:56,130 INFO [MainThread] Broker started with config /etc/landscape/client.conf 2018-10-24 23:48:57,776 ERROR [MainThread] Error running event handler landscape.client.broker.registr ation.RegistrationHandler._handle_pre_exchange() for event type 'pre-exchange' with args () {}. Traceback (most recent call last): File "/usr/lib/python3/dist-packages/landscape/lib/reactor.py", line 90, in fire results.append(handler(*args, **kwargs)) File "/usr/lib/python3/dist-packages/landscape/client/broker/registration.py", line 192, in _handle_pre _exchange "vm-info": get_vm_info()} File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 29, in get_vm_info vendor = _get_vm_by_vendor(dmi_vendor_path) File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 62, in _get_vm_by_vendor vendor = read_text_file(sys_vendor_path).lower() File "/usr/lib/python3/dist-packages/landscape/lib/fs.py", line 73, in read_text_file content = read_binary_file(path).decode("utf-8") UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte 2018-10-24 23:48:57,784 INFO [MainThread] Starting urgent message exchange with https://landscape.can onical.com/message-system. 2018-10-24 23:48:58,357 INFO [PoolThread-twisted.internet.reactor-0] Sent 554 bytes and received 90 b ytes in 0.54s. 2018-10-24 23:48:58,404 INFO [MainThread] Switching to normal exchange mode. 2018-10-24 23:48:58,410 INFO [MainThread] Message exchange completed in 0.63s. [ Impact ] * Landscape-client fails to start on some hardware where the DMI fields for chassis/bios/product are invalid utf-8. * This prevents some machines from being managed by landscape on bionic. The issue has already been patched on following series. Previous series were relying on python2 str and were comparing binary data, thus are also unaffected. [ Test Plan ] * apt install cloud-image-utils qemu-system-x86 * wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img * printf '#cloud-config\npassword: ubuntu\nchpasswd:\n expire: False\npackages:\n- landscape-client' | cloud-localds seed.img - * kvm -smbios type=3,manufacturer=$'\xff' -smbios type=1,manufacturer=$'\xff' -snapshot -drive file=bionic-server-cloudimg-amd64.img,if=virtio -drive file=seed.img,if=virtio -m 2G -nic user,hostfwd=tcp::2222-:22 * login as ubuntu:ubuntu * sudo landscape-config -a account -p registrationkey -t my_bad_dmi_machine --silent * check /var/log/landscape/broker.log for decoding errors [ Where problems could occur ] * The backported patch touches a few code paths related to file reading and encoding. In particular, the now lossy decoding (due to decode replace) could have the side effect of unblocking code paths which previously were failing early on the decoding. This could surface in new errors in code which now gets to execute on affected machines. * The lossy decoding now introduces some utf8 replacement characters. That replacement character being unicode might generate some inconsistency if different code paths decode the same file data differently. * Also, that replacement character is non-ascii unicode. Although the server and clients should handle that gracefully, there is a chance that they never got to exercise some fields having unicode. This might surface more encoding issues in other parts of the code. [ Original Description ] Trying to register a new device with launchpad-client, press enter at all options to have a deefault configuration. Errors out with: Traceback (most recent call last): Failure: landscape.lib.amp.MethodCallError: timeout broker.log shows: 2018-10-24 23:48:42,202 INFO [MainThread] Broker stopped with config /etc/landscape/client.conf 2018-10-24 23:48:56,130 INFO [MainThread] Broker started with config /etc/landscape/client.conf 2018-10-24 23:48:57,776 ERROR [MainThread] Error running event handler landscape.client.broker.registr ation.RegistrationHandler._handle_pre_exchange() for event type 'pre-exchange' with args () {}. Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/landscape/lib/reactor.py", line 90, in fire     results.append(handler(*args, **kwargs))   File "/usr/lib/python3/dist-packages/landscape/client/broker/registration.py", line 192, in _handle_pre _exchange     "vm-info": get_vm_info()}   File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 29, in get_vm_info     vendor = _get_vm_by_vendor(dmi_vendor_path)   File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 62, in _get_vm_by_vendor     vendor = read_text_file(sys_vendor_path).lower()   File "/usr/lib/python3/dist-packages/landscape/lib/fs.py", line 73, in read_text_file     content = read_binary_file(path).decode("utf-8") UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte 2018-10-24 23:48:57,784 INFO [MainThread] Starting urgent message exchange with https://landscape.can onical.com/message-system. 2018-10-24 23:48:58,357 INFO [PoolThread-twisted.internet.reactor-0] Sent 554 bytes and received 90 b ytes in 0.54s. 2018-10-24 23:48:58,404 INFO [MainThread] Switching to normal exchange mode. 2018-10-24 23:48:58,410 INFO [MainThread] Message exchange completed in 0.63s.
2022-10-04 16:10:47 Simon Poirier description [ Impact ] * Landscape-client fails to start on some hardware where the DMI fields for chassis/bios/product are invalid utf-8. * This prevents some machines from being managed by landscape on bionic. The issue has already been patched on following series. Previous series were relying on python2 str and were comparing binary data, thus are also unaffected. [ Test Plan ] * apt install cloud-image-utils qemu-system-x86 * wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img * printf '#cloud-config\npassword: ubuntu\nchpasswd:\n expire: False\npackages:\n- landscape-client' | cloud-localds seed.img - * kvm -smbios type=3,manufacturer=$'\xff' -smbios type=1,manufacturer=$'\xff' -snapshot -drive file=bionic-server-cloudimg-amd64.img,if=virtio -drive file=seed.img,if=virtio -m 2G -nic user,hostfwd=tcp::2222-:22 * login as ubuntu:ubuntu * sudo landscape-config -a account -p registrationkey -t my_bad_dmi_machine --silent * check /var/log/landscape/broker.log for decoding errors [ Where problems could occur ] * The backported patch touches a few code paths related to file reading and encoding. In particular, the now lossy decoding (due to decode replace) could have the side effect of unblocking code paths which previously were failing early on the decoding. This could surface in new errors in code which now gets to execute on affected machines. * The lossy decoding now introduces some utf8 replacement characters. That replacement character being unicode might generate some inconsistency if different code paths decode the same file data differently. * Also, that replacement character is non-ascii unicode. Although the server and clients should handle that gracefully, there is a chance that they never got to exercise some fields having unicode. This might surface more encoding issues in other parts of the code. [ Original Description ] Trying to register a new device with launchpad-client, press enter at all options to have a deefault configuration. Errors out with: Traceback (most recent call last): Failure: landscape.lib.amp.MethodCallError: timeout broker.log shows: 2018-10-24 23:48:42,202 INFO [MainThread] Broker stopped with config /etc/landscape/client.conf 2018-10-24 23:48:56,130 INFO [MainThread] Broker started with config /etc/landscape/client.conf 2018-10-24 23:48:57,776 ERROR [MainThread] Error running event handler landscape.client.broker.registr ation.RegistrationHandler._handle_pre_exchange() for event type 'pre-exchange' with args () {}. Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/landscape/lib/reactor.py", line 90, in fire     results.append(handler(*args, **kwargs))   File "/usr/lib/python3/dist-packages/landscape/client/broker/registration.py", line 192, in _handle_pre _exchange     "vm-info": get_vm_info()}   File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 29, in get_vm_info     vendor = _get_vm_by_vendor(dmi_vendor_path)   File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 62, in _get_vm_by_vendor     vendor = read_text_file(sys_vendor_path).lower()   File "/usr/lib/python3/dist-packages/landscape/lib/fs.py", line 73, in read_text_file     content = read_binary_file(path).decode("utf-8") UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte 2018-10-24 23:48:57,784 INFO [MainThread] Starting urgent message exchange with https://landscape.can onical.com/message-system. 2018-10-24 23:48:58,357 INFO [PoolThread-twisted.internet.reactor-0] Sent 554 bytes and received 90 b ytes in 0.54s. 2018-10-24 23:48:58,404 INFO [MainThread] Switching to normal exchange mode. 2018-10-24 23:48:58,410 INFO [MainThread] Message exchange completed in 0.63s. [ Impact ]  * Landscape-client fails to start on some hardware where the DMI fields    for chassis/bios/product are invalid utf-8.  * This prevents some machines from being managed by landscape on bionic.    The issue has already been patched on following series. Previous series    were relying on python2 str and were comparing binary data, thus are    also unaffected. [ Test Plan ]  * apt install cloud-image-utils qemu-system-x86  * wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img  * printf '#cloud-config\npassword: ubuntu\nchpasswd:\n expire: False\npackages:\n- landscape-client' | cloud-localds seed.img -  * kvm -smbios type=3,manufacturer=$'\xff' -smbios type=1,manufacturer=$'\xff' -snapshot -drive file=bionic-server-cloudimg-amd64.img,if=virtio -drive file=seed.img,if=virtio -m 2G -nic user,hostfwd=tcp::2222-:22  * login as ubuntu:ubuntu  * sudo landscape-config -a account -p registrationkey -t my_bad_dmi_machine --silent  * check /var/log/landscape/broker.log for decoding errors [ Where problems could occur ]  * The backported patch touches a few code paths related to file reading and    encoding. In particular, the now lossy decoding (due to decode replace)    could have the side effect of unblocking code paths which previously    were failing early on the decoding. This could surface in new errors    in code which now gets to execute on affected machines.  * The lossy decoding now introduces some utf8 replacement characters.    That replacement character being unicode might generate some inconsistency    if different code paths decode the same file data differently.  * Also, that replacement character is non-ascii unicode. Although the server    and clients should handle that gracefully, there is a chance that they never    got to exercise some fields having unicode. This might surface more encoding    issues in other parts of the code. [ Original Description ] Trying to register a new device with launchpad-client, press enter at all options to have a deefault configuration. Errors out with: Traceback (most recent call last): Failure: landscape.lib.amp.MethodCallError: timeout broker.log shows: 2018-10-24 23:48:42,202 INFO [MainThread] Broker stopped with config /etc/landscape/client.conf 2018-10-24 23:48:56,130 INFO [MainThread] Broker started with config /etc/landscape/client.conf 2018-10-24 23:48:57,776 ERROR [MainThread] Error running event handler landscape.client.broker.registr ation.RegistrationHandler._handle_pre_exchange() for event type 'pre-exchange' with args () {}. Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/landscape/lib/reactor.py", line 90, in fire     results.append(handler(*args, **kwargs))   File "/usr/lib/python3/dist-packages/landscape/client/broker/registration.py", line 192, in _handle_pre _exchange     "vm-info": get_vm_info()}   File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 29, in get_vm_info     vendor = _get_vm_by_vendor(dmi_vendor_path)   File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 62, in _get_vm_by_vendor     vendor = read_text_file(sys_vendor_path).lower()   File "/usr/lib/python3/dist-packages/landscape/lib/fs.py", line 73, in read_text_file     content = read_binary_file(path).decode("utf-8") UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte 2018-10-24 23:48:57,784 INFO [MainThread] Starting urgent message exchange with https://landscape.can onical.com/message-system. 2018-10-24 23:48:58,357 INFO [PoolThread-twisted.internet.reactor-0] Sent 554 bytes and received 90 b ytes in 0.54s. 2018-10-24 23:48:58,404 INFO [MainThread] Switching to normal exchange mode. 2018-10-24 23:48:58,410 INFO [MainThread] Message exchange completed in 0.63s.
2022-10-04 16:13:55 Simon Poirier description [ Impact ]  * Landscape-client fails to start on some hardware where the DMI fields    for chassis/bios/product are invalid utf-8.  * This prevents some machines from being managed by landscape on bionic.    The issue has already been patched on following series. Previous series    were relying on python2 str and were comparing binary data, thus are    also unaffected. [ Test Plan ]  * apt install cloud-image-utils qemu-system-x86  * wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img  * printf '#cloud-config\npassword: ubuntu\nchpasswd:\n expire: False\npackages:\n- landscape-client' | cloud-localds seed.img -  * kvm -smbios type=3,manufacturer=$'\xff' -smbios type=1,manufacturer=$'\xff' -snapshot -drive file=bionic-server-cloudimg-amd64.img,if=virtio -drive file=seed.img,if=virtio -m 2G -nic user,hostfwd=tcp::2222-:22  * login as ubuntu:ubuntu  * sudo landscape-config -a account -p registrationkey -t my_bad_dmi_machine --silent  * check /var/log/landscape/broker.log for decoding errors [ Where problems could occur ]  * The backported patch touches a few code paths related to file reading and    encoding. In particular, the now lossy decoding (due to decode replace)    could have the side effect of unblocking code paths which previously    were failing early on the decoding. This could surface in new errors    in code which now gets to execute on affected machines.  * The lossy decoding now introduces some utf8 replacement characters.    That replacement character being unicode might generate some inconsistency    if different code paths decode the same file data differently.  * Also, that replacement character is non-ascii unicode. Although the server    and clients should handle that gracefully, there is a chance that they never    got to exercise some fields having unicode. This might surface more encoding    issues in other parts of the code. [ Original Description ] Trying to register a new device with launchpad-client, press enter at all options to have a deefault configuration. Errors out with: Traceback (most recent call last): Failure: landscape.lib.amp.MethodCallError: timeout broker.log shows: 2018-10-24 23:48:42,202 INFO [MainThread] Broker stopped with config /etc/landscape/client.conf 2018-10-24 23:48:56,130 INFO [MainThread] Broker started with config /etc/landscape/client.conf 2018-10-24 23:48:57,776 ERROR [MainThread] Error running event handler landscape.client.broker.registr ation.RegistrationHandler._handle_pre_exchange() for event type 'pre-exchange' with args () {}. Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/landscape/lib/reactor.py", line 90, in fire     results.append(handler(*args, **kwargs))   File "/usr/lib/python3/dist-packages/landscape/client/broker/registration.py", line 192, in _handle_pre _exchange     "vm-info": get_vm_info()}   File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 29, in get_vm_info     vendor = _get_vm_by_vendor(dmi_vendor_path)   File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 62, in _get_vm_by_vendor     vendor = read_text_file(sys_vendor_path).lower()   File "/usr/lib/python3/dist-packages/landscape/lib/fs.py", line 73, in read_text_file     content = read_binary_file(path).decode("utf-8") UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte 2018-10-24 23:48:57,784 INFO [MainThread] Starting urgent message exchange with https://landscape.can onical.com/message-system. 2018-10-24 23:48:58,357 INFO [PoolThread-twisted.internet.reactor-0] Sent 554 bytes and received 90 b ytes in 0.54s. 2018-10-24 23:48:58,404 INFO [MainThread] Switching to normal exchange mode. 2018-10-24 23:48:58,410 INFO [MainThread] Message exchange completed in 0.63s. [ Impact ]  * Landscape-client fails to start on some hardware where the DMI fields    for chassis/bios/product are invalid utf-8.  * This prevents some machines from being managed by landscape on bionic.    The issue has already been patched on following series. Previous series    were relying on python2 str and were comparing binary data, thus are    also unaffected. [ Test Plan ]  * apt install cloud-image-utils qemu-system-x86  * wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img  * printf '#cloud-config\npassword: ubuntu\nchpasswd:\n expire: False\npackages:\n- landscape-client' | cloud-localds seed.img -  * kvm -smbios type=3,manufacturer=$'\xff' \ -smbios type=1,manufacturer=$'\xff' -snapshot \ -drive file=bionic-server-cloudimg-amd64.img,if=virtio \ -drive file=seed.img,if=virtio -m 2G -nic user,hostfwd=tcp::2222-:22  * ssh -p 22222 localhost with ubuntu:ubuntu  * sudo landscape-config -a account -p registrationkey \ -t my_bad_dmi_machine --silent  * check /var/log/landscape/broker.log for decoding errors [ Where problems could occur ]  * The backported patch touches a few code paths related to file reading. In particular, the now lossy decoding (due to decode replace)    could have the side effect of unblocking code paths which previously    were failing early on the decoding. This could surface in new errors    in code which now gets to execute on affected machines.  * The lossy decoding now introduces some utf8 replacement characters.    That replacement character being unicode might generate some inconsistency if different code paths decode the same file data differently.  * Also, that replacement character is non-ascii unicode. Although the server and clients should handle that gracefully, there is a chance that they never got to exercise some fields having unicode. This might surface more encoding issues in other parts of the code. [ Original Description ] Trying to register a new device with launchpad-client, press enter at all options to have a deefault configuration. Errors out with: Traceback (most recent call last): Failure: landscape.lib.amp.MethodCallError: timeout broker.log shows: 2018-10-24 23:48:42,202 INFO [MainThread] Broker stopped with config /etc/landscape/client.conf 2018-10-24 23:48:56,130 INFO [MainThread] Broker started with config /etc/landscape/client.conf 2018-10-24 23:48:57,776 ERROR [MainThread] Error running event handler landscape.client.broker.registr ation.RegistrationHandler._handle_pre_exchange() for event type 'pre-exchange' with args () {}. Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/landscape/lib/reactor.py", line 90, in fire     results.append(handler(*args, **kwargs))   File "/usr/lib/python3/dist-packages/landscape/client/broker/registration.py", line 192, in _handle_pre _exchange     "vm-info": get_vm_info()}   File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 29, in get_vm_info     vendor = _get_vm_by_vendor(dmi_vendor_path)   File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 62, in _get_vm_by_vendor     vendor = read_text_file(sys_vendor_path).lower()   File "/usr/lib/python3/dist-packages/landscape/lib/fs.py", line 73, in read_text_file     content = read_binary_file(path).decode("utf-8") UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte 2018-10-24 23:48:57,784 INFO [MainThread] Starting urgent message exchange with https://landscape.can onical.com/message-system. 2018-10-24 23:48:58,357 INFO [PoolThread-twisted.internet.reactor-0] Sent 554 bytes and received 90 b ytes in 0.54s. 2018-10-24 23:48:58,404 INFO [MainThread] Switching to normal exchange mode. 2018-10-24 23:48:58,410 INFO [MainThread] Message exchange completed in 0.63s.
2022-10-04 16:15:10 Simon Poirier description [ Impact ]  * Landscape-client fails to start on some hardware where the DMI fields    for chassis/bios/product are invalid utf-8.  * This prevents some machines from being managed by landscape on bionic.    The issue has already been patched on following series. Previous series    were relying on python2 str and were comparing binary data, thus are    also unaffected. [ Test Plan ]  * apt install cloud-image-utils qemu-system-x86  * wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img  * printf '#cloud-config\npassword: ubuntu\nchpasswd:\n expire: False\npackages:\n- landscape-client' | cloud-localds seed.img -  * kvm -smbios type=3,manufacturer=$'\xff' \ -smbios type=1,manufacturer=$'\xff' -snapshot \ -drive file=bionic-server-cloudimg-amd64.img,if=virtio \ -drive file=seed.img,if=virtio -m 2G -nic user,hostfwd=tcp::2222-:22  * ssh -p 22222 localhost with ubuntu:ubuntu  * sudo landscape-config -a account -p registrationkey \ -t my_bad_dmi_machine --silent  * check /var/log/landscape/broker.log for decoding errors [ Where problems could occur ]  * The backported patch touches a few code paths related to file reading. In particular, the now lossy decoding (due to decode replace)    could have the side effect of unblocking code paths which previously    were failing early on the decoding. This could surface in new errors    in code which now gets to execute on affected machines.  * The lossy decoding now introduces some utf8 replacement characters.    That replacement character being unicode might generate some inconsistency if different code paths decode the same file data differently.  * Also, that replacement character is non-ascii unicode. Although the server and clients should handle that gracefully, there is a chance that they never got to exercise some fields having unicode. This might surface more encoding issues in other parts of the code. [ Original Description ] Trying to register a new device with launchpad-client, press enter at all options to have a deefault configuration. Errors out with: Traceback (most recent call last): Failure: landscape.lib.amp.MethodCallError: timeout broker.log shows: 2018-10-24 23:48:42,202 INFO [MainThread] Broker stopped with config /etc/landscape/client.conf 2018-10-24 23:48:56,130 INFO [MainThread] Broker started with config /etc/landscape/client.conf 2018-10-24 23:48:57,776 ERROR [MainThread] Error running event handler landscape.client.broker.registr ation.RegistrationHandler._handle_pre_exchange() for event type 'pre-exchange' with args () {}. Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/landscape/lib/reactor.py", line 90, in fire     results.append(handler(*args, **kwargs))   File "/usr/lib/python3/dist-packages/landscape/client/broker/registration.py", line 192, in _handle_pre _exchange     "vm-info": get_vm_info()}   File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 29, in get_vm_info     vendor = _get_vm_by_vendor(dmi_vendor_path)   File "/usr/lib/python3/dist-packages/landscape/lib/vm_info.py", line 62, in _get_vm_by_vendor     vendor = read_text_file(sys_vendor_path).lower()   File "/usr/lib/python3/dist-packages/landscape/lib/fs.py", line 73, in read_text_file     content = read_binary_file(path).decode("utf-8") UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte 2018-10-24 23:48:57,784 INFO [MainThread] Starting urgent message exchange with https://landscape.can onical.com/message-system. 2018-10-24 23:48:58,357 INFO [PoolThread-twisted.internet.reactor-0] Sent 554 bytes and received 90 b ytes in 0.54s. 2018-10-24 23:48:58,404 INFO [MainThread] Switching to normal exchange mode. 2018-10-24 23:48:58,410 INFO [MainThread] Message exchange completed in 0.63s. [ Impact ]  * Landscape-client fails to start on some hardware where the DMI fields    for chassis/bios/product are invalid utf-8.  * This prevents some machines from being managed by landscape on bionic.    The issue has already been patched on following series. Previous series    were relying on python2 str and were comparing binary data, thus are    also unaffected. [ Test Plan ]  * apt install cloud-image-utils qemu-system-x86  * wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img  * printf '#cloud-config\npassword: ubuntu\nchpasswd:\n expire: False\npackages:\n- landscape-client' | cloud-localds seed.img -  * kvm -smbios type=3,manufacturer=$'\xff' \    -smbios type=1,manufacturer=$'\xff' -snapshot \    -drive file=bionic-server-cloudimg-amd64.img,if=virtio \    -drive file=seed.img,if=virtio -m 2G -nic user,hostfwd=tcp::2222-:22  * ssh -p 22222 localhost with ubuntu:ubuntu  * sudo landscape-config -a account -p registrationkey \    -t my_bad_dmi_machine --silent  * check /var/log/landscape/broker.log for decoding errors [ Where problems could occur ]  * The backported patch touches a few code paths related to file reading.    In particular, the now lossy decoding (due to decode replace)    could have the side effect of unblocking code paths which previously    were failing early on the decoding. This could surface in new errors    in code which now gets to execute on affected machines.  * The lossy decoding now introduces some utf8 replacement characters.    That replacement character being unicode might generate some    inconsistency if different code paths decode the same file data    differently.  * Also, that replacement character is non-ascii unicode. Although the    server and clients should handle that gracefully, there is a chance    that they never got to exercise some fields having unicode. This might    surface more encoding issues in other parts of the code.