2019-09-27 12:30:03 |
Tuure Laurinolli |
description |
When starting up certain (GTK?) applications from console in a custom X session, such as emacs or ubuntu-bug, there is a lot of log output like:
"""
** (emacs:4437): WARNING **: 15:05:10.026: AT-SPI: Could not obtain desktop path or name
"""
or
"""
** (apport-gtk:175957): WARNING **: 15:16:16.747: AT-SPI: Could not obtain desktop path or name
"""
The issue seems to be related to at-spi2-atk, or at least that's where the code that prints the error is:
In register_reply in bridge.c:
if (reply)
{
gchar *app_name, *obj_path;
if (strcmp (dbus_message_get_signature (reply), "(so)") != 0)
{
g_warning ("AT-SPI: Could not obtain desktop path or name\n");
}
Which seems to be triggered by an attempt to register the application to ATK:
static gboolean
register_application (SpiBridge * app)
{
DBusMessage *message;
DBusMessageIter iter;
DBusPendingCall *pending;
g_free (app->desktop_name);
g_free (app->desktop_path);
/* These will be overridden when we get a reply, but in practice these
defaults should always be correct */
app->desktop_name = g_strdup (ATSPI_DBUS_NAME_REGISTRY);
app->desktop_path = g_strdup (ATSPI_DBUS_PATH_ROOT);
message = dbus_message_new_method_call (SPI_DBUS_NAME_REGISTRY,
ATSPI_DBUS_PATH_ROOT,
ATSPI_DBUS_INTERFACE_SOCKET,
"Embed");
dbus_message_iter_init_append (message, &iter);
spi_object_append_reference (&iter, app->root);
if (!dbus_connection_send_with_reply (app->bus, message, &pending, -1)
|| !pending)
{
if (pending)
dbus_pending_call_unref (pending);
dbus_message_unref (message);
return FALSE;
}
dbus_pending_call_set_notify (pending, register_reply, app, NULL);
It seems to be caused by nobody being available at the ATSPI_DBUS_PATH_ROOT to handle the message. I have not yet been able to figure out what *should* be handling the message. |
When starting up certain (GTK?) applications from console in a custom X session, such as emacs or ubuntu-bug, there is a lot of log output like:
"""
** (emacs:4437): WARNING **: 15:05:10.026: AT-SPI: Could not obtain desktop path or name
"""
or
"""
** (apport-gtk:175957): WARNING **: 15:16:16.747: AT-SPI: Could not obtain desktop path or name
"""
The issue seems to be related to at-spi2-atk, or at least that's where the code that prints the error is:
In register_reply in bridge.c:
if (reply)
{
gchar *app_name, *obj_path;
if (strcmp (dbus_message_get_signature (reply), "(so)") != 0)
{
g_warning ("AT-SPI: Could not obtain desktop path or name\n");
}
Which seems to be triggered by an attempt to register the application to ATK:
static gboolean
register_application (SpiBridge * app)
{
DBusMessage *message;
DBusMessageIter iter;
DBusPendingCall *pending;
g_free (app->desktop_name);
g_free (app->desktop_path);
/* These will be overridden when we get a reply, but in practice these
defaults should always be correct */
app->desktop_name = g_strdup (ATSPI_DBUS_NAME_REGISTRY);
app->desktop_path = g_strdup (ATSPI_DBUS_PATH_ROOT);
message = dbus_message_new_method_call (SPI_DBUS_NAME_REGISTRY,
ATSPI_DBUS_PATH_ROOT,
ATSPI_DBUS_INTERFACE_SOCKET,
"Embed");
dbus_message_iter_init_append (message, &iter);
spi_object_append_reference (&iter, app->root);
if (!dbus_connection_send_with_reply (app->bus, message, &pending, -1)
|| !pending)
{
if (pending)
dbus_pending_call_unref (pending);
dbus_message_unref (message);
return FALSE;
}
dbus_pending_call_set_notify (pending, register_reply, app, NULL);
It seems to be caused by nobody being available at the ATSPI_DBUS_PATH_ROOT to handle the message. I have not yet been able to figure out what *should* be handling the message. |
|