Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH BlueZ] client: Handle system bus connection failures
@ 2026-10-08 18:13 Gabriel Berfield
  2026-10-08 22:42 ` [BlueZ] " bluez.test.bot
  0 siblings, 1 reply; 2+ messages in thread
From: Gabriel Berfield @ 2026-10-08 18:13 UTC (permalink / raw)
  To: linux-bluetooth

Report the system-bus connection error and exit before attaching the
object manager when the connection is unavailable. This avoids a libdbus
assertion abort in restricted environments and releases the initialized
shell state on failure.

Fixes: 8a05f2b1ac91 ("client: Add initial parts for the command line client")
Link: https://github.com/bluez/bluez/issues/2446
Assisted-by: Codex:GPT-6
---
This is a current-master submission for the already reported issue #2446.
Related original submission:
https://lore.kernel.org/linux-bluetooth/20260828-master-v1-1-4810753bb693%40gmail.com/

Base: 866b0b8b162f52fa8a5452d2017093806ba1b570.
Validation: client built; all 35 make check programs passed; checkpatch
reported zero errors and warnings. With core dumps disabled, an unavailable
D-Bus address aborts the unpatched client but the candidate exits 1 with the
connection error. A read-only query against the live system bus exits 0.

This only handles client startup failure. It makes no claim about mouse
idle reconnects. Preparation and tests used Codex/GPT-6 assistance.

 client/main.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/client/main.c b/client/main.c
index f5fdd7d12..fff75056e 100644
--- a/client/main.c
+++ b/client/main.c
@@ -4203,6 +4203,7 @@ static bool timeout_quit(void *user_data)
 int main(int argc, char *argv[])
 {
 	GDBusClient *client;
+	DBusError error;
 	int status;
 	int timeout;
 	unsigned int timeout_id;
@@ -4234,7 +4235,18 @@ int main(int argc, char *argv[])
 	else
 		auto_register_agent = g_strdup("");

-	dbus_conn = g_dbus_setup_bus(DBUS_BUS_SYSTEM, NULL, NULL);
+	dbus_error_init(&error);
+	dbus_conn = g_dbus_setup_bus(DBUS_BUS_SYSTEM, NULL, &error);
+	if (!dbus_conn) {
+		fprintf(stderr, "Failed to connect to system D-Bus: %s\n",
+			error.message ? error.message : "unavailable");
+		dbus_error_free(&error);
+		g_free(auto_register_agent);
+		bt_shell_cleanup();
+		return EXIT_FAILURE;
+	}
+
+	dbus_error_free(&error);
 	g_dbus_attach_object_manager(dbus_conn);
 	cs_set_dbus_conn(dbus_conn);

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* RE: [BlueZ] client: Handle system bus connection failures
  2026-10-08 18:13 [PATCH BlueZ] client: Handle system bus connection failures Gabriel Berfield
@ 2026-10-08 22:42 ` bluez.test.bot
  0 siblings, 0 replies; 2+ messages in thread
From: bluez.test.bot @ 2026-10-08 22:42 UTC (permalink / raw)
  To: linux-bluetooth, gabriel.berfield

[-- Attachment #1: Type: text/plain, Size: 858 bytes --]

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/series/1181803/

---Test result---

Test Summary:
CheckPatch                    PASS      0.50 seconds
GitLint                       PASS      0.32 seconds
BuildEll                      PASS      19.49 seconds
BluezMake                     PASS      372.05 seconds
CheckSmatch                   PASS      292.07 seconds
bluezmakeextell               PASS      94.27 seconds
TestFunctional                PASS      1166.02 seconds
IncrementalBuild              PASS      377.97 seconds
ScanBuild                     PASS      1160.25 seconds



https://github.com/bluez/bluez/pull/2638

---
Regards,
Linux Bluetooth


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-10-08 22:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-08 18:13 [PATCH BlueZ] client: Handle system bus connection failures Gabriel Berfield
2026-10-08 22:42 ` [BlueZ] " bluez.test.bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox