Re: kernel traps

René J.V. Bertin <[email protected]>
Newsgroups gmane.comp.freedesktop.dbus
Message-ID <1815168.1IQgjo6pjS@bola>
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@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@entry=0x7ffc558aeb98) at /build/buildd/glib2.0-2.40.2/./glib/gmessages.c:1038
#1  0x00007fbd037c2d72 in g_log (log_domain=log_domain@entry=0x7fbd03dc5a78 "GLib-GIO", 
    log_level=log_level@entry=G_LOG_LEVEL_ERROR, 
    format=format@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@entry=0x21971f0, params=params@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@entry=35221792, 
    first_property_name=first_property_name@entry=0x7fbd03de5a4f "schema-id", 
    var_args=var_args@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@entry=0x2195e40, params=params@entry=0x0, 
    n_params=n_params@entry=0) at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1724
#10 0x00007fbd03a9210d in g_object_newv (object_type=object_type@entry=35208096, n_parameters=n_parameters@entry=0, 
    parameters=parameters@entry=0x0) at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1868
#11 0x00007fbd03a928bc in g_object_new (object_type=object_type@entry=35208096, 
    first_property_name=first_property_name@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@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@entry=0x218f7a0, params=params@entry=0x0, 
    n_params=n_params@entry=0) at /build/buildd/glib2.0-2.40.2/./gobject/gobject.c:1763
#16 0x00007fbd03a9210d in g_object_newv (object_type=object_type@entry=35190288, n_parameters=n_parameters@entry=0, 
    parameters=parameters@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@entry=0x2187740, params=params@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@entry=35100176, 
    first_property_name=first_property_name@entry=0x7fbd04553302 "daemon", var_args=var_args@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@entry=0x21810d0, detail=detail@entry=0, 
    instance=instance@entry=0x216db50, emission_return=emission_return@entry=0x7ffc558b0180, 
    instance_and_params=instance_and_params@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@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@entry=1, 
    dispatch=dispatch@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
_______________________________________________
dbus mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dbus
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.