GNOME Bugzilla – Bug 696457
gnome-ostree build broken by 3a9de35a6cefddc09aaf000e523f3435a955a5e7 (probably)
Last modified: 2013-05-12 14:14:28 UTC
Pretty sure it's that commit which broke with these symptoms: g-ir-scanner: link: /bin/sh ../libtool --mode=link --tag=CC gcc -o /ostbuild/source/gtk3/_build/gtk/tmp-introspectSdukQA/Gtk-3.0 -export-dynamic -O2 -g -m64 -mtune=generic -Wall /ostbuild/source/gtk3/_build/gtk/tmp-introspectSdukQA/Gtk-3.0.o -L. libgtk-3.la ../gdk/libgdk-3.la -Wl,--export-dynamic -pthread -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lrt -lglib-2.0 libtool: link: gcc -o /ostbuild/source/gtk3/_build/gtk/tmp-introspectSdukQA/.libs/Gtk-3.0 -O2 -g -m64 -mtune=generic -Wall /ostbuild/source/gtk3/_build/gtk/tmp-introspectSdukQA/Gtk-3.0.o -Wl,--export-dynamic -pthread -Wl,--export-dynamic -L. ./.libs/libgtk-3.so /ostbuild/source/gtk3/_build/gdk/.libs/libgdk-3.so -latk-1.0 -latk-bridge-2.0 ../gdk/.libs/libgdk-3.so -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lXinerama -lXi -lXrandr -lXcomposite -lXdamage -lXfixes -lcairo -lX11 -lXext -lpangoft2-1.0 -lpango-1.0 -lfreetype -lfontconfig -lm -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lrt -lglib-2.0 -pthread (process:31027): Gdk-ERROR **: No GDK backend found (*) Command '['/ostbuild/source/gtk3/_build/gtk/tmp-introspectSdukQA/Gtk-3.0', '--introspect-dump=/ostbuild/source/gtk3/_build/gtk/tmp-introspectSdukQA/functions.txt,/ostbuild/source/gtk3/_build/gtk/tmp-introspectSdukQA/dump.xml']' returned non-zero exit status -5 What's almost certainly going on here is that the builder doesn't have DISPLAY set (and I'm not going to do so). We need to fix the part of GDK that's trying to find a backend during introspection dumping.
Stack trace: Program received signal SIGTRAP, Trace/breakpoint trap. g_logv (log_domain=0x7ffff74a60e6 "Gdk", log_level=G_LOG_LEVEL_ERROR, format=<optimized out>, args=args@entry=0x7fffffffd308) at ../../glib/gmessages.c:981 981 ../../glib/gmessages.c: No such file or directory. (gdb) bt
+ Trace 231676
A few possible solutions, from least to most invasive: * Change gdk_keyval_convert_case() to directly invoke _gdk_display_manager_real_keyval_convert_case() if there's no display manager. * Change gtkbinding to wait until an instance of the class is initialized * Change all widgets to use GOnce for binding sets instead of doing it in class init
Created attachment 239636 [details] [review] 0001-gdkkeys-Avoid-instantiating-a-display-manager-if-non.patch
Created attachment 239637 [details] [review] 0002-gtktoolpalette-Only-call-gdk_atom_intern-when-we-re-.patch
Review of attachment 239636 [details] [review]: This one looks ok to me for now. Really, the backend-specific case conversion is crack and should just go away. We should verify that _gdk_display_manager_real_keyval_convert_case does the right thing for all keysyms, and drop the vfunc.
Review of attachment 239637 [details] [review]: ok
FYI: I see this same build failure (currently in evince and glade) when building against gtk 3.9.0, which already contains the two patches linked here. A full build log is available at: https://build.opensuse.org/package/live_build_log?arch=x86_64&package=evince&project=GNOME%3AFactory&repository=openSUSE_Factory
I'm reopening the bug... as the actual cause seems not fixed. A stack trace from g-ir-scanner run while building glade: (gdb) bt #0 0x00007ffff70c21bd in g_logv () from /usr/lib64/libglib-2.0.so.0 #1 0x00007ffff70c2382 in g_log () from /usr/lib64/libglib-2.0.so.0 #2 0x00007ffff60df45f in gdk_display_manager_get () from /usr/lib64/libgdk-3.so.0 #3 0x00007ffff60df559 in gdk_display_get_default () from /usr/lib64/libgdk-3.so.0 #4 0x00007ffff657fae3 in ?? () from /usr/lib64/libgtk-3.so.0 #5 0x00007ffff65c7430 in ?? () from /usr/lib64/libgtk-3.so.0 #6 0x00007ffff65c75bf in ?? () from /usr/lib64/libgtk-3.so.0 #7 0x00007ffff65c75dd in gtk_stock_list_ids () from /usr/lib64/libgtk-3.so.0 #8 0x00007ffff7bacff7 in list_stock_items (include_images=0) at glade-builtins.c:163 #9 0x00007ffff7bad3d1 in glade_standard_stock_get_type () at glade-builtins.c:271 #10 0x0000000000402d4d in invoke_get_type () #11 0x0000000000403b06 in dump_irepository () #12 0x0000000000403db1 in main (
for reference, this is the stack trace happening in evince build: (gdb) bt
+ Trace 231921
that stacktrace is entirely different from the one in comment #2. Please open a new bug (against glade) for this.
For reference: * filed bug 700165 for the evince failure * filed bug 700166 for the glade failure (preferably, this is likely to be addressed in a common place, where everybody can rely on the fix)
* and the same effect on rhythmbox: bug 700177 (noting here, as the only thing different to all those issues is that gtk was updated to 3.9; so the underlying cause is the same for all of those failures)