Cannot update Jellyfin

TrueNAS is telling me

but when I try I get an error which states

[Errno 2] No such file or directory: '/mnt/.ix-apps/truenas_catalog/trains/community/jellyfin/1.1.18'

and in fact I can see the directory in question which says

The verbose error says

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/middlewared/job.py", line 509, in run
    await self.future
  File "/usr/lib/python3/dist-packages/middlewared/job.py", line 556, in __run_body
    rv = await self.middleware.run_in_thread(self.method, *args)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1367, in run_in_thread
    return await self.run_in_executor(io_thread_pool_executor, method, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1364, in run_in_executor
    return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/schema/processor.py", line 183, in nf
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/schema/processor.py", line 55, in nf
    res = f(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/plugins/apps/upgrade.py", line 72, in upgrade
    with upgrade_config(app_name, upgrade_version):
  File "/usr/lib/python3.11/contextlib.py", line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/plugins/apps/ix_apps/upgrade.py", line 12, in upgrade_config
    shutil.copytree(upgrade_version['location'], version_path)
  File "/usr/lib/python3.11/shutil.py", line 571, in copytree
    with os.scandir(src) as itr:
         ^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/mnt/.ix-apps/truenas_catalog/trains/community/jellyfin/1.1.18'

Yeah. It says it cannot find 1.1.18. In the directory, there is 1.1.19. So, the error makes perfect sense.

How you ended up at that error, I’m not sure.

I use Plex, and keep the config/metadata in a host mount. In this case, I’d just delete it and re-install using my existing config/metadata.

You could also try grepping the ix-apps directory to try to find out why the GUI thinks you have 1.1.17 if you (seem) to have 1.1.19. Since you appear to have 1.1.19 on the filesystem, it seems like either you modified that file name, or TrueNAS had a hiccup during a previous upgrade.

EDIT: you could also try just renaming that folder from 1.1.19 to 1.1.18, then it will be able to complete the ā€˜upgrade’.

I too spotted the ā€œmisnamedā€ dir (in spite of my questions yesterday I haven’t fiddled with /mnt/.ix-apps/) and I wondered if renaming would work.

I thought it best to get advice here before trying it - thanks - and it has indeed worked.

I don’t know why Jellyfin has got muddled …Frigate and Tailscale were telling me to update them as well, and they both worked OK.

1 Like