Bug 19523

Summary: telepathy-glib: Crash in on_connection_create_channel() / tp_contact_get_handle()
Product: Telepathy Reporter: Murray Cumming <murrayc>
Component: tp-glibAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED INVALID QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: test.c

Description Murray Cumming 2009-01-12 08:09:10 UTC
This may well be caused by some error in my application code (see the attached test case, also in ). But if so I guess that it's possible to give me a warning instead of just a crash.

I'm using the latest telepathy-glib from git.

Program received signal SIGSEGV, Segmentation fault.
0xb7eeeeb1 in tp_contact_get_handle (self=0x8a58cf8) at contact.c:183
183	  return self->priv->handle;
(gdb) bt
#0  0xb7eeeeb1 in tp_contact_get_handle (self=0x8a58cf8) at contact.c:183
#1  0x080490dd in on_connection_create_channel (proxy=0x8a61020, 
    object_path=0x8a63a48 "/org/freedesktop/Telepathy/Connection/gabble/jabber/murrayc_40murrayc_2ecom_2ftelepathy_2ddoc_20send_5fmessage_20example/ImChannel2", out_Properties=0x8a52260, error=0x0, user_data=0x0, weak_object=0x0) at main.c:122
#2  0xb7ee4314 in _tp_cli_connection_interface_requests_invoke_callback_create_channel (self=0x8a61020, error=0x0, 
    args=0x8a54e20, generic_callback=0x8049096 <on_connection_create_channel>, user_data=0x0, weak_object=0x0)
    at _gen/tp-cli-connection-body.h:10535
#3  0xb7f20fd3 in tp_proxy_pending_call_idle_invoke (p=0x8a63018) at proxy-methods.c:153
#4  0xb75ea667 in g_idle_dispatch (source=0x8a60b58, callback=0xb7f20e82 <tp_proxy_pending_call_idle_invoke>, 
    user_data=0x8a63018) at gmain.c:3924
#5  0xb75e673e in g_main_dispatch (context=0x8a54c00) at gmain.c:1814
#6  0xb75e7c16 in IA__g_main_context_dispatch (context=0x8a54c00) at gmain.c:2367
#7  0xb75e816a in g_main_context_iterate (context=0x8a54c00, block=1, dispatch=1, self=0x8a5ce58) at gmain.c:2448
#8  0xb75e8941 in IA__g_main_loop_run (loop=0x8a53c70) at gmain.c:2656
#9  0x0804979d in main () at main.c:379
(gdb) print self
$1 = (TpContact *) 0x8a58cf8
(gdb) print self->priv
$2 = (TpContactPrivate *) 0xaaaaaaaa
(gdb)
Comment 1 Murray Cumming 2009-01-12 08:10:04 UTC
Created attachment 21899 [details]
test.c
Comment 2 Murray Cumming 2009-01-12 08:13:55 UTC
(In reply to comment #0)
> This may well be caused by some error in my application code (see the attached
> test case, also in )
This is the URL that I forgot to paste:
http://git.collabora.co.uk/?p=telepathy-doc.git;a=blob;f=docs/examples/send_message/main.c;h=562e40d39e80acb7024bfc74c370970f1046cd1f;hb=HEAD
Comment 3 Murray Cumming 2009-01-16 08:18:09 UTC
Nevermind. I just forgot to ref a TpHandle that I got in a callback.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.