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