After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 728687 - evolution-source-registry 3.12.0 crash at startup
evolution-source-registry 3.12.0 crash at startup
Status: RESOLVED DUPLICATE of bug 594473
Product: evolution-data-server
Classification: Platform
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Evolution Shell Maintainers Team
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2014-04-21 21:46 UTC by Xavier Claessens
Modified: 2014-04-23 14:08 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Xavier Claessens 2014-04-21 21:46:49 UTC
Here is the backtrance with G_DEBUG=fatal-warnings. Without fatal warnings it continues a bit further printings logs of wanrings and ends up crashing as well.

(evolution-source-registry:6744): GLib-GObject-WARNING **: cannot register existing type 'EDBusObject'

Program received signal SIGTRAP, Trace/breakpoint trap.
0xb71cf40a in g_logv () from /lib/i386-linux-gnu/libglib-2.0.so.0
(gdb) bt
  • #0 g_logv
    from /lib/i386-linux-gnu/libglib-2.0.so.0
  • #1 g_log
    from /lib/i386-linux-gnu/libglib-2.0.so.0
  • #2 ??
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #3 g_type_register_static
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #4 g_type_register_static_simple
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #5 e_dbus_object_get_type
    at e-dbus-source.c line 5904
  • #6 e_source_class_init
    at e-source.c line 1845
  • #7 e_source_class_intern_init
    at e-source.c line 201
  • #8 g_type_class_ref
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #9 g_type_class_ref
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #10 g_object_new_valist
    from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  • #11 g_initable_new_valist
    from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
  • #12 g_initable_new
    from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
  • #13 e_server_side_source_new
    at e-server-side-source.c line 1498
  • #14 e_source_registry_server_load_file
    at e-source-registry-server.c line 2001
  • #15 e_source_registry_server_load_resource
    at e-source-registry-server.c line 1879
  • #16 evolution_source_registry_load_all
    at evolution-source-registry.c line 96
  • #17 main
    at evolution-source-registry.c line 183

Comment 1 Xavier Claessens 2014-04-21 22:16:01 UTC
Hm, after rebuilding from source master and 3.12.0 tag, it works fine. So it's the fault of our packaging somehow. Closing as invalid, I'll reopen if I get evidence that it's upstream fault.
Comment 2 Xavier Claessens 2014-04-21 22:59:15 UTC
Here my current guess: EDBusObject is generated from gdbus-codegen and gets built into the internal libedbus-private.la

I think that library ends up being statically linked twice inside evolution-source-registry, so it has 2 e_dbus_object_get_type() symboles that will both register the same GType.

I never completely understood the difference between LIBADD and LDADD, but I feel that the problem is that libebackend/Makefile.am uses libebackend_1_2_la_LIBADD instead of libebackend_1_2_la_LDADD.
Comment 3 Xavier Claessens 2014-04-22 12:53:21 UTC

*** This bug has been marked as a duplicate of bug 594473 ***
Comment 4 Milan Crha 2014-04-23 14:07:21 UTC
Thanks for a bug report. There didn't change anything in linking with libedbus-private.la, at least I'm not aware of anything between 3.12.0 and 3.10.4. I suspect it's some linker flag causing the trouble, because I do not see it, neither in 3.10.4. I use Fedora here. I guess we talk about 3.10.4, right? You didn't set the version, neither mentioned it in the comments, except of the 3.12.0 tag being used with your local build.
Comment 5 Milan Crha 2014-04-23 14:08:22 UTC
(In reply to comment #3)
> 
> *** This bug has been marked as a duplicate of bug 594473 ***

Right, that might be The Flag.