subiquity calls probert's Storage.probe with incorrectly typed probe_types

Bug #1858447 reported by Dan Watkins
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
subiquity
Fix Released
Undecided
Unassigned

Bug Description

In https://github.com/CanonicalLtd/probert/issues/77, this traceback was reported:

2019-12-22 17:18:03,207 block-discover:74 starting probe
2019-12-22 17:18:03,317 probert.multipath:37 Failed to run cmd: ['multipathd', 'show', 'maps', 'raw', 'format', '%w %d %N']
2019-12-22 17:18:03,328 probert.multipath:37 Failed to run cmd: ['multipathd', 'show', 'paths', 'raw', 'format', '%d %z %m %N %n %R %r %a']
2019-12-22 17:18:08,223 block-discover:99 probing failed restricted=True
Traceback (most recent call last):
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquity/controllers/filesystem.py", line 89, in _probed
    storage = fut.result()
  File "/snap/subiquity/1093/usr/lib/python3.6/concurrent/futures/_base.py", line 425, in result
    return self.__get_result()
  File "/snap/subiquity/1093/usr/lib/python3.6/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/snap/subiquity/1093/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquity/controllers/filesystem.py", line 126, in <lambda>
    lambda: self._bg_probe(["blockdev"]),
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquity/controllers/filesystem.py", line 81, in _bg_probe
    return self.prober.get_storage(probe_types=probe_types)
  File "/snap/subiquity/1093/lib/python3.6/site-packages/subiquitycore/prober.py", line 69, in get_storage
    results = storage.probe(probe_types=probe_types)
  File "/snap/subiquity/1093/lib/python3.6/site-packages/probert/storage.py", line 169, in probe
    to_probe = probe_types.intersection(default_probes)
AttributeError: 'list' object has no attribute 'intersection'
2019-12-22 17:18:43,432 block-discover:86 ignoring result <Future at 0x7f646e9b3f60 state=finished returned dict> for timed out probe

AFAICT, this hasn't been fixed in master (but I've only examined GitHub to determine that, no testing has been performed).

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

We only call it with NoneType or Set =/ i fear something odd is happpening with argument passing that we do with switch to async.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

I thought this was already fixed in 8097ad62bf2072729bdee44c6d0e7e73e7b10429

Revision history for this message
Domonkos Lezsák (lezsakdomi) wrote :

I am the original reporter here.

I tried http://releases.ubuntu.com/19.10/ubuntu-19.10-live-server-amd64.iso and http://cdimage.ubuntu.com/releases/18.04/release/ubuntu-18.04.3-server-amd64.iso downloaded 2019-12-22. I'm not sure if that commit was included in that CD image.

The snap package (which runs by default on TTY1 - as I discovered) did fail always with the trace above and it seemed like I couldn't further update that.

I tried installing subiquity from the APT repositories, but running that failed with some other error (I'm not sure where and what did it print out) and I quickly gave up running that.

I tried patching the source code manually, so I digged in the source code a little, but I couldn't say more than the stack trace says.

(for the story, I ended up using the mini iso or pxe or something)

Revision history for this message
Domonkos Lezsák (lezsakdomi) wrote :

My setup has a phisycal RAID card and it weren't configured to use the only plugged-in HDD as a RAID phisycal device so it might be possible that it was somehow "misconfigured". Maybe the list of storage drivers were empty or an error or something.

Revision history for this message
Domonkos Lezsák (lezsakdomi) wrote :

Note that I still have physical access to the system on which the error occurred, but I'm not into taking backup image and replacing HDD :)

lspci says:

00:00.0 Host bridge: Intel Corporation 5000V Chipset Memory Controller Hub (rev 92)
00:02.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 2 (rev 92)
00:03.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 3 (rev 92)
00:10.0 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev 92)
00:10.1 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev 92)
00:10.2 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev 92)
00:11.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev 92)
00:13.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev 92)
00:15.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev 92)
00:16.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev 92)
00:1c.0 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (rev 09)
00:1d.0 USB controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (rev 09)
00:1d.1 USB controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (rev 09)
00:1d.2 USB controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (rev 09)
00:1d.3 USB controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (rev 09)
00:1d.7 USB controller: Intel Corporation 631xESB/632xESB/3100 Chipset EHCI USB2 Controller (rev 09)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d9)
00:1f.0 ISA bridge: Intel Corporation 631xESB/632xESB/3100 Chipset LPC Interface Controller (rev 09)
00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller (rev 09)
00:1f.2 IDE interface: Intel Corporation 631xESB/632xESB/3100 Chipset SATA IDE Controller (rev 09)
01:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 21)
02:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port (rev 01)
02:00.3 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge (rev 01)
03:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1 (rev 01)
03:01.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E2 (rev 01)
04:00.0 PCI bridge: Intel Corporation 80333 Segment-A PCIe Express to PCI-X bridge
04:00.2 PCI bridge: Intel Corporation 80333 Segment-B PCIe Express to PCI-X bridge
05:0e.0 RAID bus controller: Dell PowerEdge Expandable RAID controller 5
0a:09.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] ES1000 (rev 02)

lshw output at https://termbin.com/2qk5

Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

The bug as reported is fixed now at least.

Changed in subiquity:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.