Saltar al contenido principal

Dig Failed on WSL2 Ubuntu 22.04

Updated Jun 08, 2024 ·

dig command failed due to libuv version mismatch​

This KB covers the investigation and resolution steps taken when dig failed with a fatal libuv version error inside Ubuntu 22.04 LTS running on WSL2.

Environment​

  • OS: Ubuntu 22.04 LTS (Jammy Jellyfish) on WSL2
  • Kernel: Linux TOWER-1 6.6.87.2-microsoft-standard-WSL2
  • libuv installed version: 1.43.0
  • libdns-export1110 and libisc-export1105 versions: 1:9.11.19+dfsg-2.1ubuntu3
  • dig from dnsutils package

Problem​

Running the following command produces a fatal error:

dig NS joeden.com

Output:

netmgr/netmgr.c:232:isc__netmgr_create(): fatal error: libuv version too new: running with libuv 1.43.0 when compiled with libuv 1.34.2 will lead to libuv failures
Aborted (core dumped)

This indicates a mismatch between the libuv version installed on the system (1.43.0) and the version with which the ISC libraries (libdns-export1110, libisc-export1105) were compiled (1.34.2).

Steps Taken​

1. Verified OS and package versions​

OS release info:

lsb_release -a
uname -a

Output: Showed Ubuntu 22.04 LTS running on WSL2.

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04 LTS
Release: 22.04
Codename: jammy
Linux TOWER-1 6.6.87.2-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC Thu Jun 5 18:30:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Checked installed ISC packages:

dpkg -l | grep isc

Output: Confirmed libdns-export1110 and libisc-export1105 installed at version 1:9.11.19+dfsg-2.1ubuntu3.

ii base-files 12ubuntu4 amd64 Debian base system miscellaneous files
ii debianutils 5.5-1ubuntu2 amd64 Miscellaneous utilities specific to Debian
ii isc-dhcp-client 4.4.1-2.3ubuntu2 amd64 DHCP client for automatically obtaining an IP address
ii isc-dhcp-common 4.4.1-2.3ubuntu2 amd64 common manpages relevant to all of the isc-dhcp packages
ii libbdplus0:amd64 0.2.0-1 amd64 implementation of BD+ for reading Blu-ray Discs
ii libbluray2:amd64 1:1.3.1-1 amd64 Blu-ray disc playback support library (shared library)
ii libisc-export1105:amd64 1:9.11.19+dfsg-2.1ubuntu3 amd64 Exported ISC Shared Library
ii libxext6:amd64 2:1.3.4-1build1 amd64 X11 miscellaneous extension library
ii libxfixes3:amd64 1:6.0.0-1 amd64 X11 miscellaneous 'fixes' extension library
ii libxmu6:amd64 2:1.1.3-3 amd64 X11 miscellaneous utility library
ii libxmuu1:amd64 2:1.1.3-3 amd64 X11 miscellaneous micro-utility library
rc open-iscsi 2.0.874-7.1ubuntu6.4 amd64 iSCSI initiator tools
ii psmisc 23.4-2build3 amd64 utilities that use the proc file system
ii python3-pkg-resources 59.6.0-1.2 all Package Discovery and Resource Access using pkg_resources
ii python3-zeroconf 0.38.3-2 all Pure Python implementation of multicast DNS service discovery (Python3)
ii util-linux 2.37.2-4ubuntu3 amd64 miscellaneous system utilities

Checked installed libuv version:

dpkg -l | grep libuv
ldconfig -p | grep libuv

Output: Installed libuv1:amd64 version 1.43.0.

ii libuv1:amd64 1.43.0-1 amd64 asynchronous event notification library - runtime library
ii libuv1-dev:amd64 1.43.0-1 amd64 asynchronous event notification library - development files
libuv.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libuv.so.1
libuv.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libuv.so

2. Tried updating the ISC packages and system​

No newer versions available, and packages already at latest.

sudo apt update
sudo apt install libdns-export1110 libisc-export1105
sudo apt full-upgrade

Output:

Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
[list of packages...]
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

3. Attempted reinstalling ISC packages​

Did not resolve the libuv mismatch issue.

sudo apt remove libdns-export1110 libisc-export1105
sudo apt install libdns-export1110 libisc-export1105

4. Verified no leftover sources from older Ubuntu versions​

Found some commented lines referencing Ubuntu 20.04 focal, but no active focal repositories that could cause version mismatch.

grep -r 'focal' /etc/apt/sources.list*

5. Tried installing bind9 from snap for a newer dig binary​

Installed...

sudo snap install bind9 --classic

Failed with error:

error: snap "bind9" not found

6. Tested alternative DNS client: drill​

Installed drill via:

sudo apt install dnsutils

Ran:

drill NS joeden.com

Output:

;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 23573
;; flags: qr rd ; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; joeden.com. IN NS

;; ANSWER SECTION:
joeden.com. 0 IN NS ns3bgq.name.com.
joeden.com. 0 IN NS ns4qxz.name.com.
joeden.com. 0 IN NS ns1stv.name.com.
joeden.com. 0 IN NS ns2hkt.name.com.

;; Query time: 1 msec
;; SERVER: 172.25.144.1
;; WHEN: Sun Aug 10 00:29:58 2024
;; MSG SIZE rcvd: 154

The drill command successfully returned the NS records without error.

Root Cause​

The dig tool was linked against older ISC libraries compiled with libuv 1.34.2, but the system had libuv 1.43.0 installed. This ABI mismatch caused dig to fail with a fatal error.

Resolution​

Use the drill command from dnsutils as a working alternative DNS lookup tool on Ubuntu 22.04 WSL2, since it works correctly with the newer libuv library.

Summary​

StepOutcome
Check system and package versionsUbuntu 22.04 with latest ISC and libuv packages
Upgrade / reinstall ISC libsNo effect; mismatch remains
Snap install bind9Not available
Run digFails due to libuv version mismatch
Run drillWorks perfectly, provides expected results

Notes​

Recommendations:

  • Until the ISC packages or dig get rebuilt for newer libuv versions on WSL2, prefer drill as DNS querying tool.
  • Alternatively, run dig inside a container or on a native Linux environment with compatible library versions.
  • Monitor package updates from Ubuntu for fixes.