Failed to sync TRUENAS catalog (ElectricEel)

I did a fresh install of ElectricEel-24.10.0.1 and configured it from scratch. I didn’t change much except the timezone, imported my pool and set up users, SMB shares and data protection stuff. In particular, I haven’t changed anything to do with networking.

I was able to install my first app (plex) without any issue.

However, having now rebooted the system, plex still works, but I can’t install any new apps.

I have a critical alert that says:

Failed to sync TRUENAS catalog: [EFAULT] Failed to clone ‘GitHub - truenas/apps’ repository at ‘/mnt/.ix-apps/truenas_catalog’ destination: [EFAULT] Failed to clone ‘GitHub - truenas/apps’ repository at ‘/mnt/.ix-apps/truenas_catalog’ destination: Cloning into ‘/mnt/.ix-apps/truenas_catalog’…

(How do I see the rest of the message?)

When I try to install another app it says:

CallError: [ENOENT] Unable to locate ‘sabnzbd’ at ‘/mnt/.ix-apps/truenas_catalog/trains/community/sabnzbd’

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 208, in call_method
    result = await self.middleware.call_with_audit(message['method'], serviceobj, methodobj, params, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1526, in call_with_audit
    result = await self._call(method, serviceobj, methodobj, params, app=app,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1468, 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 1361, 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/catalog/app_version.py", line 59, in get_app_details
    raise CallError(f'Unable to locate {app_name!r} at {app_location!r}', errno=errno.ENOENT)
middlewared.service_exception.CallError: [ENOENT] Unable to locate 'sabnzbd' at '/mnt/.ix-apps/truenas_catalog/trains/community/sabnzbd'

/mnt/.ix-apps/truenas_catalog is indeed empty.

How could it have become empty, and how do I fix this?

Well, I tried the obvious:

cd /mnt/.ix-apps
sudo git clone https://github.com/truenas/apps.git truenas_catalog

And that worked fine. Now I can install apps again. Question remains as to why it got emptied out, and why the automated clone failed at boot up.

1 Like