SOLVED TrueNAS SCALE 22.02-RC.1-1 - Failed to start TrueNAS Middleware

KristijanL

Dabbler
Joined
Jun 28, 2013
Messages
13
I am running SCALE BETA for a while now, without any issues, but todays upgrade to RC1 failed with "Failed to start TrueNAS Middleware" on boot, and after a while i was dropped to shell. So i thought there was some issue with an update, so i did a fresh install with the same result. I am attaching my whole log folder of fresh install.

Code:
2021/11/10 14:48:48] (DEBUG) middlewared.setup():1882 - Timezone set to America/Los_Angeles
Traceback (most recent call last):
  File "/usr/bin/middlewared", line 12, in <module>
    sys.exit(main())
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1749, in main
    Middleware(
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1576, in run
    self.loop.run_until_complete(self.__initialize())
  File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
    return future.result()
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1641, in __initialize
    await self.__plugins_setup(setup_funcs)
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 968, in __plugins_setup
    await call
  File "/usr/lib/python3/dist-packages/middlewared/plugins/alert.py", line 1168, in setup
    await middleware.call("alert.initialize")
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1310, in call
    return await self._call(
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1267, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/alert.py", line 219, in initialize
    is_enterprise = await self.middleware.call("system.is_enterprise")
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1310, in call
    return await self._call(
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1267, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/system.py", line 541, in is_enterprise
    return await self.middleware.call('system.product_type') in ['ENTERPRISE', 'SCALE_ENTERPRISE']
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1310, in call
    return await self._call(
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1267, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1263, in nf
    return await func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1131, in nf
    res = await f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/system.py", line 525, in product_type
    hardware = await self.middleware.call('failover.hardware')
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1310, in call
    return await self._call(
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1267, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1263, in nf
    return await func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1131, in nf
    res = await f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/failover.py", line 204, in hardware
    return (await self.middleware.call('failover.ha_mode'))[0]
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1310, in call
    return await self._call(
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1267, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/failover.py", line 187, in ha_mode
    FailoverService.HA_MODE = await self.middleware.call(
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1310, in call
    return await self._call(
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1278, in _call
    return await self.run_in_executor(prepared_call.executor, methodobj, *prepared_call.args)
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1180, in run_in_executor
    return await loop.run_in_executor(exc, functools.partial(method, *args, **kwargs))
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/failover_/detect_enclosure.py", line 21, in detect
    manufacturer = self.middleware.call_sync('system.dmidecode_info')['system-product-name']
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1334, in call_sync
    return self.run_coroutine(self.run_in_executor(prepared_call.executor, methodobj, *prepared_call.args))
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1366, in run_coroutine
    return fut.result()
  File "/usr/lib/python3.9/concurrent/futures/_base.py", line 433, in result
    return self.__get_result()
  File "/usr/lib/python3.9/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1180, in run_in_executor
    return await loop.run_in_executor(exc, functools.partial(method, *args, **kwargs))
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/system_/dmi.py", line 22, in dmidecode_info
    self._parse_dmi(cp.stdout.splitlines())
  File "/usr/lib/python3/dist-packages/middlewared/plugins/system_/dmi.py", line 40, in _parse_dmi
    sect, val = [i.strip() for i in line.split(':')]
ValueError: too many values to unpack (expected 2)


any pointers what to check?

Manufacturer: Supermicro
Product Name: X9DRD-7LN4F(-JBOD)/X9DRD-EF
Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
 

Attachments

  • archive.tar.gz
    109.4 KB · Views: 196

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
Should be fixed in next RC I believe (already fixed in master branch):
Code:
commit 05642ede81cdf54b461bdcf30d5e06b96b1329ff
Author: Caleb St. John <30729806+yocalebo@users.noreply.github.com>
Date:   Wed Oct 27 17:06:18 2021 -0400

    fix dmi parsing when there are more than 1 ':' (#7775)

diff --git a/src/middlewared/middlewared/plugins/system_/dmi.py b/src/middlewared/middlewared/plugins/system_/dmi.py
index 8642ecb13d..e17b51bb59 100644
--- a/src/middlewared/middlewared/plugins/system_/dmi.py
+++ b/src/middlewared/middlewared/plugins/system_/dmi.py
@@ -37,7 +37,7 @@ class SystemService(Service):
                 # a newline so ignore those lines
                 continue
 
-            sect, val = [i.strip() for i in line.split(':')]
+            sect, val = [i.strip() for i in line.split(':', 1)]
             if sect == 'Manufacturer':
                 SystemService.CACHE['system-manufacturer' if _type == 'SYSINFO' else 'baseboard-manufacturer'] = val
             elif sect == 'Product Name':
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
If you feel ambitious, you could probably hot-patch yourself. File is /usr/lib/python3/dist-packages/middlewared/plugins/system_/dmi.py

Once you fix, you'll probably want to reboot.
 
Top