kernel traps

René J.V. Bertin rjvbertin at gmail.com
Fri Jul 1 18:50:31 UTC 2016


On Friday July 01 2016 18:28:44 Simon McVittie wrote:

>You haven't given any indication that I could see about what
>distribution you're using, but you should probably look into how your

This is all based on Kubuntu 14.04.4.

>distribution starts graphical login sessions and whether there is a way
>you can ensure that these environment variables are already set *before*
>dbus-daemon comes up, for example /etc/X11/Xsession.d/ on Debian (and
>its derivatives like Ubuntu), or ~/.profile and
>/etc/X11/xinit/xinitrc.d/ on Red Hat derivatives.

Good call, I'll try to figure out where the XDG_* variables are set. I've been told it shoud be enough to set the additional paths in KDE's environment hooks, but if I added a session-local.conf file that's exactly because using that KDE hook wasn't enough, reliably.

But: if this doesn't happen when I don't tell dbus about /opt/local at all (and/or /opt/local isn't available), how could XDG_DATA_DIRS not being set to *include* /opt/local/share early enough lead to the kind of issue I'm seeing?


>getting a backtrace from the crashing processes, probably via getting a
>core dump using something like corekeeper or systemd-coredump.

Turns out apport had been saving files that contain a coredump, which allowed me to find this:

```
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/lib/gvfs/gvfsd-http --spawner :1.6 /org/gtk/gvfs/exec_spaw/0'.
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0  g_logv (log_domain=0x7fbd03dc5a78 "GLib-GIO", log_level=G_LOG_LEVEL_ERROR, format=<optimized out>, 
    args=args at entry=0x7ffc558aeb98) at /build/buildd/glib2.0-2.40.2/./glib/gmessages.c:1038
1038    /build/buildd/glib2.0-2.40.2/./glib/gmessages.c: No such file or directory.
(gdb) bt
#0  g_logv (log_domain=0x7fbd03dc5a78 "GLib-GIO", log_level=G_LOG_LEVEL_ERROR, format=<optimized out>, 
    args=args at entry=0x7ffc558aeb98) at /build/buildd/glib2.0-2.40.2/./glib/gmessages.c:1038
#1  0x00007fbd037c2d72 in g_log (log_domain=log_domain at entry=0x7fbd03dc5a78 "GLib-GIO", 
    log_level=log_level at entry=G_LOG_LEVEL_ERROR, 
    format=format at entry=0x7fbd03de4ef8 "No GSettings schemas are installed on the system")
    at /build/buildd/glib2.0-2.40.2/./glib/gmessages.c:1071
#2  0x00007fbd03d82a93 in g_settings_set_property (object=0x217c480, prop_id=<optimized out>, 
    value=<optimized out>, pspec=<optimized out>) at /build/buildd/glib2.0-2.40.2/./gio/gsettings.c:476
#3  0x00007fbd03a90789 in object_set_property (nqueue=0x218e280, value=<optimized out>, pspec=0x2188b80, 
    object=0x217c480) at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1378
#4  g_object_new_internal (class=class at entry=0x21971f0, params=params at entry=0x7ffc558aee20, n_params=1)
    at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1757
#5  0x00007fbd03a924c4 in g_object_new_valist (object_type=object_type at entry=35221792, 
    first_property_name=first_property_name at entry=0x7fbd03de5a4f "schema-id", 
    var_args=var_args at entry=0x7ffc558aef78) at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1980
#6  0x00007fbd03a928a4 in g_object_new (object_type=35221792, first_property_name=0x7fbd03de5a4f "schema-id")
    at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1571
#7  0x00007fbcfb0d30c6 in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libgiognomeproxy.so
#8  0x00007fbd03aabe3b in g_type_create_instance (type=<optimized out>)
    at /build/buildd/glib2.0-2.40.2/./gobject/gtype.c:1868
#9  0x00007fbd03a90355 in g_object_new_internal (class=class at entry=0x2195e40, params=params at entry=0x0, 
    n_params=n_params at entry=0) at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1724
#10 0x00007fbd03a9210d in g_object_newv (object_type=object_type at entry=35208096, n_parameters=n_parameters at entry=0, 
    parameters=parameters at entry=0x0) at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1868
#11 0x00007fbd03a928bc in g_object_new (object_type=object_type at entry=35208096, 
    first_property_name=first_property_name at entry=0x0) at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1568
#12 0x00007fbd03d2a291 in try_implementation (extension=<optimized out>, 
    verify_func=verify_func at entry=0x7fbd03d39040 <g_proxy_resolver_is_supported>)
    at /build/buildd/glib2.0-2.40.2/./gio/giomodule.c:758
#13 0x00007fbd03d2a410 in _g_io_module_get_default (extension_point=0x7fbd03dc8464 "gio-proxy-resolver", 
    envvar=0x7fbd03dd21b6 "GIO_USE_PROXY_RESOLVER", verify_func=0x7fbd03d39040 <g_proxy_resolver_is_supported>)
    at /build/buildd/glib2.0-2.40.2/./gio/giomodule.c:857
#14 0x00007fbd0409fc8d in ?? () from /usr/lib/x86_64-linux-gnu/libsoup-2.4.so.1
#15 0x00007fbd03a9038a in g_object_new_internal (class=class at entry=0x218f7a0, params=params at entry=0x0, 
    n_params=n_params at entry=0) at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1763
#16 0x00007fbd03a9210d in g_object_newv (object_type=object_type at entry=35190288, n_parameters=n_parameters at entry=0, 
    parameters=parameters at entry=0x0) at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1868
#17 0x00007fbd03a928bc in g_object_new (object_type=35190288, first_property_name=0x0)
    at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1568
#18 0x0000000000404f25 in ?? ()
#19 0x00007fbd03aabe3b in g_type_create_instance (type=<optimized out>)
    at /build/buildd/glib2.0-2.40.2/./gobject/gtype.c:1868
#20 0x00007fbd03a8ff38 in g_object_constructor (type=<optimized out>, n_construct_properties=2, 
    construct_params=0x21804e0) at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:2006
#21 0x00007fbd04545348 in ?? () from /usr/lib/x86_64-linux-gnu/gvfs/libgvfsdaemon.so
#22 0x00007fbd03a902e4 in g_object_new_with_custom_constructor (n_params=2, params=0x7ffc558af9d0, class=0x2187740)
    at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1645
#23 g_object_new_internal (class=class at entry=0x2187740, params=params at entry=0x7ffc558af9d0, n_params=2)
    at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1722
#24 0x00007fbd03a924c4 in g_object_new_valist (object_type=object_type at entry=35100176, 
    first_property_name=first_property_name at entry=0x7fbd04553302 "daemon", var_args=var_args at entry=0x7ffc558afb28)
    at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1980
---Type <return> to continue, or q <return> to quit---
#25 0x00007fbd03a928a4 in g_object_new (object_type=35100176, first_property_name=0x7fbd04553302 "daemon")
    at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1571
#26 0x00007fbd04544295 in g_vfs_daemon_initiate_mount () from /usr/lib/x86_64-linux-gnu/gvfs/libgvfsdaemon.so
#27 0x00007fbd045443a5 in ?? () from /usr/lib/x86_64-linux-gnu/gvfs/libgvfsdaemon.so
#28 0x00007fbd01e71adc in ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#29 0x00007fbd01e7140c in ffi_call () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#30 0x00007fbd03a8bbf8 in g_cclosure_marshal_generic (closure=0x2181270, return_gvalue=0x7ffc558b0010, 
    n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=0x0)
    at /build/buildd/glib2.0-2.40.2/./gobject/gclosure.c:1445
#31 0x00007fbd03a8b3b8 in g_closure_invoke (closure=0x2181270, return_value=0x7ffc558b0010, n_param_values=5, 
    param_values=0x2182550, invocation_hint=0x7ffc558b0060) at /build/buildd/glib2.0-2.40.2/./gobject/gclosure.c:768
#32 0x00007fbd03a9cd3d in signal_emit_unlocked_R (node=node at entry=0x21810d0, detail=detail at entry=0, 
    instance=instance at entry=0x216db50, emission_return=emission_return at entry=0x7ffc558b0180, 
    instance_and_params=instance_and_params at entry=0x2182550)
    at /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:3551
#33 0x00007fbd03aa3bf1 in g_signal_emitv (instance_and_params=0x2182550, signal_id=<optimized out>, detail=0, 
    return_value=0x7ffc558b0180) at /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:3045
#34 0x00007fbd0431db91 in ?? () from /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so
#35 0x00007fbd03dab9a6 in g_dbus_interface_method_dispatch_helper (invocation=0x217b6a0, 
    method_call_func=0x7fbd0431d9e0, interface=0x216db50)
    at /build/buildd/glib2.0-2.40.2/./gio/gdbusinterfaceskeleton.c:609
#36 skeleton_intercept_handle_method_call (connection=<optimized out>, sender=<optimized out>, 
    object_path=<optimized out>, interface_name=<optimized out>, method_name=<optimized out>, 
    parameters=<optimized out>, invocation=0x217b6a0, user_data=0x216db50)
    at /build/buildd/glib2.0-2.40.2/./gio/gdbusinterfaceskeleton.c:650
#37 0x00007fbd03d94301 in call_in_idle_cb (user_data=0x217b6a0)
    at /build/buildd/glib2.0-2.40.2/./gio/gdbusconnection.c:4875
#38 0x00007fbd037bbce5 in g_main_dispatch (context=0x2170180) at /build/buildd/glib2.0-2.40.2/./glib/gmain.c:3064
#39 g_main_context_dispatch (context=context at entry=0x2170180) at /build/buildd/glib2.0-2.40.2/./glib/gmain.c:3663
#40 0x00007fbd037bc048 in g_main_context_iterate (context=0x2170180, block=block at entry=1, 
    dispatch=dispatch at entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.40.2/./glib/gmain.c:3734
#41 0x00007fbd037bc30a in g_main_loop_run (loop=0x217a300) at /build/buildd/glib2.0-2.40.2/./glib/gmain.c:3928
```

"No GSettings schemas are installed on the system" is surprising, because even with /opt/local mounted I get a healthy list of schemas with `gsettings list-schemas`.

>> A slightly more informative log entry:
>> Jul  1 11:17:39 Bola kernel: [54332.688525] gsettings[22645]: segfault at 20 ip 00007f469016ff53 sp 00007ffcde1eb848 error 6 in libgio-2.0.so.0.4002.0[7f46900bd000+16c000]

>That's a different error, but the same debugging steps apply: nobody is
>going to be able to help you to debug this without a backtrace.

I'm less sure about the .crash file I had for gsettings, but it shows this:

Core was generated by `gsettings get org.gnome.desktop.interface toolkit-accessibility'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  g_settings_schema_source_ref (source=0x0) at /build/buildd/glib2.0-2.40.2/./gio/gsettingsschema.c:203
203     /build/buildd/glib2.0-2.40.2/./gio/gsettingsschema.c: No such file or directory.
(gdb) bt
#0  g_settings_schema_source_ref (source=0x0) at /build/buildd/glib2.0-2.40.2/./gio/gsettingsschema.c:203
#1  0x0000000000401c4e in main (argc=4, argv=0x7ffe61b05bf8)
    at /build/buildd/glib2.0-2.40.2/./gio/gsettings-tool.c:695

I don't have the glib source at hand and am not familiar with it anyway, so I cannot say if g_settings_schema_source_ref is supposed to handle a null argument or not. But evidently the command in question (`gsettings get org.gnome.desktop.interface toolkit-accessibility`) completes without any problem once I'm logged in and have mounted /opt/local.

Another mystery: /opt/local/share/dbus-1/services only contains KF5 services. Since all of my KF5 software is in /opt/local it isn't supposed to be started at login. There are a few KDE4/KF5 duplicates, esp. in /opt/local/share/dbus-1/system-services that also exist in /usr/share/dbus-1 . They probably shouldn't be there.

>you've essentially made your own mini-distribution, so to some extent
>you *are* the vendor.

Yeah, exactly.

R


More information about the dbus mailing list