From e7ba0772db53c6dbcc32c336637a6610af0983a6 Mon Sep 17 00:00:00 2001 From: Nic-dorman Date: Wed, 22 Apr 2026 09:27:37 +0100 Subject: [PATCH] chore(scripts): add linux-diag.sh for gvfs/glib loader error reports Linux users have reported stderr noise like: /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name The binary is built on Ubuntu 22.04 (GLib 2.72), so these are system-side loader mismatches rather than ant-gui bugs. Add a read-only diagnostic script to collect distro, binary path, ldd resolution, package versions, and repo-origin data in one pasteable block. Co-Authored-By: Claude Opus 4.7 (1M context) --- scripts/linux-diag.sh | 54 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 scripts/linux-diag.sh diff --git a/scripts/linux-diag.sh b/scripts/linux-diag.sh new file mode 100644 index 0000000..6375b31 --- /dev/null +++ b/scripts/linux-diag.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash +# ant-gui Linux diagnostic. Run on a reporter's machine and paste the +# output back into the issue. All commands are read-only. +# +# Targets the class of errors where GVfs / GIO / libcurl modules fail +# to load with undefined-symbol complaints (e.g. g_task_set_static_name, +# nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation). + +set +e + +echo '== /etc/os-release ==' +cat /etc/os-release + +echo +echo '== binary path ==' +BIN="$(readlink -f "$(which ant-gui 2>/dev/null)")" +if [ -n "$BIN" ]; then + echo "$BIN" + file "$BIN" +else + echo '(ant-gui not on PATH)' +fi + +echo +echo '== ldd (glib / gio / curl / nghttp2) ==' +if [ -n "$BIN" ]; then + ldd "$BIN" | grep -E 'glib|gio|curl|nghttp2' +else + echo '(no binary — skipping ldd)' +fi + +echo +echo '== installed package versions ==' +dpkg -l libglib2.0-0 libcurl3-gnutls libnghttp2-14 gvfs dconf-service 2>/dev/null \ + | awk '/^ii/ {print $2, $3}' + +echo +echo '== upgradable packages ==' +apt list --upgradable 2>/dev/null | grep -E 'glib|gvfs|curl|nghttp2|dconf' \ + || echo '(none)' + +echo +echo '== apt policy ==' +apt policy libglib2.0-0 libcurl3-gnutls libnghttp2-14 2>/dev/null + +echo +echo '== app config dir ==' +ls -la ~/.config/autonomi/ant-gui/ 2>/dev/null || echo '(no config dir yet)' + +echo +echo '== please also answer in plain text ==' +echo ' (a) Does the file picker open when you click Upload / Download?' +echo ' (b) Can you import a private key or connect a wallet?' +echo ' (c) Do uploads actually fail, or do you just see the stderr noise?'