From 57bc396c1275846efd4a7f1e599910f1c1974382 Mon Sep 17 00:00:00 2001 From: Till Maas Date: Fri, 9 Jan 2026 14:27:13 +0100 Subject: [PATCH] core: delay D-Bus type initialization for --print-config The --print-config option should only read and print the configuration without initializing any D-Bus infrastructure. However, g_type_ensure() calls for D-Bus types were happening before the --print-config check, causing GLib/GIO to set up D-Bus infrastructure and create cache directories (~/.cache/bus or /root/.cache) unnecessarily. Move the g_type_ensure() calls to after the --print-config (and --version) early exits, so they only run when NetworkManager actually needs to start normally and use D-Bus. Resolves: https://issues.redhat.com/browse/RHEL-140113 Assisted-by: Claude Code claude-sonnet-4-5@20250929 Signed-off-by: Till Maas --- src/core/main.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/core/main.c b/src/core/main.c index 911aeba9a3..7299a91cfd 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -298,12 +298,6 @@ main(int argc, char *argv[]) _nm_utils_is_manager_process = TRUE; - /* Known to cause a possible deadlock upon GDBus initialization: - * https://bugzilla.gnome.org/show_bug.cgi?id=674885 */ - g_type_ensure(G_TYPE_SOCKET); - g_type_ensure(G_TYPE_DBUS_CONNECTION); - g_type_ensure(NM_TYPE_DBUS_MANAGER); - /* we determine a first-start (contrary to a restart during the same boot) * based on the existence of NM_CONFIG_DEVICE_STATE_DIR directory. */ config_cli = nm_config_cmd_line_options_new( @@ -328,6 +322,12 @@ main(int argc, char *argv[]) exit(result); } + /* Known to cause a possible deadlock upon GDBus initialization: + * https://bugzilla.gnome.org/show_bug.cgi?id=674885 */ + g_type_ensure(G_TYPE_SOCKET); + g_type_ensure(G_TYPE_DBUS_CONNECTION); + g_type_ensure(NM_TYPE_DBUS_MANAGER); + nm_main_utils_ensure_not_running_pidfile(global_opt.pidfile); nm_main_utils_ensure_statedir();