Here we send the request: 12932: Message 0x8088228 (1 /org/freesmartphone/GSM/Device org.freesmartphone.GSM.SIM SendAuthCode 's') removed from outgoing queue 0x8082740, 0 left to send 12932: check_write_watch(): needed = 0 on connection 0x8082740 watch 0x8082428 fd = 12 outgoing messages exist 0 12932: UNLOCK: protected_change_watch 12932: UNLOCK: _dbus_connection_acquire_io_path 12932: _dbus_connection_acquire_io_path locking io_path_mutex 12932: _dbus_connection_acquire_io_path start connection->io_path_acquired = 1 timeout = -1 12932: _dbus_connection_acquire_io_path waiting for IO path to be acquirable 12932: LOCK: protected_change_watch 12932: ... leaving do_iteration() 12932: _dbus_transport_do_iteration end 12932: _dbus_connection_release_io_path locking io_path_mutex 12932: _dbus_connection_release_io_path start connection->io_path_acquired = 1 12932: _dbus_connection_release_io_path unlocking io_path_mutex 12932: _dbus_connection_acquire_io_path end connection->io_path_acquired = 1 we_acquired = 1 12932: _dbus_connection_acquire_io_path unlocking io_path_mutex 12932: LOCK: _dbus_connection_acquire_io_path 12932: _dbus_connection_do_iteration_unlocked end 12932: dispatch status = complete is_connected = 1 12932: UNLOCK: _dbus_connection_update_dispatch_status_and_unlock 12932: handling read watch 0x8082450 flags = 1 12932: do_reading: fd = 12 12932: check_read_watch: fd = 12 12932: setting read watch enabled = 1 12932: UNLOCK: protected_change_watch 12932: LOCK: protected_change_watch 12932: read 131 bytes 12932: have 131 bytes, need body 19 + header 112 = 131 12932: validating body from pos 0 len 131 sig 'yyyyuua(yv)' 12932: p = 0x808385f end = 0x8083883 claimed_len 1 12932: initially caching field 6 12932: initially caching field 4 12932: initially caching field 5 12932: initially caching field 8 12932: initially caching field 7 12932: validating body from pos 112 len 19 sig 's' 12932: Loaded message 0x8085228 12932: queueing received message 0x8085228 12932: UNLOCK: protected_change_timeout 12932: LOCK: protected_change_timeout Here we retrieve the reply 12932: Message 0x8085228 (3 no path no interface no member 's' reply to 20) added to incoming queue 0x8082740, 1 incoming 12932: check_read_watch: fd = 12 12932: setting read watch enabled = 1 12932: UNLOCK: protected_change_watch 12932: LOCK: protected_change_watch 12932: _dbus_connection_release_io_path locking io_path_mutex 12932: _dbus_connection_release_io_path start connection->io_path_acquired = 1 12932: _dbus_connection_release_io_path unlocking io_path_mutex 12932: _dbus_connection_handle_watch middle 12932: UNLOCK: _dbus_connection_update_dispatch_status_and_unlock 12932: _dbus_connection_handle_watch end 12932: dbus_connection_get_dispatch_status start 12932: LOCK: dbus_connection_get_dispatch_status 12932: UNLOCK: dbus_connection_get_dispatch_status 12932: dbus_connection_dispatch 12932: LOCK: dbus_connection_dispatch 12932: UNLOCK: _dbus_connection_acquire_dispatch 12932: _dbus_connection_acquire_dispatch locking dispatch_mutex 12932: _dbus_connection_acquire_dispatch unlocking dispatch_mutex 12932: LOCK: _dbus_connection_acquire_dispatch 12932: Message 0x8085228 (3 no path no interface no member 's') removed from incoming queue 0x8082740, 0 incoming 12932: dispatching message 0x8085228 (3 no interface no member 's') 12932: Dispatching a pending reply Here we are ready to try to notify the callback 12932: handing message 0x8085228 (error) to pending call serial 20 12932: UNLOCK: _dbus_connection_unlock 12932: LOCK: free_pending_call_on_hash_removal 12932: UNLOCK: _dbus_connection_unlock 12932: LOCK: dbus_connection_dispatch Callback part is done (but it never reached us, since pending->function is still NULL 12932: pending call completed in dispatch 12932: ... done dispatching in dbus_connection_dispatch 12932: _dbus_connection_release_dispatch locking dispatch_mutex 12932: _dbus_connection_release_dispatch unlocking dispatch_mutex 12932: dbus_connection_dispatch before final status update 12932: dispatch status = complete is_connected = 1 12932: UNLOCK: _dbus_connection_up[Switching to Thread 0xb73d7b90 (LWP 12933)] Here we finally call dbus_pending_call_set_notify, WAY to late Breakpoint 4, dbus_pending_call_set_notify (pending=0x811e000, function=0xb8078d84 , user_data=0x813b238, free_user_data=0xb8078dbd ) at dbus-pending-call.c:598 598 in dbus-pending-call.c gdb> bt #0 dbus_pending_call_set_notify (pending=0x811e000, function=0xb8078d84 , user_data=0x813b238, free_user_data=0xb8078dbd ) at dbus-pending-call.c:598 #1 0xb8079b92 in dbus_g_proxy_begin_call_internal (proxy=0x8084518, method=0xb80b9dc5 "SendAuthCode", notify=0xb80aac46 , user_data=0x807ae60, destroy=0xb80abb37 <_dbus_glib_async_data_free>, args=0x80ae0a0, timeout=0xffffffff) at dbus-gproxy.c:2223 #2 0xb807a45b in dbus_g_proxy_begin_call (proxy=0x8084518, method=0xb80b9dc5 "SendAuthCode", notify=0xb80aac46 , user_data=0x807ae60, destroy=0xb80abb37 <_dbus_glib_async_data_free>, first_arg_type=0x40) at dbus-gproxy.c:2445 #3 0xb80abccc in org_freesmartphone_GSM_SIM_send_auth_code_async (proxy=0x8084518, IN_pin=0x80e6029 "5588", callback=0xb80abb62 , userdata=0x8112618) at ogsmd/dbus/sim.h:97 #4 0xb80abc4d in ogsmd_sim_send_auth_code (pin=0x80e6029 "5588", callback=0xb809e0ea , userdata=0x80e6018) at ogsmd/frameworkd-glib-ogsmd-sim.c:142 #5 0xb809e548 in sim_auth_ok_clicked (data=0x80e6018, obj=0x81153a8, event_info=0x0) at view/sim-auth-input-view.c:200 #6 0xb7a2c36c in evas_object_smart_callback_call (obj=0x81153a8, event=0xb7c05ee6 "clicked", event_info=0x0) at evas_object_smart.c:435 #7 0xb7bf0ee6 in _signal_clicked (data=0x81153a8, obj=0x8115518, emission=0x8105564 "elm,action,click", source=0xb7763d0b "") at elm_button.c:97 #8 0xb7ba4066 in edje_match_callback_exec_check_finals (signal_finals=0x8112670, source_finals=0x8112698, signal_states=0x8117fb8, source_states=0x8118110, signal=0x8105564 "elm,action,click", source=0xb7763d0b "", callbacks=0x81008a0, ed=0x81165c8) at edje_match.c:400 #9 0xb7ba448d in edje_match_callback_exec (ppat_signal=0x8112660, ppat_source=0x8112688, signal=0x8105564 "elm,action,click", source=0xb7763d0b "", callbacks=0x81008a0, ed=0x81165c8) at edje_match.c:536 #10 0xb7b95ad5 in _edje_emit_cb (ed=0x81165c8, sig=0x8105564 "elm,action,click", src=0xb7763d0b "") at edje_program.c:1042 #11 0xb7b959bd in _edje_emit_handle (ed=0x81165c8, sig=0x8105564 "elm,action,click", src=0xb7763d0b "") at edje_program.c:1005 #12 0xb7ba1a6e in _edje_message_process (em=0x8137030) at edje_message_queue.c:547 #13 0xb7ba1d4d in _edje_message_queue_process () at edje_message_queue.c:622 #14 0xb7ba0efe in _edje_job (data=0x0) at edje_message_queue.c:107 #15 0xb7ad79f4 in _ecore_job_event_handler (data=0x0, type=0xd, ev=0x8130ab8) at ecore_job.c:104 #16 0xb79ba2cf in _ecore_event_call () at ecore_events.c:429 #17 0xb79c2e3f in _ecore_main_loop_iterate_internal (once_only=0x0) at ecore_main.c:613 #18 0xb79c2023 in ecore_main_loop_begin () at ecore_main.c:88 #19 0xb7beb871 in elm_run () at elm_main.c:289 #20 0xb8092816 in ui_init () at phonegui-init.c:32 #21 0xb7dfc25f in start_thread () from /lib/libpthread.so.0 #22 0xb7d7ec1e in clone () from /lib/libc.so.6 gdb>