No such file or directory: ‘/mnt/.ix-apps/app_configs’

Hello, I am getting the title error on the dataset screen. ZFS pool and disks are online. Getting the same error on the apps screen as well. The error appeared after a routine reboot.

I’ve read through a few threads with a similar error/issue including the one from 11/24. Some mentioned just reinstalling TrueNAS. Others manually created the missing directory. I don’t have much experience with TrueNAS so I am seeking some consultation. I just prefer to error on the side of caution to avoid the point-of-no-return, if I am not already there yet.

Here are some other details:

Bare metal install of TrueNAS Scale 24.10.2 on a Dell PowerEdge R210 ii, 32GB ram, with an LSI SAS 9201-16e hba connected to a 12-bay JBOD. OS is on a consumer SSD.

Encrypted dataset on a single ZFS pool with three RAID-Z1 vdevs. 14TB x 4, 12TB x 4, 10TB x 4, no special vdevs

The only app I was using was Dockge with a qb/gluetun stack. Intention is to keep it as a dedicated TrueNAS host. I have other hosts for Proxmox, etc.

The issue for me is that I was in the middle of a data migration and backup. Outgrew a previous ZFS pool on OMV. Created the new pool for TrueNAS and migrated everything over. No issues there.

Destroyed previous pool and rebuilt as a backup pool in Unraid and have been migrating the data back for the past few weeks (>50TB).

Critical data is backed up in the cloud, so I am not too concerned about that. However, the bulk of data are media files which had not been backed up to Unraid yet. While the data is replaceable, I would really like to avoid doing that if the pool/data can be restored.

Any help would be greatly appreciated. Let me know if there is any additional information that can be provided.

All files under .ix-apps/app_configs are private to TrueNAS. You can try a somewhat risky operation:

  1. Back up the configuration information related to Dockge, especially the Compose file configuration. Then stop Dockge.
  2. Unset the Apps Pool on the Apps WebUI page.
  3. Manually delete the entire .ix-apps dataset through the shell.
  4. Reset the Apps Pool.

ZFS’s snapshot mechanism does not protect the operation of deleting the entire dataset. Although I have tried to delete the .ix-apps dataset before (not because of the same problem), there are still some risks.

1 Like

Thanks for the reply. I do have a backup of the Dockge compose file but I am honestly not even concerned about the applications. That’s easy enough to redeploy, if needed. I can’t stop the application though. The only thing that is displayed on the apps page is the error in the title.

I just assumed there was some correlation between the app and dataset pages displaying the same error. I don’t want to do something that could potentially corrupt or lose the dataset. The error implies that the file doesn’t exist which I was able to confirm by navigating to the directory.

Dashboard information like CPU, Memory, Usage, etc, isn’t loading either.

I didn’t notice an option to see the full output of the error until now though:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 211, 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 1529, in call_with_audit
    result = await self._call(method, serviceobj, methodobj, params, app=app,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1471, 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 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/catalog/apps.py", line 67, in available
    for app in self.middleware.call_sync('app.query')
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1665, in call_sync
    return methodobj(*prepared_call.args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  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/schema/processor.py", line 183, in nf
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/plugins/apps/crud.py", line 110, in query
    apps = list_apps(available_apps_mapping, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/plugins/apps/ix_apps/query.py", line 135, in list_apps
    with os.scandir(get_app_parent_config_path()) as scan:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/mnt/.ix-apps/app_configs'

It appears to just error when it attempts to load the app_configs file though.

You can try to create a ticket on iXsystems Jira and provide the error information.
https://ixsystems.atlassian.net/jira/software/c/projects/NAS/issues

1 Like

I submitted a ticket and they were unhelpful, to say the least. They responded stating the zfs pool is not imported and immediately closed the ticket. I get it. Community Edition, etc. Just wish they allowed me to respond before closing the ticket.

The zfs pool is imported. I verified that before even posting the initial thread here. I’ve even tried exporting and then re-importing the pool. The errors on the dataset and apps page persist though.

Running zfs list also displays the expected datasets aside from the missing .ix-apps/app_configs directory.

However, if I attempt to navigate to a directory within the dataset via the CLI, it doesn’t exist. :upside_down_face:

1 Like