Hi, since this morning I'm not able to save changes in the Storage/File Systems page.
The only thing that changed before encountering the problem is a package (updated containerd.io from the updates page). Later in the morning i unmounted a filesystem that I needed to resize, and when I tried to remount it I noticed that the dropdown menu showed to file system available to be mounted with the same size.
I rebooted the system, it now showed only one file system as it should be, mounted it and when I tried to apply the changes started to encounter this error. I tried to unmount every filesystem except the two that have references and cannot be unmounted and still get the error when trying to apply changes.
The error seems to be related to encoding and happens during the call to the salt stack function mount.mounted:
ID: mount_filesystem_mountpoint_ea6e15e0-fa88-4eb5-92c3-26aab4e17110
Function: mount.mounted
Name: /srv/dev-disk-by-uuid-59a00133-55dd-4cb2-b766-091f49bd8b4a
Result: False
Comment: An exception occurred in this state: Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/salt/state.py", line 2401, in call
ret = self.states[cdata["full"]](
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 149, in __call__
return self.loader.run(run_func, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 1234, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 1249, in _run_as
return _func_or_method(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 1282, in wrapper
return f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/salt/states/mount.py", line 242, in mounted
active = __salt__["mount.active"](extended=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 149, in __call__
return self.loader.run(run_func, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 1234, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 1249, in _run_as
return _func_or_method(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/salt/modules/mount.py", line 277, in active
_active_mountinfo(ret)
File "/usr/lib/python3/dist-packages/salt/modules/mount.py", line 52, in _active_mountinfo
_list = _list_mounts()
^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/salt/modules/mount.py", line 42, in _list_mounts
mounts = __salt__["cmd.run_stdout"]("mount -l")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 149, in __call__
return self.loader.run(run_func, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 1234, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/salt/loader/lazy.py", line 1249, in _run_as
return _func_or_method(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/salt/modules/cmdmod.py", line 1817, in run_stdout
ret = _run(
^^^^^
File "/usr/lib/python3/dist-packages/salt/modules/cmdmod.py", line 328, in _run
if output_loglevel != "quiet" and _is_valid_shell(shell) is False:
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/salt/modules/cmdmod.py", line 3574, in _is_valid_shell
for x in shell_fp.read().splitlines()
^^^^^^^^^^^^^^^
File "<frozen codecs>", line 322, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte
Started: 15:37:32.448329
Duration: 4.917 ms
Changes:
Display More
I get the same error when trying to run omv-salt deploy run fstab, I also tried to run sudo salt-call -l debug --local --retcode-passthrough state.apply omv.deploy.fstab hoping I would get more informations but it showed the same thing.
I thought it might be something corrupted in openmediavault or the salt installation and tried to reinstall them with apt install --reinstall openmediavault salt-common salt-minion but the error remained.
Thinking it could be a config file which had the wrong encoding I tried to track a bit the salt code on github, but it seems like mount.mounted function just calls mount -l and parse the output of that.
I checked the mntent part of the openmediavault/config.xml file and can't see anything out of order. At this point I dunno what else to try.
Edit: Forgot to say that I also checked localeand tried to even restore it with dpkg-reconfigure locales
root@NAS:~# locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Display More
Anybody have any idea of something I could try to fix it without reinstalling everything?
Thanks in advance