Skip to content

AttributeError: 'str' object has no attribute 'get' in udevadm #2283

@Saviq

Description

@Saviq

Bug Description

The udevadm module fails to parse udevadm command output.

Cert-blocker Test Case

  • cert-blocker

To Reproduce

  1. install checkbox22/beta
  2. install checkbox-mir
  3. run checkbox-mir.checkbox-cli run io.mir-server::graphics_card

Expected Result

Something like:

bus: pci
category: VIDEO
driver: i915
drm_device: /dev/dri/card1
gpu_count: 1
index: 1
path: /devices/pci0000:00/0000:00:02.0
prime_gpu_offload: Off
product: Alder Lake-UP3 GT2 [Iris Xe Graphics]
product_id: 18088
product_slug: Alder_Lake_UP3_GT2__Iris_Xe_Graphics_
subproduct_id: 35194
subvendor_id: 4156
switch_to_cmd: false
vendor: Intel Corporation
vendor_id: 32902
vendor_slug: Intel_Corporation

Actual Result

Traceback (most recent call last):
  File "/tmp/nest-ufe1cg4v.11dd5bacee6d380e2537dd120e0e6a80e9018458252e90267afe70c8d79e6557/udev_resource.py", line 140, in <module>
    main()
  File "/tmp/nest-ufe1cg4v.11dd5bacee6d380e2537dd120e0e6a80e9018458252e90267afe70c8d79e6557/udev_resource.py", line 136, in main
    dump_udev_db(udev)
  File "/tmp/nest-ufe1cg4v.11dd5bacee6d380e2537dd120e0e6a80e9018458252e90267afe70c8d79e6557/udev_resource.py", line 40, in dump_udev_db
    for device in udev.run():
  File "/snap/checkbox-mir/2208/checkbox-runtime/lib/python3.10/site-packages/checkbox_support/parsers/udevadm.py", line 1510, in run
    if not self._ignoreDevice(device):
  File "/snap/checkbox-mir/2208/checkbox-runtime/lib/python3.10/site-packages/checkbox_support/parsers/udevadm.py", line 1315, in _ignoreDevice
    if is_readonly_partition(device.name, self.lsblk):
  File "/snap/checkbox-mir/2208/checkbox-runtime/lib/python3.10/site-packages/checkbox_support/parsers/udevadm.py", line 115, in is_readonly_partition
    for device in lsblk.get("blockdevices", []):
AttributeError: 'str' object has no attribute 'get'

Environment

  • OS: N/A
  • Checkbox Type: Snap
  • Checkbox version: 7.0.0-dev58 / rev 2189

Relevant log output

Additional context

The resource in checkbox-mir adds drm_device: on top of the stock graphics_card. Will upstream it in due course.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions