Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 197307 - x11-base/xorg-server-1.4-r2 - running multiple X servers crash in libdbus
Summary: x11-base/xorg-server-1.4-r2 - running multiple X servers crash in libdbus
Status: RESOLVED DUPLICATE of bug 191822
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: All Linux
: High critical (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-28 16:44 UTC by Robert Bradbury
Modified: 2007-11-02 06:34 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Bradbury 2007-10-28 16:44:26 UTC
Trying to start multiple X servers on multiple virtual terminals crashes X making the console unusable.  A single X server will work ok.

Reproducible: Always

Steps to Reproduce:
1. Exit /etc/X11/xdm/Xservers to multiple virtual terminals (e.g. :2, :3, etc.) are enabled.
2. Restart xdm.
Actual Results:  
X will crash leaving the console unusable.

The error is:

process 6898: arguments to dbus_connection_send_with_reply_and_block() were incorrect, assertion "(error) == NULL || !dbus_error_is_set ((error))" failed in file dbus-connection.c line 3171.
This is normally a bug in some application using the D-Bus library.
  /usr/lib/libdbus-1.so.3 [0xb7d5cc6e]
  /usr/lib/libdbus-1.so.3 [0xb7d5c146]
  /usr/lib/libdbus-1.so.3 [0xb7d50f01]
  /usr/lib/libdbus-1.so.3(dbus_connection_send_with_reply_and_block+0x1de) [0xb7d30149]
  /usr/lib/libdbus-1.so.3 [0xb7d25ef7]
  /usr/lib/libdbus-1.so.3(dbus_bus_add_match+0xdc) [0xb7d26174]
  /usr/bin/X [0x809ee00]
  /usr/bin/X [0x809ec80]
  /usr/bin/X [0x819e1ef]
  /usr/bin/X(WaitForSomething+0x64b) [0x819e92a]
  /usr/bin/X(Dispatch+0x82) [0x80862b3]
  /usr/bin/X(main+0x48f) [0x806e965]
  /lib/libc.so.6(__libc_start_main+0xe0) [0xb7bcd9a8]
  /usr/bin/X(FontFileCompleteXLFD+0xcd) [0x806dcf1]



Expected Results:  
Multiple X sessions should come up attached to different virtual terminals.

This is in x11-base/xorg-server-1.4-r2.

From:
http://lists.freedesktop.org/archives/xorg/2007-September/028041.html
the following patch should be applied.

I have tested this and it seems to correct the problem of being unable to start multiple X servers on multiple virtual terminals.

The code in connect_hook incorrectly checks for dbus_bus_request_name failure.
The dbus_bus_request_name error indicator is -1, not 0. This leads
to subsequent assertion failure in libdbus
---
 config/dbus.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/config/dbus.c b/config/dbus.c
index c6f4af0..7eabcb9 100644
--- a/config/dbus.c
+++ b/config/dbus.c
@@ -353,8 +353,10 @@ connect_hook(DBusConnection *connection, void *data)
 
     dbus_error_init(&error);
 
-    if (!dbus_bus_request_name(info->connection, info->busname,
-                               0, &error)) {
+    dbus_bus_request_name(info->connection, info->busname,
+                               0, &error);
+
+    if (dbus_error_is_set(&error)) {
         ErrorF("[config/dbus] couldn't take over org.x.config: %s (%s)\n",
                error.name, error.message);
         goto err_start;
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2007-10-28 16:51:13 UTC

*** This bug has been marked as a duplicate of bug 191822 ***