Bug 9406 - Gabble crashs when trying to connect using gossip
Summary: Gabble crashs when trying to connect using gossip
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: gabble (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: high major
Assignee: Simon McVittie
QA Contact: Telepathy bugs list
URL: http://projects.collabora.co.uk/~smcv...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-20 09:18 UTC by Guillaume Desmottes
Modified: 2006-12-21 02:43 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Guillaume Desmottes 2006-12-20 09:18:35 UTC
I tried gossip-telepathy (Feisty package) but gabble crashs when it try to connect.

Here debug output. I will try to provide a useful stacktrace.

cassidy@cass-wks:~$ GABBLE_PERSIST=1 telepathy-gabble
** (telepathy-gabble:13770): DEBUG: started version 0.5.0
** (telepathy-gabble:13770): DEBUG: parse_parameters: accepted value cassidy for
param account
** (telepathy-gabble:13770): DEBUG: parse_parameters: accepted value <hidden>
for param password
** (telepathy-gabble:13770): DEBUG: parse_parameters: accepted value
jabber.belnet.be for param server
** (telepathy-gabble:13770): DEBUG: parse_parameters: accepted value Kot for
param resource
** (telepathy-gabble:13770): DEBUG: parse_parameters: accepted value 0 for param
priority
** (telepathy-gabble:13770): DEBUG: parse_parameters: accepted value 5222 for
param port
** (telepathy-gabble:13770): DEBUG: parse_parameters: accepted value 0 for param
old-ssl
** (telepathy-gabble:13770): DEBUG: parse_parameters: accepted value 0 for param
register
** (telepathy-gabble:13770): DEBUG: parse_parameters: accepted value 0 for param
low-bandwidth
** (telepathy-gabble:13770): DEBUG: parse_parameters: using default value for
param https-proxy-server
** (telepathy-gabble:13770): DEBUG: parse_parameters: accepted value 443 for
param https-proxy-port
** (telepathy-gabble:13770): DEBUG: parse_parameters: using default value for
param fallback-conference-server
** (telepathy-gabble:13770): DEBUG: parse_parameters: using default value for
param stun-server
** (telepathy-gabble:13770): DEBUG: parse_parameters: accepted value 3478 for
param stun-port
** (telepathy-gabble:13770): DEBUG: parse_parameters: accepted value 0 for param
ignore-ssl-errors
** (telepathy-gabble:13770): DEBUG: parse_parameters: using default value for
param alias
gabble_properties_mixin_emit_changed: emitting properties changed for property:
  stun-port
gabble_properties_mixin_emit_flags: emitting properties flags changed for property:
  stun-port's flags now: [READ]
** (telepathy-gabble:13770): DEBUG: gabble_connection_dispose: called
** (telepathy-gabble:13770): DEBUG: gabble_roster_dispose: dispose called
** (telepathy-gabble:13770): DEBUG: gabble_roster_factory_iface_close_all:
closing channels
** (telepathy-gabble:13770): DEBUG: gabble_roster_finalize: called with 0x80adaf0
** (telepathy-gabble:13770): DEBUG: gabble_muc_factory_dispose: dispose called
** (telepathy-gabble:13770): DEBUG: gabble_muc_factory_iface_close_all: closing
channels
** (telepathy-gabble:13770): DEBUG: gabble_media_factory_dispose: dispose called
** (telepathy-gabble:13770): DEBUG: gabble_media_factory_iface_close_all:
closing channels
** (telepathy-gabble:13770): DEBUG: gabble_im_factory_dispose: dispose called
** (telepathy-gabble:13770): DEBUG: gabble_im_factory_iface_close_all: closing
channels
** (telepathy-gabble:13770): DEBUG: gabble_disco_dispose: dispose called
** (telepathy-gabble:13770): DEBUG: gabble_disco_finalize: called with 0x80a4b20

GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
aborting...
Abandon (core dumped)
Comment 1 Guillaume Desmottes 2006-12-20 09:20:13 UTC
The trace.
I can install more dbgsym packages if needed.

Program received signal SIGABRT, Aborted.
[Switching to Thread -1212843824 (LWP 6614)]
0xb7efb410 in ?? ()
(gdb) thread apply all bt

Thread 1 (Thread -1212843824 (LWP 6614)):
#0  0xb7efb410 in ?? ()
#1  0xbfd7f89c in ?? ()
#2  0x00000006 in ?? ()
#3  0x000019d6 in ?? ()
#4  0xb7c9cdf0 in raise () from /lib/tls/i686/cmov/libc.so.6
#5  0xb7c9e641 in abort () from /lib/tls/i686/cmov/libc.so.6
#6  0xb7df46e2 in IA__g_logv (log_domain=<value optimized out>,
log_level=G_LOG_LEVEL_CRITICAL, 
    format=0xb7e1ee5b "%s: assertion `%s' failed", args1=0xbfd7fe7c
"�@��\0224������")
    at gmessages.c:497
#7  0xb7df4719 in IA__g_log (log_domain=0xb7e927fc "GLib-GObject", 
    log_level=G_LOG_LEVEL_CRITICAL, format=0xb7e1ee5b "%s: assertion `%s' failed")
    at gmessages.c:517
#8  0xb7df47fb in IA__g_return_if_fail_warning (log_domain=0xb7e927fc
"GLib-GObject", 
    pretty_function=0xb7e940aa "g_object_unref", expression=0xb7e93412
"G_IS_OBJECT (object)")
    at gmessages.c:532
#9  0xb7e6d8a2 in IA__g_object_unref (_object=0x0) at gobject.c:1738
#10 0x080588ab in gabble_connection_dispose (object=0x80b0800) at
gabble-connection.c:905
#11 0xb7e6d8cb in IA__g_object_unref (_object=0x80b0800) at gobject.c:1760
#12 0x0804e694 in gabble_connection_manager_request_connection (self=0x80a8908, 
    proto=0x80ae1e0 "jabber", parameters=0x80a49c0, bus_name=0x80a8788,
object_path=0x80a8790, 
    error=0xbfd80294) at gabble-connection-manager.c:671
#13 0x0804efb7 in
dbus_glib_marshal_gabble_connection_manager_BOOLEAN__STRING_BOXED_POINTER_POINTER_POINTER
(closure=0xbfd8025c, return_value=0xbfd80220, n_param_values=6,
param_values=0x80ad598, 
    invocation_hint=0x0, marshal_data=0x804e040) at
gabble-connection-manager-glue.h:194
---Type <return> to continue, or q <return> to quit---
#14 0xb7ed8d4f in dbus_g_method_return_error () from /usr/lib/libdbus-glib-1.so.2
#15 0xb7eb63cb in dbus_get_local_machine_id () from /usr/lib/libdbus-1.so.3
#16 0xb7ea923e in dbus_connection_dispatch () from /usr/lib/libdbus-1.so.3
#17 0xb7ed557d in dbus_server_setup_with_g_main () from /usr/lib/libdbus-glib-1.so.2
#18 0xb7debdc2 in IA__g_main_context_dispatch (context=0x80a7aa8) at gmain.c:2045
#19 0xb7deed9f in g_main_context_iterate (context=0x80a7aa8, block=1,
dispatch=1, self=0x80ac560)
    at gmain.c:2677
#20 0xb7def149 in IA__g_main_loop_run (loop=0x80a6500) at gmain.c:2881
#21 0x0804d98a in main () at gabble.c:203
#22 0xb7c88ebc in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#23 0x0804d791 in _start ()
Comment 2 Simon McVittie 2006-12-20 10:36:53 UTC
I see what's wrong: the self_presence is initialized to NULL and an object isn't
allocated until Connect(). If the Connection doesn't survive that long,
self_presence is still NULL when the Connection is disposed.

There's still some underlying issue causing RequestConnection to fail, though.

Patch in http://projects.collabora.co.uk/~smcv/darcs/gabble-smcv-misc
Comment 3 Guillaume Desmottes 2006-12-21 02:43:44 UTC
Nice, it seems you fixed the bug.
Thanks !

$ GABBLE_PERSIST=1 ./telepathy-gabble 
** (telepathy-gabble:25987): DEBUG: started version 0.5.0.1
** (telepathy-gabble:25987): DEBUG: parse_parameters: accepted value cassidy for
param account
** (telepathy-gabble:25987): DEBUG: parse_parameters: accepted value <hidden>
for param password
** (telepathy-gabble:25987): DEBUG: parse_parameters: accepted value
jabber.belnet.be for param server
** (telepathy-gabble:25987): DEBUG: parse_parameters: accepted value Kot for
param resource
** (telepathy-gabble:25987): DEBUG: parse_parameters: accepted value 0 for param
priority
** (telepathy-gabble:25987): DEBUG: parse_parameters: accepted value 5222 for
param port
** (telepathy-gabble:25987): DEBUG: parse_parameters: accepted value 0 for param
old-ssl
** (telepathy-gabble:25987): DEBUG: parse_parameters: accepted value 0 for param
register
** (telepathy-gabble:25987): DEBUG: parse_parameters: accepted value 0 for param
low-bandwidth
** (telepathy-gabble:25987): DEBUG: parse_parameters: using default value for
param https-proxy-server
** (telepathy-gabble:25987): DEBUG: parse_parameters: accepted value 443 for
param https-proxy-port
** (telepathy-gabble:25987): DEBUG: parse_parameters: using default value for
param fallback-conference-server
** (telepathy-gabble:25987): DEBUG: parse_parameters: using default value for
param stun-server
** (telepathy-gabble:25987): DEBUG: parse_parameters: accepted value 3478 for
param stun-port
** (telepathy-gabble:25987): DEBUG: parse_parameters: accepted value 0 for param
ignore-ssl-errors
** (telepathy-gabble:25987): DEBUG: parse_parameters: using default value for
param alias
gabble_properties_mixin_emit_changed: emitting properties changed for property:
  stun-port
gabble_properties_mixin_emit_flags: emitting properties flags changed for property:
  stun-port's flags now: [READ]
** (telepathy-gabble:25987): DEBUG: gabble_connection_dispose: called
** (telepathy-gabble:25987): DEBUG: gabble_roster_dispose: dispose called
** (telepathy-gabble:25987): DEBUG: gabble_roster_factory_iface_close_all:
closing channels
** (telepathy-gabble:25987): DEBUG: gabble_roster_finalize: called with 0x80ae8f0
** (telepathy-gabble:25987): DEBUG: gabble_muc_factory_dispose: dispose called
** (telepathy-gabble:25987): DEBUG: gabble_muc_factory_iface_close_all: closing
channels
** (telepathy-gabble:25987): DEBUG: gabble_media_factory_dispose: dispose called
** (telepathy-gabble:25987): DEBUG: gabble_media_factory_iface_close_all:
closing channels
** (telepathy-gabble:25987): DEBUG: gabble_im_factory_dispose: dispose called
** (telepathy-gabble:25987): DEBUG: gabble_im_factory_iface_close_all: closing
channels
** (telepathy-gabble:25987): DEBUG: gabble_disco_dispose: dispose called
** (telepathy-gabble:25987): DEBUG: gabble_disco_finalize: called with 0x80a4b20
** (telepathy-gabble:25987): DEBUG: gabble_presence_cache_dispose: dispose called
** (telepathy-gabble:25987): DEBUG: gabble_presence_cache_finalize: called with
0x80ab8c8
** (telepathy-gabble:25987): DEBUG: gabble_connection_finalize: called with
0x80b0800


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.