Crash when emit generated signals



Hi,

We use an old version of glib(2.30) to implement signals and call methods over dbus. After repeated calls(~200-300), we I have a crash inside g_slice_alloc when calling the g_dbus_connection_emit_signal routine(from generated code).

  g_dbus_connection_emit_signal (connection,
    NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "com.Multimedia.Playback", "AudioStreamChange",
    g_variant_new ("(suu)",
                   arg_uuid,
                   arg_stream_id,
                   arg_num_streams), NULL);

Here is my trace:

stack_trace:/lib/libc.so.6(__default_sa_restorer_v2+0) [0x368d6810]
stack_trace:/usr/lib/libglib-2.0.so.0(g_slice_alloc+0x140) [0x36c614d4]
stack_trace:/usr/lib/libglib-2.0.so.0(+0x6d7c4) [0x36c7f7c4]
stack_trace:/usr/lib/libglib-2.0.so.0(+0x6d820) [0x36c7f820]
stack_trace:/usr/lib/libglib-2.0.so.0(g_variant_builder_end+0x50) [0x36c7a9bc]
stack_trace:/usr/lib/libglib-2.0.so.0(+0x6a3e4) [0x36c7c3e4]
stack_trace:/usr/lib/libglib-2.0.so.0(g_variant_new_va+0x20) [0x36c7c654]
stack_trace:/usr/lib/libglib-2.0.so.0(g_variant_builder_add+0x28) [0x36c7c690]
stack_trace:/usr/lib/libgio-2.0.so.0(g_dbus_message_to_blob+0x17c) [0x36de0700]
stack_trace:/usr/lib/libgio-2.0.so.0(+0x81ce0) [0x36dd8ce0]
stack_trace:/usr/lib/libgio-2.0.so.0(g_dbus_connection_send_message+0x50) [0x36dd9318]
stack_trace:/usr/lib/libgio-2.0.so.0(g_dbus_connection_emit_signal+0xcc) [0x36dd9408]

How to prevent this ?

Thank you,
Catalin


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]