Error Setting Up Instances - [EFAULT] The DNS and DHCP service exited prematurely: exit status 2

Hi!
I am on the latest RC, and wanted to use Instances.
When i go into global settings, i set the Pool to the SSD Pool i created for this, and leave everything else on default as recommended.
But then i get this error:

[EFAULT] The DNS and DHCP service exited prematurely: exit status 2 ("dnsmasq: failed to create listening socket for 10.189.0.1: Address already in use")

More info:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/middlewared/job.py", line 515, in run
    await self.future
  File "/usr/lib/python3/dist-packages/middlewared/job.py", line 560, in __run_body
    rv = await self.method(*args)
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/api/base/decorator.py", line 88, in wrapped
    result = await func(*args)
             ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/plugins/virt/global.py", line 126, in do_update
    await job.wait(raise_error=True)
  File "/usr/lib/python3/dist-packages/middlewared/job.py", line 463, in wait
    raise self.exc_info[1]
  File "/usr/lib/python3/dist-packages/middlewared/job.py", line 515, in run
    await self.future
  File "/usr/lib/python3/dist-packages/middlewared/job.py", line 560, in __run_body
    rv = await self.method(*args)
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/plugins/virt/global.py", line 218, in setup
    await self._setup_impl()
  File "/usr/lib/python3/dist-packages/middlewared/plugins/virt/global.py", line 302, in _setup_impl
    raise CallError(result.get('error'))
middlewared.service_exception.CallError: [EFAULT] The DNS and DHCP service exited prematurely: exit status 2 ("dnsmasq: failed to create listening socket for 10.189.0.1: Address already in use")

I have changed nothing about my network settings. I have installed around 30 docker apps, with no problems.

Here are my sys specs:

Gigabyte MC12-LE0 B550 with IPMI  // Ryzen 5 3600 (Zen2) // 2X16GB Samsung DDR4 ECC
4X 20TB Toshiba SATA Enterprise -> Data Pool // 1X 250GB Crucial SATA SSD -> OS // 1X 1TB PNY NVME PCIE 3 -> APPS/VM
1X Mellanox ConnectX3 1XSFP+ @ 10G (Not connected ATM) // 2X Intel On-Board NIC @ 1G // 1X Intel On-Board NIC @ 1G -> IPMI
GPU: None (Intel GPU planned for HW Transcoding) // PCIE-Adapter: 16 Lanes PCIE -> 4X4 M2 SSD Ports

Thanks to everyone in advance!

UPDATE: I made a bug report: https://ixsystems.atlassian.net/browse/NAS-134969

Are you using pihole or similar? Something is already listening on port 53.

Try running this in CLI:
sudo incus network set incusbr0 raw.dnsmasq="port=5354"

1 Like

You are a life saver! I installed the Pi-hole App and totally forgot about it! Thanks :slight_smile:

This is where bridges are nice and help because you can have those instances listen on a interface entirely if you configure them and don’t need to worry about reconfiguring dnsmasq.

I’m encountering this error as well. The network interface in the suggested solution doesnt exist on my system.

If I disable my apps from running, then I’m able to configure the instance pool.
If I disable my instance pool, then I’m able to run apps.

No idea how to actually resolve this so far. The release notes are very specific to configure everything in the UI, but the error messages aren’t at all instructive on how to resolve.

I havent even gotten as far as trying to get my old VMs running. I’m just trying to get apps and the instance pool configured at the same time.

Any ideas? Thanks.

I added a bridge interface and this was resolved. My VMs booted but had no network. After a bunch of messing around I realized the interface names have changed. I manually edited the interface name in each of my ubuntu VM images and they successfully came up on my network.

Did not work for me. Here is the solution you need:

Go to Truenas network settings an create a bridge. Name it (e.g. br0)
Go into your TrueNAS hosts NIC (e.g. eno1) and DELETE the host ip that connects your TrueNAS box to your LAN.
Goto br0 and add your deleted ip from eno1 as an alias.
test and save
You can now use pihole or whatever app in parallel to the new incus subsystem for VM and lxc.

Stay clean,
Doc