Bug#744763: gnome-terminal: GLib-GIO-CRITICAL messages from gnome-terminal-server

Dominique Brazziel dbrazziel at snet.net
Mon Apr 14 13:32:28 UTC 2014


Package: gnome-terminal
Version: 3.10.1-1
Severity: normal

Dear Maintainer,

    Following the following libglib2.0-0 upgrade to my testing system
on 4/10/14

[UPGRADE] libglib2.0-0:i386 2.38.2-5 -> 2.40.0-2

every time a new terminal window or tab is opened 
messages of the following type are sent to the message log:

(gnome-terminal-server:3575): GLib-GIO-CRITICAL **: g_settings_get: the format string may not contain '&' 
(key 'title' from schema 'org.gnome.Terminal.Legacy.Profile'). 
This call will probably stop working with a future version of glib.

The 'key' in the message has also been seen to be 'monospace-font-name',
'font', and other gsettings keys pertaining to initializing a new terminal
instance.  I think the glib fix which triggered this behavior is this one
(from the libglib2.0-0 changelog):


commit 0f1579e62cded436c3fbfbeaf3130c8d8ffcb01c
Author:     Lars Uebernickel <lars at uebernic.de>
AuthorDate: Sun Dec 8 17:30:33 2013 +0100
Commit:     Lars Uebernickel <lars at uebernic.de>
CommitDate: Mon Dec 9 15:51:56 2013 +0100

    g_settings_get: only check for non-copying format string

    396d40af introduced a redundant call to
    g_variant_check_format_string().
    Checking whether the format string copies all values is enough.

    https://bugzilla.gnome.org/show_bug.cgi?id=719979

 gio/gsettings.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


>From the bugzilla bug listed, we see:

g_settings_get: check validity of format string

Allow only format strings that copy all values (i.e, don't contain '&'),
as the returned pointers might become invalid in some rare cases.

<* snip *>


    From a quick scan for 'g_settings_get' in the gnome-terminal source
we find the following calls using format string "&s":

grep -r 'g_settings_get (' *
src/terminal-prefs.c:  g_settings_get (profile, TERMINAL_PROFILE_VISIBLE_NAME_KEY, "&s", &text);
src/terminal-prefs.c:  g_settings_get (selected_profile, TERMINAL_PROFILE_VISIBLE_NAME_KEY, "&s", &name);
src/migration.c:  g_settings_get (settings, TERMINAL_PROFILE_VISIBLE_NAME_KEY, "&s", &name);
src/terminal-window.c:  g_settings_get (profile, TERMINAL_PROFILE_VISIBLE_NAME_KEY, "&s", &visible_name);
src/terminal-app.c:  g_settings_get (settings, key, "^a&s", &encodings);
src/terminal-app.c:  g_settings_get (app->desktop_interface_settings, MONOSPACE_FONT_KEY_NAME, "&s", &font);
src/terminal-util.c:  g_settings_get (child_settings, "host", "&s", &host);
src/terminal-util.c:      g_settings_get (child_settings, "authentication-user", "&s", &user);
src/terminal-util.c:          g_settings_get (child_settings, "authentication-password", "&s", &password);
src/terminal-util.c:  g_settings_get (proxy_settings, "autoconfig-url", "&s", &url);
src/terminal-util.c:  g_settings_get (proxy_settings, "ignore-hosts", "^a&s", &ignore);
src/terminal-screen.c:    g_settings_get (priv->profile, TERMINAL_PROFILE_TITLE_KEY, "&s", &static_title);
src/terminal-screen.c:      g_settings_get (profile, TERMINAL_PROFILE_ENCODING, "&s", &str);
src/terminal-screen.c:      g_settings_get (profile, TERMINAL_PROFILE_WORD_CHARS_KEY, "&s", &string);
src/terminal-screen.c:      g_settings_get (profile, TERMINAL_PROFILE_FONT_KEY, "&s", &font);
src/terminal-screen.c:      g_settings_get (profile, TERMINAL_PROFILE_CUSTOM_COMMAND_KEY, "&s", &argv_str);
src/terminal-screen.c:  g_settings_get (priv->profile, TERMINAL_PROFILE_NAME_KEY, "&s", &profile_id);
src/terminal-profiles-list.c:  g_settings_get (a, TERMINAL_PROFILE_VISIBLE_NAME_KEY, "&s", &na);
src/terminal-profiles-list.c:  g_settings_get (b, TERMINAL_PROFILE_VISIBLE_NAME_KEY, "&s", &nb);

Perhaps 's/"&s"/"s"/' would fix this?










-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 3.13-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gnome-terminal depends on:
ii  dconf-gsettings-backend [gsettings-backend]  0.18.0-1
ii  gconf-service                                3.2.6-2
ii  gnome-terminal-data                          3.10.1-1
ii  gsettings-desktop-schemas                    3.8.2-2
ii  libatk1.0-0                                  2.12.0-1
ii  libc6                                        2.18-4
ii  libdconf1                                    0.18.0-1
ii  libgconf-2-4                                 3.2.6-2
ii  libglib2.0-0                                 2.40.0-2
ii  libgtk-3-0                                   3.12.0-4
ii  libpango-1.0-0                               1.36.3-1
ii  libuuid1                                     2.20.1-5.7
ii  libvte-2.90-9                                1:0.34.9-1
ii  libx11-6                                     2:1.6.2-1

Versions of packages gnome-terminal recommends:
ii  dbus-x11  1.8.0-3
ii  gvfs      1.20.0-1+b1
ii  yelp      3.12.0-1

gnome-terminal suggests no packages.

-- no debconf information



More information about the pkg-gnome-maintainers mailing list