Gabble crashes on outgoing file transfers
Submitted by Daniele E. Domenichelli
Assigned to Telepathy bugs list
Description
I'm trying to get outgoing file transfers to work (using telepathy-qt4), but gabble (just updated from git) crashes with this error: gabble:ERROR:bytestream-socks5.c:606:set_transport: assertion failed: (priv->read_buffer == NULL).
I don't know if this might be related, but I'm using and external file transfer channel handler that is activated from dbus when another process requests a file transfer. The output I can get from tp-qt4 and from the handler is not really useful, because when I should receive the status changed to "accepted" event I just receive a channel invalidated event because gabble aborted...
This is the debugging output from gabble and a backtrace
------> Before the file transfer is accepted (telepathy-gabble:25816): tp-glib/connection-DEBUG: channel_request_new: New channel request at 0xb79670: ctype=org.freedesktop.Telepathy.Channel.Type.FileTransfer htype=1 handle=5 suppress=1 (telepathy-gabble:25816): gabble-DEBUG: gabble_ft_manager_handle_request (ft-manager.c:452): File transfer request (telepathy-gabble:25816): gabble-DEBUG: gabble_ft_manager_handle_request (ft-manager.c:554): Requested outgoing channel with contact: xxxxxx@xxxxx.xxx (telepathy-gabble:25816): gabble-DEBUG: gabble_signal_connect_weak (util.c:966): connecting to 0x797a10:presences-updated with context 0xbbb580 (telepathy-gabble:25816): gabble-DEBUG: gabble_file_transfer_channel_constructor (ft-channel.c:550): New FT channel created: /org/freedesktop/Telepathy/Connection/gabble/jabber/yyyyyy_40yyyyy_2eyyy_2f3dd92538/FileTransferChannel/0x7cc1a0 (contact: xxxxxx@xxxxx.xxx, initiator: yyyyyy@yyyyy.yyy file: "buf", size: 889) (telepathy-gabble:25816): gabble-DEBUG: offer_bytestream (ft-channel.c:1315): Offering SI Bytestream file transfer to xxxxxx@xxxxx.xxx/Kopete (telepathy-gabble:25816): gabble-DEBUG: gabble_bytestream_factory_query_socks5_proxies (bytestream-factory.c:513): No proxies list; request one (telepathy-gabble:25816): gabble-DEBUG: get_proxies_list (bytestream-factory.c:494): Ask proxies.telepathy.im for proxies (telepathy-gabble:25816): gabble-DEBUG: gabble_disco_request_with_timeout (disco.c:509): Creating disco request 0x790ac0 for proxies.telepathy.im (telepathy-gabble:25816): gabble-DEBUG: gabble_signal_connect_weak (util.c:966): connecting to 0x7cc1a0:closed with context 0xbb0b80 (telepathy-gabble:25816): tp-glib/connection-DEBUG: satisfy_request: completing queued request 0xb79670 with success, channel_type=org.freedesktop.Telepathy.Channel.Type.FileTransfer, handle_type=1, handle=5, suppress_handler=1 (telepathy-gabble:25816): tp-glib/connection-DEBUG: channel_request_free: Freeing channel request at 0xb79670: ctype=org.freedesktop.Telepathy.Channel.Type.FileTransfer htype=1 handle=5 suppress=1 (telepathy-gabble:25816): tp-glib/connection-DEBUG: tp_presence_mixin_get_contacts_dbus_property: called. (telepathy-gabble:25816): gabble-DEBUG: proxies_disco_cb (bytestream-factory.c:466): Discovered proxy proxy.eu.jabber.org (telepathy-gabble:25816): gabble-DEBUG: proxies_disco_cb (bytestream-factory.c:466): Discovered proxy proxy65.spacelabs.nl (telepathy-gabble:25816): gabble-DEBUG: gabble_bytestream_factory_query_socks5_proxies (bytestream-factory.c:538): Need 2 more proxies (telepathy-gabble:25816): gabble-DEBUG: send_proxy_query (bytestream-factory.c:380): send SOCKS5 query to proxy.eu.jabber.org (telepathy-gabble:25816): gabble-DEBUG: send_proxy_query (bytestream-factory.c:380): send SOCKS5 query to proxy65.spacelabs.nl (telepathy-gabble:25816): gabble-DEBUG: add_proxy_to_list (bytestream-factory.c:275): Add fallback SOCKS5 proxy: proxy65.spacelabs.nl 192.87.65.59:5000 (telepathy-gabble:25816): gabble-DEBUG: add_proxy_to_list (bytestream-factory.c:275): Add fallback SOCKS5 proxy: proxy.eu.jabber.org 91.121.109.155:7777 [Thread 0x7ffff2c11700 (LWP 25822) exited]
------> After the file transfer is accepted
(telepathy-gabble:25816): gabble-DEBUG: gabble_signal_connect_weak (util.c:966): connecting to 0x7c8b00:state-changed with context 0xbc9c00
(telepathy-gabble:25816): gabble-DEBUG: gabble_bytestream_factory_create_socks5 (bytestream-factory.c:1852): add SOCKS5 bytestream <1307352017-2348830067>
from <xxxxxx@xxxxx.xxx/Kopete>
(telepathy-gabble:25816): gabble-DEBUG: streaminit_reply_cb (bytestream-factory.c:2136): stream 1307352017-2348830067 accepted
(telepathy-gabble:25816): gabble-DEBUG: get_local_interfaces_ips (bytestream-socks5.c:1742): Ignoring loopback interface
(telepathy-gabble:25816): gabble-DEBUG: get_local_interfaces_ips (bytestream-socks5.c:1742): Ignoring loopback interface
(telepathy-gabble:25816): gabble-DEBUG: get_local_interfaces_ips (bytestream-socks5.c:1775): Interface: wlan0
(telepathy-gabble:25816): gabble-DEBUG: get_local_interfaces_ips (bytestream-socks5.c:1776): IP Address: 192.168.1.32
(telepathy-gabble:25816): gabble-DEBUG: get_local_interfaces_ips (bytestream-socks5.c:1775): Interface: virbr1
(telepathy-gabble:25816): gabble-DEBUG: get_local_interfaces_ips (bytestream-socks5.c:1776): IP Address: 192.168.122.1
(telepathy-gabble:25816): gabble-DEBUG: get_local_interfaces_ips (bytestream-socks5.c:1742): Ignoring loopback interface
(telepathy-gabble:25816): gabble-DEBUG: get_local_interfaces_ips (bytestream-socks5.c:1763): Ignoring link-local address: fe80::219:d2ff:fe3c:856a
(telepathy-gabble:25816): gabble-DEBUG: bytestream_negotiate_cb (ft-channel.c:1295): receiver accepted file offer (offset: 0)
(telepathy-gabble:25816): gabble-DEBUG: set_bytestream (ft-channel.c:1225): Setting bytestream to 0x7c8b00
(telepathy-gabble:25816): gabble-DEBUG: gabble_signal_connect_weak (util.c:966): connecting to 0x7c8b00:state-changed with context 0xbca800
(telepathy-gabble:25816): gabble-DEBUG: gabble_signal_connect_weak (util.c:966): connecting to 0x7c8b00:write-blocked with context 0xbca6a0
(telepathy-gabble:25816): gabble-DEBUG: new_connection_cb (bytestream-socks5.c:1875): New connection...
(telepathy-gabble:25816): gabble-DEBUG: new_connection_cb (bytestream-socks5.c:1875): New connection...
**
gabble:ERROR:bytestream-socks5.c:606:set_transport: assertion failed: (priv->read_buffer == NULL)
Program received signal SIGABRT, Aborted.
0x00007ffff52a6d05 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
in ../nptl/sysdeps/unix/sysv/linux/raise.c
------> Backtrace
#0 0x00007ffff52a6d05 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007ffff52aaab6 in abort () at abort.c:92
#2 0x00007ffff566f51d in g_assertion_message () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff566fae0 in g_assertion_message_expr () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x000000000046d669 in set_transport (self=<value optimized out>, transport=0x804b80) at bytestream-socks5.c:606
#5 0x00007ffff5f1581c in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6 0x00007ffff5f27019 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7 0x00007ffff5f30258 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8 0x00007ffff5f3041f in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9 0x000000000044a1a0 in listener_io_in_cb (source=<value optimized out>, condition=<value optimized out>, user_data=<value optimized out>)
at gibber-listener.c:228
#10 0x00007ffff5649bcd in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff564a3a8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007ffff564a9f2 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007ffff70a8eaf in tp_run_connection_manager (prog_name=<value optimized out>, version=<value optimized out>, construct_cm=<value optimized out>,
argc=<value optimized out>, argv=<value optimized out>) at run.c:285
#14 0x0000000000431f9a in gabble_main (argc=1, argv=0x7fffffffe138) at gabble.c:177
#15 0x00007ffff5291eff in __libc_start_main (main=0x431c60 <main>, argc=1, ubp_av=0x7fffffffe138, init=<value optimized out>, fini=<value optimized out>,
rtld_fini=<value optimized out>, stack_end=0x7fffffffe128) at libc-start.c:226
#16 0x0000000000431b99 in _start ()
Version: git master