Bug#631968: aborts on start (GNU/kFreeBSD)

Simon McVittie smcv at debian.org
Thu Jul 5 00:05:21 UTC 2012


On Tue, 28 Jun 2011 at 20:31:55 +0200, Robert Millan wrote:
> gnome-terminal aborts on start, with unknown signal

Are you sure it's aborting (as in SIGABRT), and not just exiting
unsuccessfully?

> >   /* Couldn't get the connection? No way to continue! */
> >   if (connection == NULL) {
> >     data->exit_code = EXIT_FAILURE;
> >     gtk_main_quit ();
> >     return;
> >   }

Since gnome-terminal now uses D-Bus for single-instance, it's not
altogether unexpected that it doesn't proceed in the absence of a
D-Bus session.

That's an unhelpful implementation, though - it should complain to
stderr with g_printerr() before dying, or fall back to non-single-instance.

Sometime since GNOME 3.4 it seems to have been changed to use
g_printerr() if it can't connect to D-Bus, so that'll be fixed in GNOME 3.6.
The current development version has a purely client/server design -
/usr/bin/gnome-terminal just starts an instance of gnome-terminal-server,
which is the real GUI - so non-single-instance is no longer an option.

> Should I be able to run it standalone under xvfb-run?  Or do I need a
> full gnome desktop environment running to test this?

You don't need all of GNOME, but you do need a D-Bus session.
A Debian X session (running Xsession.d and a window manager) with dbus-x11
installed will give you a D-Bus session; or if you don't really have X
you can install dbus-x11 and xvfb, and try something like this:

    $ eval `dbus-launch --sh-syntax`
    $ xvfb-run gnome-terminal -e "mkdir /tmp/hello"
    $ echo $?
    0
    $ kill $DBUS_SESSION_BUS_PID
    $ ls -ld /tmp/hello
    drwxr-xr-x 2 smcv smcv 4096 Jul  5 00:35 /tmp/hello

(Running an interactive terminal non-interactively in a virtual framebuffer
is not very useful, which is why I'm using -e to give it a side-effect -
if it gets as far as executing mkdir, it's probably working right.)

Compare with its behaviour when unable to connect to D-Bus:

    $ rmdir /tmp/hello
    $ DBUS_SESSION_BUS_ADDRESS="broken:does_not=work"
    $ export DBUS_SESSION_BUS_ADDRESS
    $ xvfb-run gnome-terminal -e "mkdir /tmp/hello"
    $ echo $?
    1
    $ ls -ld /tmp/hello
    ls: cannot access /tmp/hello: No such file or directory

If kFreeBSD is consistent with that behaviour (I tested on Linux),
then this bug can be retitled to something like "exits silently when unable
to connect to D-Bus", downgraded, and tagged fixed-upstream.

Regards,
    S





More information about the pkg-gnome-maintainers mailing list