Installer sometimes fails on Bullseye: 'NoneType' object has no attribute 'call_create_partition_sync'
"Scenario: Installing Tails with Tails Installer to a pristine USB drive" (features/usb_install.feature:34
) sometimes fails:
Tails Installer debug log:
2022-02-08 22:01:47,063 [gui.py:314 (on_radio_button_source_iso_toggled)] DEBUG: Entering on_radio_button_source_iso_toggled
2022-02-08 22:01:47,063 [gui.py:317 (on_radio_button_source_iso_toggled)] DEBUG: Mode: clone
2022-02-08 22:01:47,077 [gui.py:333 (on_radio_button_source_iso_toggled)] DEBUG: Calling populate_devices() from on_radio_button_source_iso_toggled
2022-02-08 22:01:47,078 [creator.py:156 (_get_udisks_object_data)] DEBUG: looking at /org/freedesktop/UDisks2/block_devices/sda
2022-02-08 22:01:47,078 [creator.py:279 (_get_udisks_object_data)] DEBUG: {'bootable': None,
'device': '/dev/sda',
'free': None,
'fstype': '',
'fsversion': '',
'is_device_big_enough_for_installation': True,
'is_device_big_enough_for_reinstall': True,
'is_device_big_enough_for_upgrade': True,
'is_optical': False,
'label': 'QEMU-QEMU-HARDDISK-1-0000:00:01.2:00.0-2',
'model': 'QEMU HARDDISK',
'mount': None,
'mounted_partitions': set(),
'parent': None,
'parent_data': None,
'parent_size': None,
'parent_udi': None,
'removable': True,
'size': 7549747200,
'udi': '/org/freedesktop/UDisks2/block_devices/sda',
'uuid': '',
'vendor': 'QEMU'}
2022-02-08 22:01:47,078 [creator.py:156 (_get_udisks_object_data)] DEBUG: looking at /org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e2_3a00_2e0_2
2022-02-08 22:01:47,078 [creator.py:158 (_get_udisks_object_data)] DEBUG: skip /org/freedesktop/UDisks2/drives/QEMU_QEMU_HARDDISK_1_0000_3a00_3a01_2e2_3a00_2e0_2 which is not a block device
2022-02-08 22:01:47,078 [creator.py:156 (_get_udisks_object_data)] DEBUG: looking at /org/freedesktop/UDisks2/block_devices/loop5
2022-02-08 22:01:47,078 [creator.py:165 (_get_udisks_object_data)] DEBUG: skip /org/freedesktop/UDisks2/block_devices/loop5 which has no associated drive
2022-02-08 22:01:47,079 [creator.py:156 (_get_udisks_object_data)] DEBUG: looking at /org/freedesktop/UDisks2/drives/QEMU_DVD_ROM_QM00005
2022-02-08 22:01:47,079 [creator.py:158 (_get_udisks_object_data)] DEBUG: skip /org/freedesktop/UDisks2/drives/QEMU_DVD_ROM_QM00005 which is not a block device
2022-02-08 22:01:47,079 [creator.py:156 (_get_udisks_object_data)] DEBUG: looking at /org/freedesktop/UDisks2/block_devices/loop6
2022-02-08 22:01:47,079 [creator.py:165 (_get_udisks_object_data)] DEBUG: skip /org/freedesktop/UDisks2/block_devices/loop6 which has no associated drive
2022-02-08 22:01:47,079 [creator.py:156 (_get_udisks_object_data)] DEBUG: looking at /org/freedesktop/UDisks2/block_devices/loop0
2022-02-08 22:01:47,079 [creator.py:165 (_get_udisks_object_data)] DEBUG: skip /org/freedesktop/UDisks2/block_devices/loop0 which has no associated drive
2022-02-08 22:01:47,079 [creator.py:156 (_get_udisks_object_data)] DEBUG: looking at /org/freedesktop/UDisks2/block_devices/loop7
2022-02-08 22:01:47,079 [creator.py:165 (_get_udisks_object_data)] DEBUG: skip /org/freedesktop/UDisks2/block_devices/loop7 which has no associated drive
2022-02-08 22:01:47,079 [creator.py:156 (_get_udisks_object_data)] DEBUG: looking at /org/freedesktop/UDisks2/block_devices/loop1
2022-02-08 22:01:47,079 [creator.py:165 (_get_udisks_object_data)] DEBUG: skip /org/freedesktop/UDisks2/block_devices/loop1 which has no associated drive
2022-02-08 22:01:47,079 [creator.py:156 (_get_udisks_object_data)] DEBUG: looking at /org/freedesktop/UDisks2/block_devices/loop2
2022-02-08 22:01:47,079 [creator.py:165 (_get_udisks_object_data)] DEBUG: skip /org/freedesktop/UDisks2/block_devices/loop2 which has no associated drive
2022-02-08 22:01:47,080 [creator.py:156 (_get_udisks_object_data)] DEBUG: looking at /org/freedesktop/UDisks2/Manager
2022-02-08 22:01:47,080 [creator.py:158 (_get_udisks_object_data)] DEBUG: skip /org/freedesktop/UDisks2/Manager which is not a block device
2022-02-08 22:01:47,080 [creator.py:156 (_get_udisks_object_data)] DEBUG: looking at /org/freedesktop/UDisks2/block_devices/sr0
2022-02-08 22:01:47,080 [creator.py:201 (_get_udisks_object_data)] WARNING: Skipping device "/org/freedesktop/UDisks2/block_devices/sr0" connected to "" interface
2022-02-08 22:01:47,080 [creator.py:156 (_get_udisks_object_data)] DEBUG: looking at /org/freedesktop/UDisks2/block_devices/loop3
2022-02-08 22:01:47,080 [creator.py:165 (_get_udisks_object_data)] DEBUG: skip /org/freedesktop/UDisks2/block_devices/loop3 which has no associated drive
2022-02-08 22:01:47,080 [creator.py:156 (_get_udisks_object_data)] DEBUG: looking at /org/freedesktop/UDisks2/block_devices/loop4
2022-02-08 22:01:47,080 [creator.py:165 (_get_udisks_object_data)] DEBUG: skip /org/freedesktop/UDisks2/block_devices/loop4 which has no associated drive
2022-02-08 22:01:47,080 [creator.py:322 (detect_supported_drives)] DEBUG: {}
2022-02-08 22:01:47,080 [gui.py:435 (add_devices)] DEBUG: drives: {'/dev/sda': {'udi': '/org/freedesktop/UDisks2/block_devices/sda', 'is_optical': False, 'label': 'QEMU-QEMU-HARDDISK-1-0000:00:01.2:00.0-2', 'vendor': 'QEMU', 'model': 'QEMU HARDDISK', 'fstype': '', 'fsversion': '', 'uuid': '', 'device': '/dev/sda', 'mount': None, 'bootable': None, 'parent': None, 'parent_udi': None, 'parent_size': None, 'parent_data': None, 'size': 7549747200, 'mounted_partitions': set(), 'is_device_big_enough_for_installation': True, 'is_device_big_enough_for_upgrade': True, 'is_device_big_enough_for_reinstall': True, 'removable': True, 'free': None}}
2022-02-08 22:01:51,147 [creator.py:607 (_set_drive)] DEBUG: /dev/sda selected: {'udi': '/org/freedesktop/UDisks2/block_devices/sda', 'is_optical': False, 'label': 'QEMU-QEMU-HARDDISK-1-0000:00:01.2:00.0-2', 'vendor': 'QEMU', 'model': 'QEMU HARDDISK', 'fstype': '', 'fsversion': '', 'uuid': '', 'device': '/dev/sda', 'mount': None, 'bootable': None, 'parent': None, 'parent_udi': None, 'parent_size': None, 'parent_data': None, 'size': 7549747200, 'mounted_partitions': set(), 'is_device_big_enough_for_installation': True, 'is_device_big_enough_for_upgrade': True, 'is_device_big_enough_for_reinstall': True, 'removable': True, 'free': None}
2022-02-08 22:01:54,527 [creator.py:698 (unmount_device)] DEBUG: Entering unmount_device for "/dev/sda"
2022-02-08 22:01:54,528 [creator.py:701 (unmount_device)] DEBUG: {'bootable': None,
'device': '/dev/sda',
'free': None,
'fstype': '',
'fsversion': '',
'is_device_big_enough_for_installation': True,
'is_device_big_enough_for_reinstall': True,
'is_device_big_enough_for_upgrade': True,
'is_optical': False,
'label': 'QEMU-QEMU-HARDDISK-1-0000:00:01.2:00.0-2',
'model': 'QEMU HARDDISK',
'mount': None,
'mounted_partitions': set(),
'parent': None,
'parent_data': None,
'parent_size': None,
'parent_udi': None,
'removable': True,
'size': 7549747200,
'udi': '/org/freedesktop/UDisks2/block_devices/sda',
'uuid': '',
'vendor': 'QEMU'}
2022-02-08 22:01:54,528 [creator.py:427 (popen)] DEBUG: sync
2022-02-08 22:01:57,602 [creator.py:427 (popen)] DEBUG: /sbin/sgdisk --print /dev/sda
2022-02-08 22:01:57,658 [creator.py:759 (partition_device)] INFO: Partitioning device /dev/sda
2022-02-08 22:01:57,658 [creator.py:763 (partition_device)] DEBUG: Creating partition table
2022-02-08 22:01:58,657 [creator.py:783 (partition_device)] DEBUG: Creating partition
2022-02-08 22:01:58,658 [gui.py:186 (run)] ERROR: 'NoneType' object has no attribute 'call_create_partition_sync'
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/tails_installer/gui.py", line 138, in run
partition_udi = self.live.partition_device()
File "/usr/lib/python3/dist-packages/tails_installer/creator.py", line 786, in partition_device
partition_udi = partition_table.call_create_partition_sync(
AttributeError: 'NoneType' object has no attribute 'call_create_partition_sync'
2022-02-08 22:01:58,658 [gui.py:187 (run)] DEBUG: Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/tails_installer/gui.py", line 138, in run
partition_udi = self.live.partition_device()
File "/usr/lib/python3/dist-packages/tails_installer/creator.py", line 786, in partition_device
partition_udi = partition_table.call_create_partition_sync(
AttributeError: 'NoneType' object has no attribute 'call_create_partition_sync'
Might it be that we broke something when we revamped related code in !679 (merged)?
Another occurrence: https://jenkins.tails.boum.org/view/RM/job/test_Tails_ISO_feature-bullseye/113/cucumber-html-reports/report-feature_5_88881173.html
Edited by boyska