Bugzilla – Bug 648558
yast sw module crashes from root console
Last modified: 2011-01-15 22:55:40 UTC
When yast sw module is run from within a root console, it crashes: # /sbin/yast2 sw_single ** GLib-GIO:ERROR:gdbusconnection.c:2152:initable_init: assertion failed: (connection->initialization_error == NULL) YaST got signal 6 at YCP file Wizard.ycp:707 /sbin/yast2: line 399: 27062 Aborted $ybindir/y2base $module "$@" "$SELECTED_GUI" $Y2_GEOMETRY $Y2UI_ARGS # gdb --args /usr/lib/YaST2/bin/y2base sw_single qt #0 0x00007ffff5562965 in raise () from /lib64/libc.so.6 No symbol table info available. #1 0x00007ffff5563e66 in abort () from /lib64/libc.so.6 No symbol table info available. #2 0x00007fffe80b3f34 in g_assertion_message (domain=<value optimized out>, file=<value optimized out>, line=<value optimized out>, func=0x7fffe4f4924d "initable_init", message=0x14e57b0 "assertion failed: (connection->initialization_error == NULL)") at gtestutils.c:1358 lstr = "2152\000\177\000\000\070Q\005\350\377\177\000\000I\200p\366\000\000\000\000\060\210\364\344\377\177\000" s = 0x14e27e0 "" #3 0x00007fffe80b44d0 in g_assertion_message_expr (domain=0x7fffe4f2e081 "GLib-GIO", file=0x7fffe4f47099 "gdbusconnection.c", line=2152, func=0x7fffe4f4924d "initable_init", expr=<value optimized out>) at gtestutils.c:1369 s = 0x0 #4 0x00007fffe4f02d4d in initable_init (initable=<value optimized out>, cancellable=0x0, error=0x7fffe60a8ce0) at gdbusconnection.c:2152 connection = 0x1440810 ret = 0 __PRETTY_FUNCTION__ = "initable_init" #5 0x00007fffe4f03591 in g_bus_get_sync (bus_type=<value optimized out>, cancellable=0x0, error=0x7fffe60a8ce0) at gdbusconnection.c:6121 connection = 0x1440810 __PRETTY_FUNCTION__ = "g_bus_get_sync" #6 0x00007fffe519513d in ?? () from /usr/lib64/libgconf-2.so.4 No symbol table info available. #7 0x00007fffe51953d2 in gconf_activate_server () from /usr/lib64/libgconf-2.so.4 No symbol table info available. #8 0x00007fffe519ee34 in ?? () from /usr/lib64/libgconf-2.so.4 No symbol table info available. #9 0x00007fffe519f532 in ?? () from /usr/lib64/libgconf-2.so.4 No symbol table info available. #10 0x00007fffe519f931 in ?? () from /usr/lib64/libgconf-2.so.4 No symbol table info available. #11 0x00007fffe51a2932 in gconf_engine_get_fuller () from /usr/lib64/libgconf-2.so.4 No symbol table info available. #12 0x00007fffe51a2cdc in gconf_engine_get_entry () from /usr/lib64/libgconf-2.so.4 No symbol table info available. #13 0x00007fffe51a597e in ?? () from /usr/lib64/libgconf-2.so.4 No symbol table info available. #14 0x00007fffe51a801d in ?? () from /usr/lib64/libgconf-2.so.4 No symbol table info available. #15 0x00007fffe51a8613 in gconf_client_get_bool () from /usr/lib64/libgconf-2.so.4 No symbol table info available. #16 0x00007fffe8ff28ec in ?? () from /usr/lib64/libQtGui.so.4 No symbol table info available. #17 0x00007fffe8cf4351 in ?? () from /usr/lib64/libQtGui.so.4 No symbol table info available. #18 0x00007fffe8c7ff75 in QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) () from /usr/lib64/libQtGui.so.4 No symbol table info available. #19 0x00007fffe8c80861 in QApplication::QApplication(int&, char**, int) () from /usr/lib64/libQtGui.so.4 No symbol table info available. #20 0x00007fffe9c964de in YQUI::initUI() () from /usr/lib64/YaST2/plugin/libpy2qt.so.2 No symbol table info available. #21 0x00007fffe9c973f4 in YQUI::idleLoop(int) () from /usr/lib64/YaST2/plugin/libpy2qt.so.2 No symbol table info available. #22 0x00007ffff368644c in YUI::uiThreadMainLoop() () from /usr/lib64/libyui.so.3 No symbol table info available. #23 0x00007ffff36865ce in start_ui_thread(void*) () from /usr/lib64/libyui.so.3 No symbol table info available. #24 0x00007ffff6768a4f in start_thread () from /lib64/libpthread.so.0 No symbol table info available. #25 0x00007ffff56009fd in clone () from /lib64/libc.so.6 No symbol table info available. #26 0x0000000000000000 in ?? () No symbol table info available. #1 0x00007ffff5563e66 in abort () from /lib64/libc.so.6 #2 0x00007fffe80b3f34 in g_assertion_message (domain=<value optimized out>, file=<value optimized out>, line=<value optimized out>, func=0x7fffe4f4924d "initable_init", message=0x14e57b0 "assertion failed: (connection->initialization_error == NULL)") at gtestutils.c:1358 1358 gtestutils.c: Adresář nebo soubor neexistuje. in gtestutils.c
Could you please run qtconfig as user root and switch the GUI Style to Plastique. Does then the issue this occur?
Oops, qtconfig crashes too: #2 0x00007fffe80b3f34 in g_assertion_message (domain=<value optimized out>, file=<value optimized out>, line=<value optimized out>, func=0x7fffe4f4924d "initable_init", message=0x14e57b0 "assertion failed: (connection->initialization_error == NULL)") at gtestutils.c:1358 lstr = "2152\000\177\000\000\070Q\005\350\377\177\000\000I\200p\366\000\000\000\000\060\210\364\344\377\177\000" s = 0x14e27e0 "" #3 0x00007fffe80b44d0 in g_assertion_message_expr (domain=0x7fffe4f2e081 "GLib-GIO", file=0x7fffe4f47099 "gdbusconnection.c", line=2152, func=0x7fffe4f4924d "initable_init", expr=<value optimized out>) at gtestutils.c:1369 s = 0x0 #4 0x00007fffe4f02d4d in initable_init (initable=<value optimized out>, cancellable=0x0, error=0x7fffe60a8ce0) at gdbusconnection.c:2152 connection = 0x1440810 ret = 0 __PRETTY_FUNCTION__ = "initable_init" #5 0x00007fffe4f03591 in g_bus_get_sync (bus_type=<value optimized out>, cancellable=0x0, error=0x7fffe60a8ce0) at gdbusconnection.c:6121 connection = 0x1440810 __PRETTY_FUNCTION__ = "g_bus_get_sync" These are dot directories in ~root: # ls -d .*/ -1 ../ ./ .cgdb/ .config/ .dbus/ .gconf/ .gconfd/ .gnupg/ .kbd/ .lftp/ .links/ .local/ .mcop/ .mplayer/ .pulse/ .rcc/ .ssh/ .texmf-config/ .texmf-var/ .tgdb/ .wireshark/ Should I delete some?
It seems YaST isn't involved at all.
It is a problem in glib, when DBUS_SESSION_BUS_ADDRESS is set to bus of another user an assertion in initable_init in gio/gdbusconnection.c fails aborting the whole program. This does not only affect YaST but any application using DBus via glib. I suspect http://git.gnome.org/browse/glib/commit/?id=aab6d9ed1c54f215838da7939a97e33d46d94036 introduced this behavior but haven't fully investigated it. As a workaround unset DBUS_SESSION_BUS_ADDRESS after su'ing to root (this only happens when not using a login shell and the environment of the previous user is preserved).
This probably warrants a new bugreport but for now I'll reassign to GNOME since glib shouldn't abort on an invalid DBUS_SESSION_BUS_ADDRESS value.
*** Bug 643374 has been marked as a duplicate of this bug. ***
(In reply to comment #4) > As a workaround unset DBUS_SESSION_BUS_ADDRESS Yes, this works. Thanks.
Created a separate bug. *** This bug has been marked as a duplicate of bug 655751 ***
Become super user first with 'su -' or 'su -l' does next start the applications correctly afterwards. Tested in 11.4 x86_64 Milestone 5/Gnome 2.32.1