Opened 11 years ago

Closed 11 years ago

#3415 closed Bug (fixed)

Crash in trunk when removing multiple torrents.

Reported by: Rolcol Owned by: charles
Priority: Normal Milestone: 2.02
Component: GTK+ Client Version: 2.01
Severity: Normal Keywords:
Cc:

Description

Using r10988

Backtrace:

(gdb) run
Starting program: /home/roly/Desktop/Transmission/gtk/transmission 
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffeb6d2710 (LWP 28679)]
[New Thread 0x7fffeaed1710 (LWP 28680)]
[New Thread 0x7fffea6d0710 (LWP 28681)]

(transmission:28672): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `VALID_ITER (iter, list_store)' failed

(transmission:28672): GLib-GObject-WARNING **: /build/buildd/glib2.0-2.24.1/gobject/gtype.c:4177: type id `0' is invalid

(transmission:28672): GLib-GObject-WARNING **: can't peek value table for type `<invalid>' which is not currently referenced

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6d61675 in gtk_tree_model_get_valist ()
   from /usr/lib/libgtk-x11-2.0.so.0
(gdb) thread apply all bt

Thread 4 (Thread 0x7fffea6d0710 (LWP 28681)):
#0  0x00007ffff4b7711d in nanosleep () from /lib/libpthread.so.0
#1  0x0000000000473716 in tr_wait_msec (msec=2946) at utils.c:805
#2  0x000000000046e457 in nap (roughly_sec=2) at tr-dht.c:94
#3  0x000000000046e9a1 in dht_bootstrap (closure=0x7fffe4001960)
    at tr-dht.c:185
#4  0x00000000004562fa in ThreadFunc (_t=0x7fffe4001990) at platform.c:110
#5  0x00007ffff4b6e9ca in start_thread () from /lib/libpthread.so.0
#6  0x00007ffff30c16fd in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fffeaed1710 (LWP 28680)):
#0  0x00007ffff30b9fe3 in select () from /lib/libc.so.6
#1  0x00000000004768ca in tr_select (nfds=34, r_fd_set=0x7fffeaed0cb0, 
    w_fd_set=0x7fffeaed0c30, c_fd_set=0x7fffeaed0bb0, t=0x7fffeaed0d30)
    at web.c:272
#2  0x0000000000476b5c in tr_webThreadFunc (vsession=0x7b54f0) at web.c:344
#3  0x00000000004562fa in ThreadFunc (_t=0x7b9630) at platform.c:110
#4  0x00007ffff4b6e9ca in start_thread () from /lib/libpthread.so.0
#5  0x00007ffff30c16fd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

---Type <return> to continue, or q <return> to quit---
Thread 2 (Thread 0x7fffeb6d2710 (LWP 28679)):
#0  0x00007ffff30c1cf3 in epoll_wait () from /lib/libc.so.6
#1  0x00007ffff35f389b in ?? () from /usr/lib/libevent-1.4.so.2
#2  0x00007ffff35e6f03 in event_base_loop () from /usr/lib/libevent-1.4.so.2
#3  0x00000000004717f3 in libeventThreadFunc (veh=0x6f49f0) at trevent.c:244
#4  0x00000000004562fa in ThreadFunc (_t=0x6f4ad0) at platform.c:110
#5  0x00007ffff4b6e9ca in start_thread () from /lib/libpthread.so.0
#6  0x00007ffff30c16fd in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffff7fb77c0 (LWP 28672)):
#0  0x00007ffff6d61675 in gtk_tree_model_get_valist ()
   from /usr/lib/libgtk-x11-2.0.so.0
#1  0x00007ffff6d61959 in gtk_tree_model_get ()
   from /usr/lib/libgtk-x11-2.0.so.0
#2  0x0000000000431fb6 in accumulateStatusForeach (model=0x8f84f0, 
    path=0xa5aab0, iter=0x7fffffffbe00, user_data=0x7fffffffbe80) at main.c:289
#3  0x00007ffff6d6ca2b in gtk_tree_selection_selected_foreach ()
   from /usr/lib/libgtk-x11-2.0.so.0
#4  0x0000000000432098 in refreshActions (data=0x6f4960) at main.c:318
#5  0x0000000000432276 in selectionChangedCB (s=0x90d880, data=0x6f4960)
    at main.c:352
#6  0x00007ffff492d5de in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#7  0x00007ffff4941598 in ?? () from /usr/lib/libgobject-2.0.so.0
#8  0x00007ffff4942a76 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
#9  0x00007ffff4942dc8 in g_signal_emit_by_name ()
   from /usr/lib/libgobject-2.0.so.0
#10 0x00007ffff6d75d19 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#11 0x00007ffff492d5de in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#12 0x00007ffff4941598 in ?? () from /usr/lib/libgobject-2.0.so.0
#13 0x00007ffff4942a76 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
#14 0x00007ffff4943033 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#15 0x00007ffff6d66c67 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#16 0x00007ffff492d5de in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#17 0x00007ffff4941598 in ?? () from /usr/lib/libgobject-2.0.so.0
#18 0x00007ffff4942a76 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
#19 0x00007ffff4943033 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#20 0x00007ffff6c7e4ee in gtk_list_store_remove ()
   from /usr/lib/libgtk-x11-2.0.so.0
#21 0x0000000000440f20 in tr_core_remove_torrent_from_id (core=0x788590, id=1, 
    deleteFiles=0) at tr-core.c:1301
#22 0x0000000000440e70 in tr_core_remove_torrent (core=0x788590, 
    gtor=0x95bb50, deleteFiles=0) at tr-core.c:1282
---Type <return> to continue, or q <return> to quit---
#23 0x000000000042b5b0 in removeTorrents (data=0xa6be50) at dialogs.c:164
#24 0x000000000042b60e in removeResponse (dialog=0x8eb330, response=-3, 
    gdata=0xa6be50) at dialogs.c:177
#25 0x00007ffff492d5de in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#26 0x00007ffff4941598 in ?? () from /usr/lib/libgobject-2.0.so.0
#27 0x00007ffff4942a76 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
#28 0x00007ffff4943033 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#29 0x00007ffff492d5de in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#30 0x00007ffff4941598 in ?? () from /usr/lib/libgobject-2.0.so.0
#31 0x00007ffff4942a76 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
#32 0x00007ffff4943033 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#33 0x00007ffff6bdc4e5 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#34 0x00007ffff492d5de in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#35 0x00007ffff4940e61 in ?? () from /usr/lib/libgobject-2.0.so.0
#36 0x00007ffff4942a76 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
#37 0x00007ffff4943033 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#38 0x00007ffff6bdb1ed in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#39 0x00007ffff6c88178 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#40 0x00007ffff492d5de in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#41 0x00007ffff49411dd in ?? () from /usr/lib/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#42 0x00007ffff49428b9 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
#43 0x00007ffff4943033 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#44 0x00007ffff6d9f0bf in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#45 0x00007ffff6c80643 in gtk_propagate_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
#46 0x00007ffff6c8171b in gtk_main_do_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
#47 0x00007ffff68f586c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#48 0x00007ffff42738c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#49 0x00007ffff4277748 in ?? () from /lib/libglib-2.0.so.0
#50 0x00007ffff4277c55 in g_main_loop_run () from /lib/libglib-2.0.so.0
#51 0x00007ffff6c81bb7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#52 0x0000000000432f53 in main (argc=1, argv=0x7fffffffe378) at main.c:663
(gdb) 

Change History (9)

comment:1 follow-up: Changed 11 years ago by charles

Hmm... as is usually the case, I'm not seeing this bug. :)

Please answer the following wall of questions so that the two of us can better figure out what's happening:

  • Could you test and see if this happens in 2.01 as well?
  • Does this happen every time, or occasionally?
  • Do you see a correlation between when those three glib/gtk error messages appear and when it crashes?
  • How many torrents do you have to remove to trigger this behavior?
  • Does this happen when filtering is enabled? When it's disabled?

Thanks!

comment:2 in reply to: ↑ 1 Changed 11 years ago by Rolcol

Replying to charles:

Hmm... as is usually the case, I'm not seeing this bug. :)

Please answer the following wall of questions so that the two of us can better figure out what's happening:

  • Could you test and see if this happens in 2.01 as well?

Not in 2.01

  • Does this happen every time, or occasionally?

Every Time

  • Do you see a correlation between when those three glib/gtk error messages appear and when it crashes?

Those messages appear before the segfault crash every time. I click remove, the dialog pops up, I click "Remove" and it crashes.

  • How many torrents do you have to remove to trigger this behavior?

Removing only 2 at once. It shows up more than 2 at a time as well. It doesn't show up when removing one at a time.

  • Does this happen when filtering is enabled? When it's disabled?

Both were set to "All"

Thanks!

No problem, chief!

Last edited 11 years ago by Rolcol (previous) (diff)

comment:3 follow-up: Changed 11 years ago by charles

Great Caesar's Ghost... don't call me "Chief!"

comment:4 in reply to: ↑ 3 Changed 11 years ago by Rolcol

Replying to charles:

Great Caesar's Ghost... don't call me "Chief!"

No problem, chi--ahem--King Charles

comment:5 Changed 11 years ago by charles

  • Status changed from new to assigned

uh.

Anyway, I think I was using 2.01 last night in testing by accident. Today I'm seeing the crash consistently.

comment:6 Changed 11 years ago by charles

  • Milestone set to 2.02
  • Version changed from 2.01+ to 2.01

...actually now I'm seeing it in 2.01 as well. :/

comment:7 Changed 11 years ago by charles

r10991 seems to solve it for me. Can you update your build and confirm/refute?

comment:8 Changed 11 years ago by Rolcol

This isn't crashing anymore. Fixed for me.

comment:9 Changed 11 years ago by charles

  • Resolution set to fixed
  • Status changed from assigned to closed

fixed in trunk by r10991

fixed in the 2.0x branch by r10992

Note: See TracTickets for help on using tickets.