file-transfer/metadata.py crashes Salut.
@wjt
Submitted by Will Thompson Assigned to Telepathy bugs list
Description
Created attachment 57387 log for a failing run of file-transfer/metadata.py
So I noticed that Salut is red on the buildbot. Even if the tests pass, it often dumps core. I can reproduce this locally:
#0 g_logv (log_domain=0x2b4a1679ac0c "GLib-GObject", log_level=<optimized out>,
format=0x2b4a167a25b8 "invalid (NULL) pointer instance", args1=0x7fffcb7d5608)
at /tmp/buildd/glib2.0-2.30.2/./glib/gmessages.c:577
#1 0x00002b4a17010c02 in g_log (log_domain=<optimized out>, log_level=<optimized out>,
format=<optimized out>) at /tmp/buildd/glib2.0-2.30.2/./glib/gmessages.c:591
#2 0x00002b4a1679411a in g_type_check_instance (type_instance=<optimized out>)
at /tmp/buildd/glib2.0-2.30.2/./gobject/gtype.c:4078
#3 0x00002b4a167887d3 in g_signal_connect_data (instance=0x0,
detailed_signal=0x4c5f32 "wrote-chunk",
c_handler=0x49f110 <http_server_wrote_chunk_cb>, data=0x1d71520, destroy_data=0,
connect_flags=0) at /tmp/buildd/glib2.0-2.30.2/./gobject/gsignal.c:2263
#4 0x000000000049f7ed in gibber_oob_file_transfer_send (ft=<optimized out>,
src=0x1e284b0) at gibber-oob-file-transfer.c:935
#5 0x000000000046bd16 in accept_local_socket_connection (source=0x1e3a010,
condition=<optimized out>, user_data=<optimized out>) at file-transfer-channel.c:1689
#6 0x00002b4a170080cf in g_main_dispatch (context=0x1d62c60)
at /tmp/buildd/glib2.0-2.30.2/./glib/gmain.c:2442
#7 g_main_context_dispatch (context=0x1d62c60)
at /tmp/buildd/glib2.0-2.30.2/./glib/gmain.c:2998
#8 0x00002b4a170088c8 in g_main_context_iterate (context=0x1d62c60,
block=<optimized out>, dispatch=1, self=<optimized out>)
at /tmp/buildd/glib2.0-2.30.2/./glib/gmain.c:3076
#9 0x00002b4a17008e02 in g_main_loop_run (loop=0x1d584e0)
at /tmp/buildd/glib2.0-2.30.2/./glib/gmain.c:3284
#10 0x00002b4a1740bc7f in tp_run_connection_manager (prog_name=<optimized out>,
version=<optimized out>, construct_cm=<optimized out>, argc=<optimized out>,
argv=<optimized out>) at run.c:285
#11 0x000000000042642f in main (argc=1, argv=0x7fffcb7d5ad8) at salut.c:54
gibber_oob_file_transfer_send tries to connect to a signal on self->priv->message, but self->priv->message is NULL. This happens after the connection has been torn down. Presumably the issue is that the soup server is not torn down properly if the file transfer is aborted before it even starts.
From looking at the log, I've narrowed it down to the FT metadata test. It doesn't make Salut crash every time, but it's easy to reproduce with tt -r avahi/file-transfer/metadata.py
. I've attached the log for a failing run of that test.
Attachment 57387, "log for a failing run of file-transfer/metadata.py":
salut-testing.log
Version: git master