Jorg, I think the problem is that you are not wrapping your Metadata
dict in a variant.

(gdb) bt
#0  0x00bd0832 in ?? () from /lib/ld-linux.so.2
#1  0x01022e71 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0x0102634e in abort () at abort.c:92
#3  0x00d723a0 in g_assertion_message (domain=0xd956e6 "GLib", 
    file=0xddd57c "/build/buildd/glib2.0-2.28.4/./glib/gvariant-serialiser.c", 
    line=1319, func=0xddd780 "g_variant_serialised_n_children", 
    message=<value optimised out>)
    at /build/buildd/glib2.0-2.28.4/./glib/gtestutils.c:1358
#4  0x00d8e328 in g_variant_serialised_n_children (serialised=...)
    at /build/buildd/glib2.0-2.28.4/./glib/gvariant-serialiser.c:1319
#5  0x00d8a3d9 in g_variant_n_children (value=0x88d36b0)
    at /build/buildd/glib2.0-2.28.4/./glib/gvariant-core.c:819
#6  0x00d86e6e in g_variant_iter_init (iter=0xbfcf3a04, value=0x88d36b0)
    at /build/buildd/glib2.0-2.28.4/./glib/gvariant.c:2595
#7  0x080572b9 in mpris_player_dbus_proxy_get_Metadata (self=0x88a0198)
    at mpris2-interfaces.c:1280
#8  0x0805c261 in mpris2_controller_clean_metadata (self=0x88a66c8)
    at mpris2-controller.c:648
#9  0x0805c780 in mpris2_controller_property_changed_cb (self=0x88a66c8, 
    interface_source=0x88cc028 "org.mpris.MediaPlayer2.Player", 
    changed_properties=0x88c9690, invalid=0x88c2798, invalid_length1=0)
---Type <return> to continue, or q <return> to quit---
    at mpris2-controller.c:517
#10 0x00e65372 in g_closure_invoke (closure=0x88d3188, return_value=0x0, 
    n_param_values=5, param_values=0x889d9c8, invocation_hint=0xbfcf3c30)
    at /build/buildd/glib2.0-2.28.4/./gobject/gclosure.c:767
#11 0x00e78048 in signal_emit_unlocked_R (node=0x88b4bb0, detail=0, 
    instance=0x88a0690, emission_return=0x0, instance_and_params=0x889d9c8)
    at /build/buildd/glib2.0-2.28.4/./gobject/gsignal.c:3252
#12 0x00e80b29 in g_signal_emit_valist (instance=0x88a0690, signal_id=29, 
    detail=0, var_args=0xbfcf3e88 "\230>Ͽ\002")
    at /build/buildd/glib2.0-2.28.4/./gobject/gsignal.c:2983
#13 0x00e80e3d in g_signal_emit_by_name (instance=0x88a0690, 
    detailed_signal=0x806666b "properties-changed")
    at /build/buildd/glib2.0-2.28.4/./gobject/gsignal.c:3077
#14 0x08060cf2 in _dbus_handle_free_desktop_properties_properties_changed (
    proxy=0x88a0690, sender_name=0x88d42d0 ":1.611", 
    signal_name=0x88b7f20 "PropertiesChanged", parameters=0x88d3748)
    at freedesktop-interfaces.c:721
#15 free_desktop_properties_proxy_g_signal (proxy=0x88a0690, 
    sender_name=0x88d42d0 ":1.611", signal_name=0x88b7f20 "PropertiesChanged", 
    parameters=0x88d3748) at freedesktop-interfaces.c:730
#16 0x005836a6 in _gio_marshal_VOID__STRING_STRING_VARIANT (closure=0x8897388, 
---Type <return> to continue, or q <return> to quit---
    return_value=0x0, n_param_values=4, param_values=0x88d4680, 
    invocation_hint=0xbfcf4110, marshal_data=0x8060ad0)
    at /build/buildd/glib2.0-2.28.4/./gio/gio-marshal.c:775
#17 0x00e63cc7 in g_type_class_meta_marshal (closure=0x8897388, 
    return_value=0x0, n_param_values=4, param_values=0x88d4680, 
    invocation_hint=0xbfcf4110, marshal_data=0x48)
    at /build/buildd/glib2.0-2.28.4/./gobject/gclosure.c:878
#18 0x00e65372 in g_closure_invoke (closure=0x8897388, return_value=0x0, 
    n_param_values=4, param_values=0x88d4680, invocation_hint=0xbfcf4110)
    at /build/buildd/glib2.0-2.28.4/./gobject/gclosure.c:767
#19 0x00e77e45 in signal_emit_unlocked_R (node=0x889ef40, detail=0, 
    instance=0x88a0690, emission_return=0x0, instance_and_params=0x88d4680)
    at /build/buildd/glib2.0-2.28.4/./gobject/gsignal.c:3290
#20 0x00e80b29 in g_signal_emit_valist (instance=0x88a0690, signal_id=26, 
    detail=0, var_args=0xbfcf42d8 "yW\232")
    at /build/buildd/glib2.0-2.28.4/./gobject/gsignal.c:2983
#21 0x00e80cc2 in g_signal_emit (instance=0x88a0690, signal_id=26, detail=0)
    at /build/buildd/glib2.0-2.28.4/./gobject/gsignal.c:3040
#22 0x00569080 in on_signal_received (connection=0x886d000, 
    sender_name=0x88cc1e0 ":1.611", 
    object_path=0x888a380 "/org/mpris/MediaPlayer2", 
---Type <return> to continue, or q <return> to quit---
    interface_name=0x88b7fe0 "org.freedesktop.DBus.Properties", 
    signal_name=0x88d43e8 "PropertiesChanged", parameters=0x88d3748, 
    user_data=0x88a0690) at /build/buildd/glib2.0-2.28.4/./gio/gdbusproxy.c:754
#23 0x00557440 in emit_signal_instance_in_idle_cb (data=0x88c3280)
    at /build/buildd/glib2.0-2.28.4/./gio/gdbusconnection.c:3400
#24 0x00d46311 in g_idle_dispatch (source=0x884a940, 
    callback=0x5573a0 <emit_signal_instance_in_idle_cb>, user_data=0x88c3280)
    at /build/buildd/glib2.0-2.28.4/./glib/gmain.c:4545
#25 0x00d4aaa8 in g_main_dispatch (context=0x8873028)
    at /build/buildd/glib2.0-2.28.4/./glib/gmain.c:2440
#26 g_main_context_dispatch (context=0x8873028)
    at /build/buildd/glib2.0-2.28.4/./glib/gmain.c:3013
#27 0x00d4b270 in g_main_context_iterate (context=0x8873028, block=14006304, 
    dispatch=1, self=<value optimised out>)
    at /build/buildd/glib2.0-2.28.4/./glib/gmain.c:3091
#28 0x00d4b92b in g_main_loop_run (loop=0xb15007f0)
    at /build/buildd/glib2.0-2.28.4/./glib/gmain.c:3299
#29 0x0804d028 in main (argc=1, argv=0xbfcf4584) at sound-service.c:76


The problem is that my generated C code is expecting the dict to be in variant. 
The interface definition in Vala is type as a hashtable but the C code 
automatically assumes everything has outer wrapper layer of a variant. Take a 
look at the rhythmbox or banshee and see what they return over d-feet. its the 
same code on my side that handles all clients and its just yours that's is 
crashing my service. 


** Changed in: indicator-sound
    Milestone: None => 0.6.6

** Bug watch added: Email to shuerhaaken@googlemail #
   mailto:[email protected]

** Also affects: xnoise via
   mailto:[email protected]
   Importance: Undecided
       Status: New

** Changed in: indicator-sound
       Status: In Progress => Invalid

** Changed in: xnoise
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/737847

Title:
  indicator-sound-service crashed with SIGABRT in __kernel_vsyscall()

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to