Score:1

22.04 Server installer crashes when probing block devices

zm flag

Problem: Ubuntu 22.04 server installer keeps crashing right before choosing disks. Crash Report says block_probe_fail

Background: I'm trying to install ubuntu 22.04 Server on a Dell R710. I previously had Debian installed on this machine, but I swapped out the default RAID controller with a Dell PERC H310 flashed to IT mode so i could pass my disks directly to the OS. If it matters, I had to use a different PCIe slot because the new RAID controller didn't fit in the old one's spot (and R710 will not boot if it detects a different card than the original in that slot anyways). BIOS can see each disk I have connected just fine, however.

I have attempted to install 22.04 in both BIOS and UEFI modes so far with the same result. The installer always boots up properly and walks me through the selections. I download the latest installer, select my keyboard layout, proxy, mirror, etc. and immediately after mirror, the installer crashes. Sometimes its a total crash, sometimes it does allow me to continue to setup my partitions (which it DOES show all my disks). However if I continue beyond this point, the installer crashes completely and I have to reboot.

I've also tried unplugging my ethernet connections and disabling my NICs just to rule them out, to no avail.

Any help to understand what my root issue is would be appreciated. I have a feeling that after I flashed my RAID controller and set the SAS address back to what it was, something else wasn't set properly. The relevant portion of the crash report says the following:

 2023-02-01 06:27:59,304 DEBUG probert.multipath:48 Extracted multipath maps fields: ['ok']
 2023-02-01 06:27:59,304 DEBUG probert.multipath:52 Failed to parse multipath maps entry: ok: __new__() missing 2 required positional arguments: 'sysfs' and 'paths'
 2023-02-01 06:27:59,317 DEBUG probert.multipath:48 Extracted multipath paths fields: ['sda', '6SJ3PJY7', '[orphan]', '[undef]', '0x5000c50043c20035', '[undef]', '[undef]', '0000:00:05.0']
 2023-02-01 06:27:59,317 DEBUG probert.multipath:48 Extracted multipath paths fields: ['sdb', 'WD-CA1D77EK', '[orphan]', '[undef]', '0x4433221100000000', '[undef]', '[undef]', '0000:00:05.0']
 2023-02-01 06:27:59,318 DEBUG probert.multipath:48 Extracted multipath paths fields: ['sdc', '6SJ3MA4M', '[orphan]', '[undef]', '0x5000c50043bdc74d', '[undef]', '[undef]', '0000:00:05.0']
 2023-02-01 06:27:59,318 DEBUG probert.multipath:48 Extracted multipath paths fields: ['sdd', 'WD-CA1D5TNK', '[orphan]', '[undef]', '0x4433221101000000', '[undef]', '[undef]', '0000:00:05.0']
 2023-02-01 06:27:59,318 DEBUG probert.multipath:48 Extracted multipath paths fields: ['sde', 'WD-WX12D412TP77', '[orphan]', '[undef]', '0x4433221106000000', '[undef]', '[undef]', '0000:00:05.0']
 2023-02-01 06:27:59,318 DEBUG probert.multipath:48 Extracted multipath paths fields: ['sdf', 'WD-WX12D412T8YU', '[orphan]', '[undef]', '0x4433221107000000', '[undef]', '[undef]', '0000:00:05.0']
 2023-02-01 06:27:59,417 ERROR root:39 finish: subiquity/Filesystem/_probe/probe_once: FAIL: 'MD_LEVEL'
 2023-02-01 06:27:59,418 ERROR block-discover:442 block probing failed restricted=False
 Traceback (most recent call last):
   File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/filesystem.py", line 436, in _probe
     await asyncio.wait_for(self._probe_once_task.task, timeout)
   File "/snap/subiquity/3698/usr/lib/python3.8/asyncio/tasks.py", line 494, in wait_for
     return fut.result()
   File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquitycore/context.py", line 148, in decorated_async
     return await meth(self, **kw)
   File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/filesystem.py", line 404, in _probe_once
     storage = await run_in_thread(
   File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquitycore/async_helpers.py", line 46, in run_in_thread
     return await loop.run_in_executor(None, func, *args)
   File "/snap/subiquity/3698/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run
     result = self.fn(*self.args, **self.kwargs)
   File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquitycore/prober.py", line 59, in get_storage
     return Storage().probe(probe_types=probe_types)
   File "/snap/subiquity/3698/lib/python3.8/site-packages/probert/storage.py", line 186, in probe
     probed_data[ptype] = pfunc(context=self.context)
   File "/snap/subiquity/3698/lib/python3.8/site-packages/probert/raid.py", line 143, in probe
     'raidlevel': device['MD_LEVEL'],
   File "/snap/subiquity/3698/lib/python3.8/site-packages/pyudev/device/_device.py", line 957, in __getitem__
     return self.properties.__getitem__(prop)
   File "/snap/subiquity/3698/lib/python3.8/site-packages/pyudev/device/_device.py", line 1084, in __getitem__
     raise KeyError(prop)
 KeyError: 'MD_LEVEL'
 2023-02-01 06:27:59,428 DEBUG subiquitycore.common.errorreport:384 generating crash report
 2023-02-01 06:27:59,430 INFO subiquitycore.common.errorreport:406 saving crash report 'block probing crashed with KeyError' to /var/crash/1675232879.428982496.block_probe_fail.crash
 2023-02-01 06:27:59,430 INFO root:39 start: subiquity/ErrorReporter/1675232879.428982496.block_probe_fail/add_info: 
 2023-02-01 06:27:59,431 DEBUG root:39 start: subiquity/Filesystem/_probe/probe_once: restricted=True
InstallerServerLogInfo:
 2023-02-01 06:27:27,373 INFO subiquity:112 Starting Subiquity server revision 3698
 2023-02-01 06:27:27,373 INFO subiquity:113 Arguments passed: ['/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/cmd/server.py']
 2023-02-01 06:27:28,216 INFO aiohttp.access:233  [01/Feb/2023:06:27:28 +0000] "GET /meta/status?cur=null HTTP/1.1" 200 419 "-" "Python/3.8 aiohttp/3.6.2"
 2023-02-01 06:27:57,966 INFO root:39 start: subiquity/apply_autoinstall_config: 
 2023-02-01 06:27:57,978 INFO root:39 finish: subiquity/apply_autoinstall_config: SUCCESS: 
 2023-02-01 06:27:57,979 INFO root:39 finish: subiquity/Meta/status_GET: SUCCESS: 200 {"state": "WAITING", "confirming_tty": "", "error": null, "cloud_init_ok": tr...
 2023-02-01 06:27:57,997 INFO aiohttp.access:233  [01/Feb/2023:06:27:28 +0000] "GET /meta/status?cur=%22CLOUD_INIT_WAIT%22 HTTP/1.1" 200 411 "-" "Python/3.8 aiohttp/3.6.2"
 2023-02-01 06:27:58,000 INFO root:39 start: subiquity/Meta/client_variant_GET: 
 2023-02-01 06:27:58,003 INFO root:39 finish: subiquity/Meta/client_variant_GET: SUCCESS: 200 "server"
 2023-02-01 06:27:58,005 INFO aiohttp.access:233  [01/Feb/2023:06:27:57 +0000] "GET /meta/client_variant HTTP/1.1" 200 193 "-" "Python/3.8 aiohttp/3.6.2"
 2023-02-01 06:27:58,017 INFO root:39 start: subiquity/Meta/status_GET: 
 2023-02-01 06:27:58,019 INFO root:39 finish: subiquity/Meta/status_GET: SUCCESS: 200 {"state": "WAITING", "confirming_tty": "", "error": null, "cloud_init_ok": tr...
 2023-02-01 06:27:58,020 INFO aiohttp.access:233  [01/Feb/2023:06:27:58 +0000] "GET /meta/status?cur=null HTTP/1.1" 200 411 "-" "Python/3.8 aiohttp/3.6.2"
 2023-02-01 06:27:58,021 INFO root:39 start: subiquity/Meta/client_variant_POST: 
 2023-02-01 06:27:58,054 INFO root:39 finish: subiquity/Meta/client_variant_POST: SUCCESS: 200 null
 2023-02-01 06:27:58,055 INFO aiohttp.access:233  [01/Feb/2023:06:27:58 +0000] "POST /meta/client_variant?variant=%22server%22 HTTP/1.1" 200 189 "-" "Python/3.8 aiohttp/3.6.2"
 2023-02-01 06:27:58,058 INFO root:39 start: subiquity/Meta/status_GET: 
 2023-02-01 06:27:58,090 INFO aiohttp.access:233  [01/Feb/2023:06:27:58 +0000] "GET /locale HTTP/1.1" 200 194 "-" "Python/3.8 aiohttp/3.6.2"
 2023-02-01 06:27:59,417 ERROR root:39 finish: subiquity/Filesystem/_probe/probe_once: FAIL: 'MD_LEVEL'
 2023-02-01 06:27:59,418 ERROR block-discover:442 block probing failed restricted=False
 Traceback (most recent call last):
   File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/filesystem.py", line 436, in _probe
     await asyncio.wait_for(self._probe_once_task.task, timeout)
   File "/snap/subiquity/3698/usr/lib/python3.8/asyncio/tasks.py", line 494, in wait_for
     return fut.result()
   File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquitycore/context.py", line 148, in decorated_async
     return await meth(self, **kw)
   File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/filesystem.py", line 404, in _probe_once
     storage = await run_in_thread(
   File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquitycore/async_helpers.py", line 46, in run_in_thread
     return await loop.run_in_executor(None, func, *args)
   File "/snap/subiquity/3698/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run
     result = self.fn(*self.args, **self.kwargs)
   File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquitycore/prober.py", line 59, in get_storage
     return Storage().probe(probe_types=probe_types)
   File "/snap/subiquity/3698/lib/python3.8/site-packages/probert/storage.py", line 186, in probe
     probed_data[ptype] = pfunc(context=self.context)
   File "/snap/subiquity/3698/lib/python3.8/site-packages/probert/raid.py", line 143, in probe
     'raidlevel': device['MD_LEVEL'],
   File "/snap/subiquity/3698/lib/python3.8/site-packages/pyudev/device/_device.py", line 957, in __getitem__
     return self.properties.__getitem__(prop)
   File "/snap/subiquity/3698/lib/python3.8/site-packages/pyudev/device/_device.py", line 1084, in __getitem__
     raise KeyError(prop)
 KeyError: 'MD_LEVEL'
 2023-02-01 06:27:59,430 INFO subiquitycore.common.errorreport:406 saving crash report 'block probing crashed with KeyError' to /var/crash/1675232879.428982496.block_probe_fail.crash
 2023-02-01 06:27:59,430 INFO root:39 start: subiquity/ErrorReporter/1675232879.428982496.block_probe_fail/add_info:
InterpreterPath: /snap/subiquity/3698/usr/bin/python3.8
Lspci:

etc etc...

Score:1
jp flag

This bug in probert may be your problem: prober fails (and halts installation) if an inactive raid is present on the system .

A patch was committed in November that may fix the bug. That will hopefully be included in 22.04.2 when that is released.

Or the daily build appears to include the patch http://cdimage.ubuntu.com/cdimage/ubuntu-server/jammy/daily-live/pending/ .

Or you might be able to just wipe your disks and old RAID configurations before installing.

xrandom66x avatar
zm flag
Ah could be. 4 of the 6 drives were part of RAID arrays. I didn't bother wiping the raid configuration, I just yanked them and figured it would be fine since I was reformatting anyways. I have another raid controller i can use to wipe the drives. I'll try this today.
xrandom66x avatar
zm flag
Ok so this solution did get me farther. I did not crash when selecting my partitions. However, after starting the installation, I had an install_fail crash. Again, not sure what the issue was exactly. I ended up using DBAN to totally wipe those harddrives that were part of a raid array. After spending hours for the total wipe, I tried again and everything went smoothly. Looks like this bug was the issue, and your solution of wiping the disks worked.
I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.