Treferwynd / transmission-remote-gtk

Automatically exported from code.google.com/p/transmission-remote-gtk
GNU General Public License v2.0
0 stars 0 forks source link

phantom tracker, json fault #134

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I've been trying to track down the source of all these:

{{{
json_object_get_array_member: assertion `object != NULL' failed
}}}

So I added asserts around every get_array_member() and finally stumbled into 
the following.  I cannot easily repro.  But it shows a clear path where 
trg_torrent_tree_view_visible_func() tries to find a torrent that doesn't exist.

{{{
(transmission-remote-gtk:4519): Json-CRITICAL **: json_object_get_array_member: 
assertion `object != NULL' failed
**
ERROR:torrent.c:55:torrent_get_tracker_stats: assertion failed: 
(json_object_get_array_member(t, FIELD_TRACKER_STATS))

Program received signal SIGABRT, Aborted.
0x00007ffff52923a5 in __GI_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
(gdb) frame
#0  0x00007ffff52923a5 in __GI_raise (sig=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:64
64      in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) bt
#0  0x00007ffff52923a5 in __GI_raise (sig=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff5295b0b in __GI_abort () at abort.c:92
#2  0x00007ffff5acc4ad in g_assertion_message (domain=<optimized out>, 
file=<optimized out>, line=<optimized out>, 
    func=0x439700 "torrent_get_tracker_stats", message=0xc7e1f0 "assertion failed: (json_object_get_array_member(t, FIELD_TRACKER_STATS))")
    at /build/buildd/glib2.0-2.30.0/./glib/gtestutils.c:1425
#3  0x00007ffff5acc9d2 in g_assertion_message_expr (domain=0x0, file=0x439135 
"torrent.c", line=55, func=0x439700 "torrent_get_tracker_stats", 
    expr=<optimized out>) at /build/buildd/glib2.0-2.30.0/./glib/gtestutils.c:1436
#4  0x0000000000415c10 in torrent_get_tracker_stats (t=0x0) at torrent.c:55
#5  0x000000000041632a in torrent_has_tracker (t=0x0, rx=0x861ae0, 
search=0x871b60 "TRACKERNAMEREMOVED") at torrent.c:334
#6  0x0000000000410415 in trg_torrent_tree_view_visible_func (model=0x7ae920, 
iter=0x7fffffffd7e0, data=0x6d41f0) at trg-main-window.c:1037
#7  0x00007ffff70c9fee in gtk_tree_model_filter_visible (filter=<optimized 
out>, child_iter=<optimized out>)
    at /build/buildd/gtk+2.0-2.24.6/gtk/gtktreemodelfilter.c:764
#8  0x00007ffff70cedb5 in gtk_tree_model_filter_row_inserted 
(c_model=<optimized out>, c_path=0x7b0e60, c_iter=<optimized out>, 
data=0x69e8e0)
    at /build/buildd/gtk+2.0-2.24.6/gtk/gtktreemodelfilter.c:1553
#9  0x00007ffff5f6e0a4 in g_closure_invoke (closure=0x7a9ba0, return_value=0x0, 
n_param_values=3, param_values=0x952630, 
    invocation_hint=<optimized out>) at /build/buildd/glib2.0-2.30.0/./gobject/gclosure.c:774
#10 0x00007ffff5f8002a in signal_emit_unlocked_R (node=<optimized out>, 
detail=0, instance=0x7ae920, emission_return=0x0, instance_and_params=0x952630)
    at /build/buildd/glib2.0-2.30.0/./gobject/gsignal.c:3272
#11 0x00007ffff5f896b1 in g_signal_emit_valist (instance=<optimized out>, 
signal_id=<optimized out>, detail=<optimized out>, var_args=<optimized out>)
    at /build/buildd/glib2.0-2.30.0/./gobject/gsignal.c:3003
#12 0x00007ffff5f89852 in g_signal_emit (instance=<optimized out>, 
signal_id=<optimized out>, detail=<optimized out>)
    at /build/buildd/glib2.0-2.30.0/./gobject/gsignal.c:3060
#13 0x00007ffff6fe6d74 in IA__gtk_list_store_insert (list_store=0x7ae920, 
iter=0x7fffffffdce0, position=18)
    at /build/buildd/gtk+2.0-2.24.6/gtk/gtkliststore.c:1039
#14 0x000000000041f0c2 in trg_torrent_model_update (model=0x7ae920, 
tc=0x69e830, response=0x7b1f20, stats=0x7fffffffddb0, mode=0)
    at trg-torrent-model.c:530
#15 0x0000000000410038 in on_torrent_get (data=0xaf71f0, mode=0) at 
trg-main-window.c:952
#16 0x0000000000410119 in on_torrent_get_first (data=0xaf71f0) at 
trg-main-window.c:975
#17 0x00007ffff5aa8a5d in g_main_dispatch (context=0x693a90) at 
/build/buildd/glib2.0-2.30.0/./glib/gmain.c:2441
#18 g_main_context_dispatch (context=0x693a90) at 
/build/buildd/glib2.0-2.30.0/./glib/gmain.c:3011
#19 0x00007ffff5aa9258 in g_main_context_iterate (context=0x693a90, 
block=<optimized out>, dispatch=1, self=<optimized out>)
    at /build/buildd/glib2.0-2.30.0/./glib/gmain.c:3089
#20 0x00007ffff5aa9792 in g_main_loop_run (loop=0x910c00) at 
/build/buildd/glib2.0-2.30.0/./glib/gmain.c:3297
#21 0x00007ffff6fe8dc7 in IA__gtk_main () at 
/build/buildd/gtk+2.0-2.24.6/gtk/gtkmain.c:1259
---Type <return> to continue, or q <return> to quit---
#22 0x000000000040ce8a in main (argc=1, argv=0x7fffffffe108) at main.c:174

}}}

Original issue reported on code.google.com by reardo...@gmail.com on 28 Sep 2011 at 10:19

GoogleCodeExporter commented 9 years ago
Shouldn't happen, but added a null check in there. Let me know if it keeps 
happening.

Original comment by a...@eth0.org.uk on 1 Oct 2011 at 6:27