g_variant_unref warning displayed when calling back after a missed call

Bug #1427286 reported by Sebastien Bacher on 2015-03-02
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
telephony-service (Ubuntu)
Low
Sebastien Bacher
Vivid
Undecided
Unassigned

Bug Description

On ubuntu touch rtm 248, those warning are displayed when selecting the "call back" action in the messaging menu, following a missed call

"g_variant_unref: assertion 'value->ref_count > 0' failed"

backtrace of a warning

"#0 g_log (log_domain=0xb6598a70 "GLib",
    log_level=log_level@entry=G_LOG_LEVEL_CRITICAL,
    format=0xb65a17d4 "%s: assertion '%s' failed")
    at /build/buildd/glib2.0-2.41.5/./glib/gmessages.c:1075
#1 0xb656ad62 in g_return_if_fail_warning (log_domain=<optimized out>,
    pretty_function=<optimized out>, expression=<optimized out>)
    at /build/buildd/glib2.0-2.41.5/./glib/gmessages.c:1088
#2 0xb6516664 in action_free (data=0xb3000e70) at messaging-menu-message.c:76
#3 0xb657aae8 in g_slist_foreach (list=<optimized out>, list@entry=0xf72490,
    func=0xb6516621 <action_free>, user_data=user_data@entry=0x0)
    at /build/buildd/glib2.0-2.41.5/./glib/gslist.c:877
#4 0xb657aafa in g_slist_free_full (list=0xf72490, free_func=<optimized out>)
    at /build/buildd/glib2.0-2.41.5/./glib/gslist.c:172
#5 0xb651672c in messaging_menu_message_finalize (object=0xb2603b50)
    at messaging-menu-message.c:101
#6 0xb66139f8 in g_object_unref (_object=0xb2603b50)
    at /build/buildd/glib2.0-2.41.5/./gobject/gobject.c:3170
#7 0xb65596a0 in g_hash_table_remove_internal (hash_table=0xf70608,
    key=0xfbb4c0, notify=1) at /build/buildd/glib2.0-2.41.5/./glib/ghash.c:1300
#8 0xb651518e in messaging_menu_app_remove_message_internal (app=0xf70640,
    message_id=0xfbb4c0 "<caller_number_replaced>") at messaging-menu-app.c:510
#9 0xb6515348 in messaging_menu_app_activate_message (app_interface=0xf3ba70,
    invocation=0xf70678, message_id=0xfbb4c0 "<caller_number_replaced>",
    action_id=0xf92460 "callBack", params=0xf777c8, user_data=0xf70640)
    at messaging-menu-app.c:593
#10 0xb5cda948 in ffi_call_VFP () from /usr/lib/arm-linux-gnueabihf/libffi.so.6
#11 0xb5cdafc0 in ffi_call () from /usr/lib/arm-linux-gnueabihf/libffi.so.6
#12 0xb6610b6c in g_cclosure_marshal_generic (closure=<optimized out>,
    return_gvalue=<optimized out>, n_param_values=5,
    param_values=<optimized out>, invocation_hint=0xbedc4070, marshal_data=0x0)
    at /build/buildd/glib2.0-2.41.5/./gobject/gclosure.c:1448
#13 0xb66105b4 in g_closure_invoke (closure=0xf726d8, return_value=0xbedc4050,
    n_param_values=5, param_values=0xf9dbc0, invocation_hint=0xbedc4070)
    at /build/buildd/glib2.0-2.41.5/./gobject/gclosure.c:768
#14 0xb661d0aa in signal_emit_unlocked_R (node=node@entry=0xf62da0,
    detail=detail@entry=0, instance=instance@entry=0xf3ba70,
    emission_return=emission_return@entry=0xbedc4160,
    instance_and_params=instance_and_params@entry=0xf9dbc0)
    at /build/buildd/glib2.0-2.41.5/./gobject/gsignal.c:3553
#15 0xb6622a30 in g_signal_emitv (instance_and_params=0xf9dbc0,
    signal_id=<optimized out>, detail=0, return_value=0xbedc4160)
    at /build/buildd/glib2.0-2.41.5/./gobject/gsignal.c:3048
#16 0xb651aac4 in _indicator_messages_application_skeleton_handle_method_call (
    connection=0xb3006048, sender=0xb26055b8 ":1.52",
    object_path=0xb2605c48 "/com/canonical/indicator/messages/telephony_service_call_desktop",
    interface_name=0xb26052a8 "com.canonical.indicator.messages.application",
    method_name=0xb26055e8 "ActivateMessage", parameters=0xf8a508,
    invocation=0xf70678, user_data=0xf3ba70)
    at indicator-messages-application.c:1917
#17 0xb66f0fa4 in g_dbus_interface_method_dispatch_helper (
    invocation=0xf70678,
    method_call_func=0xb651a8a1 <_indicator_messages_application_skeleton_handle_method_call>, interface=0xf3ba70)
    at /build/buildd/glib2.0-2.41.5/./gio/gdbusinterfaceskeleton.c:609
#18 skeleton_intercept_handle_method_call (connection=<optimized out>,
    sender=<optimized out>, object_path=<optimized out>,
    interface_name=<optimized out>, method_name=0xb26055e8 "ActivateMessage",
    parameters=0xf8a508, invocation=0xf70678, user_data=0xf3ba70)
    at /build/buildd/glib2.0-2.41.5/./gio/gdbusinterfaceskeleton.c:650
#19 0xb66df692 in call_in_idle_cb (user_data=0xf70678)
    at /build/buildd/glib2.0-2.41.5/./gio/gdbusconnection.c:4884
#20 0xb6565e78 in g_main_dispatch (context=0xf284e8)
    at /build/buildd/glib2.0-2.41.5/./glib/gmain.c:3064
#21 g_main_context_dispatch (context=context@entry=0xf284e8)
    at /build/buildd/glib2.0-2.41.5/./glib/gmain.c:3663
#22 0xb65660fc in g_main_context_iterate (context=context@entry=0xf284e8,
    block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/buildd/glib2.0-2.41.5/./glib/gmain.c:3734
#23 0xb656617c in g_main_context_iteration (context=0xf284e8, may_block=1)
    at /build/buildd/glib2.0-2.41.5/./glib/gmain.c:3795
#24 0xb6cfa79c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5
#25 0xb6cbda8e in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5
#26 0xb6cc2b8a in QCoreApplication::exec() ()
   from /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5
#27 0x0002fae4 in main (argc=1, argv=<optimized out>)
    at /build/buildd/telephony-service-0.1+15.04.20150218~rtm/indicator/main.cpp:89"

Related branches

Sebastien Bacher (seb128) wrote :

oh, and the corresponding process is telephony-service-indicator so it could be a telephony-service issue

Lars Karlitski (larsu) wrote :

This is an issue in telephony-service: it calls g_variant_unref() on a variant that it doesn't own a reference to [1].

g_variant_new_strv() returns a floating reference which is consumed by the call to messaging_menu_message_add_action(). Another bug in that code is g_variant_unref() might be called with a NULL variant when the condition in line 212 is false. Both of those things will be fixed when removing the unref call.

[1] http://bazaar.launchpad.net/~phablet-team/telephony-service/trunk/view/head:/indicator/messagingmenu.cpp#L239

affects: indicator-messages (Ubuntu) → telephony-service (Ubuntu)
Changed in telephony-service (Ubuntu):
importance: Undecided → Low
status: New → In Progress
assignee: nobody → Sebastien Bacher (seb128)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package telephony-service - 0.1+15.10.20150709-0ubuntu1

---------------
telephony-service (0.1+15.10.20150709-0ubuntu1) wily; urgency=medium

  [ Gustavo Pichorim Boiko ]
  * Sync the fixes that were released in OTA5: (LP: #1384274, #1433068,
    #1412709, #1427286, #1453004)

 -- CI Train Bot <email address hidden> Thu, 09 Jul 2015 13:46:05 +0000

Changed in telephony-service (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers