g_variant_unref warning displayed when calling back after a missed call

Bug #1427286 reported by Sebastien Bacher
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
telephony-service (Ubuntu)
Fix Released
Low
Sebastien Bacher
Vivid
New
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

Revision history for this message
Sebastien Bacher (seb128) wrote :

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

Revision history for this message
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)
Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.