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 730201 - some over-linking in the oFono backend
some over-linking in the oFono backend
Status: RESOLVED FIXED
Product: folks
Classification: Platform
Component: oFono backend
git master
Other Linux
: Normal normal
: Unset
Assigned To: folks-maint
folks-maint
Depends on:
Blocks:
 
 
Reported: 2014-05-15 15:26 UTC by Alban Crequy
Modified: 2014-05-17 10:29 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Alban Crequy 2014-05-15 15:26:42 UTC
libfolks 0.9.6 with the oFono backend

I have a small vala program compiled with:
valac -o foo --pkg folks --pkg glib-2.0 foo.vala

It fails with the following error:

(process:4018): GLib-GObject-WARNING **: cannot register existing type 'FolksSmallSet'
(process:4018): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

Philip advised me to try the following commit:
https://git.gnome.org/browse/folks/commit/?id=d9a38f5fa4c0c7c4ea131f76b90dc0f3bc208cb6
But it makes the compilation fail:
 ofono-persona.vala:42.11-42.37: error: The type name `SmallSet' could not be found


  • #0 _g_log_abort
    at /usr/src/packages/BUILD/glib2.0-2.40.0/./glib/gmessages.c line 308
  • #1 g_logv
    at /usr/src/packages/BUILD/glib2.0-2.40.0/./glib/gmessages.c line 1033
  • #2 g_log
    at /usr/src/packages/BUILD/glib2.0-2.40.0/./glib/gmessages.c line 1071
  • #3 g_return_if_fail_warning
  • #4 g_type_add_interface_static
    at /usr/src/packages/BUILD/glib2.0-2.40.0/./gobject/gtype.c line 2824
  • #5 folks_small_set_get_type
    at small-set.c line 81
  • #6 folks_small_set_new
    at small-set.c line 285
  • #7 folks_backends_ofono_persona_constructor
    at ofono-persona.c line 676
  • #8 g_object_new_with_custom_constructor
    at /usr/src/packages/BUILD/glib2.0-2.40.0/./gobject/gobject.c line 1645
  • #9 g_object_new_internal
    at /usr/src/packages/BUILD/glib2.0-2.40.0/./gobject/gobject.c line 1722
  • #10 g_object_new_valist
    at /usr/src/packages/BUILD/glib2.0-2.40.0/./gobject/gobject.c line 1980
  • #11 g_object_new
    at /usr/src/packages/BUILD/glib2.0-2.40.0/./gobject/gobject.c line 1571
  • #12 folks_backends_ofono_persona_construct
    at ofono-persona.c line 141
  • #13 folks_backends_ofono_persona_new
    at ofono-persona.c line 151
  • #14 folks_backends_ofono_persona_store_real_prepare_co
    at ofono-persona-store.c line 721
  • #15 g_simple_async_result_complete
    at /usr/src/packages/BUILD/glib2.0-2.40.0/./gio/gsimpleasyncresult.c line 763
  • #16 complete_in_idle_cb
    at /usr/src/packages/BUILD/glib2.0-2.40.0/./gio/gsimpleasyncresult.c line 775
  • #17 g_idle_dispatch
    at /usr/src/packages/BUILD/glib2.0-2.40.0/./glib/gmain.c line 5319
  • #18 g_main_dispatch
    at /usr/src/packages/BUILD/glib2.0-2.40.0/./glib/gmain.c line 3064
  • #19 g_main_context_dispatch
    at /usr/src/packages/BUILD/glib2.0-2.40.0/./glib/gmain.c line 3663
  • #20 g_main_context_iterate
    at /usr/src/packages/BUILD/glib2.0-2.40.0/./glib/gmain.c line 3734
  • #21 g_main_loop_run
    at /usr/src/packages/BUILD/glib2.0-2.40.0/./glib/gmain.c line 3928
  • #22 ??
  • #23 ??
  • #24 ??
  • #25 __libc_start_main
    at libc-start.c line 287
  • #26 ??

Comment 1 Alban Crequy 2014-05-15 17:09:51 UTC
It actually is in all backends:

$ nm -D /usr/lib/i386-linux-gnu/folks/41/backends/ofono/ofono.so |grep folks_small_set_get_type
0000d230 T folks_small_set_get_type
$ nm -D /usr/lib/i386-linux-gnu/libfolks.so.25|grep folks_small_set_get_type
00055b90 T folks_small_set_get_type
$ nm -D /usr/lib/i386-linux-gnu/folks/41/backends/telepathy/telepathy.so |grep folks_small_set_get_type
00004200 T folks_small_set_get_type
$ nm -D /usr/lib/i386-linux-gnu/folks/41/backends/key-file/key-file.so |grep folks_small_set_get_type
0000db80 T folks_small_set_get_type

Fixed with the following patches:
http://cgit.collabora.com/git/user/alban/folks.git/log/?h=over-linking-bug730201
And then my program does not crash anymore :)
Comment 2 Travis Reitter 2014-05-16 17:45:06 UTC
Alban, that patch looks good. Please apply and close this bug.
Comment 3 Alban Crequy 2014-05-17 10:29:02 UTC
Committed on git master. Marked as resolved-fixed.

commit ef541513345aa2c83bd207cd2f38f23125cdf3eb
Author: Alban Crequy <alban.crequy@collabora.co.uk>
Date:   Thu May 15 17:59:15 2014 +0100

    build: fix over-linking in backends
    
    https://bugzilla.gnome.org/show_bug.cgi?id=730201

commit 96814b8699c917743b663c3928769ff8e4a86603
Author: Alban Crequy <alban.crequy@collabora.co.uk>
Date:   Thu May 15 17:58:46 2014 +0100

    Revert "build: Remove some over-linking in the oFono backend"
    
    This reverts commit d9a38f5fa4c0c7c4ea131f76b90dc0f3bc208cb6.