Opened 12 years ago

Closed 12 years ago

#2460 closed Bug (fixed)

Crash when modifying a .torrent's trackers.

Reported by: Rolcol Owned by: charles
Priority: Normal Milestone: None Set
Component: libtransmission Version: 1.75+
Severity: Normal Keywords:
Cc:

Description

The new multi-tracker code won't let me modify the trackers and causes a crash. This crash report is two days old but it's the same problem even up to r9219.

http://transmission.pastebin.com/m78cf6686 :

Tested a public tracker.  "http://tracker.publicbt.com:80/announce"
(love the multiple announce)

transmission: torrent.c:2021: tr_torrentSetAnnounceList: Assertion `tr_isTorrent( tor )' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb6e99ac0 (LWP 15699)]
0xb7fc9430 in __kernel_vsyscall ()
(gdb) thread apply all bt

Thread 3 (Thread 0xb6486b90 (LWP 15703)):
#0  0xb7fc9430 in __kernel_vsyscall ()
#1  0xb73677b1 in select () from /lib/tls/i686/cmov/libc.so.6
#2  0x080a3034 in dht_bootstrap (closure=0x9a05680) at tr-dht.c:115
#3  0x0808e6ff in ThreadFunc (_t=0x9a05690) at platform.c:108
#4  0xb73f44ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#5  0xb736f49e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread 0xb6c87b90 (LWP 15702)):
#0  0xb7fc9430 in __kernel_vsyscall ()
#1  0xb7366d59 in ioctl () from /lib/tls/i686/cmov/libc.so.6
#2  0x080e030c in evbuffer_read (buf=0xa4902e0, fd=120, howmuch=1024)
    at buffer.c:361
#3  0x080b7892 in tr_peerIoTryRead (io=0xb5a31de8, howmuch=1024)
    at peer-io.c:810
#4  0x080b7bd3 in tr_peerIoFlush (io=0xb5a31de8, dir=TR_PEER_TO_CLIENT, 
    limit=1024) at peer-io.c:868
#5  0x080ae7de in phaseOne (peerArray=0xb6c871d8, dir=TR_PEER_TO_CLIENT)
    at bandwidth.c:216
#6  0x080aea09 in tr_bandwidthAllocate (b=0x99ec9b0, dir=TR_PEER_TO_CLIENT, 
    period_msec=500) at bandwidth.c:273
#7  0x080be704 in bandwidthPulse (vmgr=0x99ee290) at peer-mgr.c:2635
---Type <return> to continue, or q <return> to quit---
#8  0x080a4783 in timerCallback (fd=-1, event=1, vtimer=0xa09b878)
    at trevent.c:303
#9  0x080dfe9c in event_base_loop (base=0x99ec148, flags=0) at event.c:385
#10 0x080dffda in event_loop (flags=0) at event.c:461
#11 0x080dfff2 in event_dispatch () at event.c:399
#12 0x080a44f2 in libeventThreadFunc (veh=0x99ebb20) at trevent.c:239
#13 0x0808e6ff in ThreadFunc (_t=0x99e7120) at platform.c:108
#14 0xb73f44ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#15 0xb736f49e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb6e99ac0 (LWP 15699)):
#0  0xb7fc9430 in __kernel_vsyscall ()
#1  0xb72b66d0 in raise () from /lib/tls/i686/cmov/libc.so.6
#2  0xb72b8098 in abort () from /lib/tls/i686/cmov/libc.so.6
#3  0xb72af5ce in __assert_fail () from /lib/tls/i686/cmov/libc.so.6
#4  0x080a134e in tr_torrentSetAnnounceList (tor=0x0, trackers=0xa64f9b8, 
    trackerCount=2) at torrent.c:2021
#5  0x080688ee in onEditTrackersResponse (dialog=0xa4c38c0, response=-3, 
    data=0xa4555e0) at details.c:1874
#6  0xb76e30ec in g_cclosure_marshal_VOID () from /usr/lib/libgobject-2.0.so.0
#7  0xb76d5c7b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#8  0xb76ebe57 in ?? () from /usr/lib/libgobject-2.0.so.0
#9  0xb76ed4b9 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#10 0xb76ed936 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#11 0xb7b12b31 in gtk_dialog_response () from /usr/lib/libgtk-x11-2.0.so.0
#12 0xb76e33a4 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#13 0xb76d5c7b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#14 0xb76ebe57 in ?? () from /usr/lib/libgobject-2.0.so.0
#15 0xb76ed4b9 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#16 0xb76ed936 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#17 0xb7ae0bda in gtk_button_clicked () from /usr/lib/libgtk-x11-2.0.so.0
#18 0xb7ae21f8 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#19 0xb76e33a4 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#20 0xb76d43d9 in ?? () from /usr/lib/libgobject-2.0.so.0
#21 0xb76d5c7b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#22 0xb76eb6c0 in ?? () from /usr/lib/libgobject-2.0.so.0
#23 0xb76ed4b9 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#24 0xb76ed936 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#25 0xb7ae0c7a in gtk_button_released () from /usr/lib/libgtk-x11-2.0.so.0
#26 0xb7ae0cb3 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#27 0xb7b9b526 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#28 0xb76d43d9 in ?? () from /usr/lib/libgobject-2.0.so.0
#29 0xb76d5c7b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#30 0xb76ebaff in ?? () from /usr/lib/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#31 0xb76ed34f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#32 0xb76ed936 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#33 0xb7cb62ae in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#34 0xb7b93f7c in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#35 0xb7b95327 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#36 0xb7a2234a in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#37 0xb764cb88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#38 0xb76500eb in ?? () from /usr/lib/libglib-2.0.so.0
#39 0xb76505ba in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#40 0xb7b957d9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#41 0x0806d9ec in main (argc=1, argv=0xbf9919f4) at main.c:468
(gdb)

Attachments (1)

tr-details-t.txt (816 bytes) - added by stdisease 12 years ago.
Avoids Crash

Download all attachments as: .zip

Change History (7)

Changed 12 years ago by stdisease

Avoids Crash

comment:1 Changed 12 years ago by stdisease

The patch attached will avoid the crash. Use at your own risk. Newly added trackers won't be visible until next time T is started.

comment:2 Changed 12 years ago by charles

@Rolcol: does this problem persist in r9242 and higher?

comment:3 Changed 12 years ago by Rolcol

Just tried r9251 and it's been fixed by the looks of it. I'll let you close the ticket since I don't know how to appropriately.

comment:4 Changed 12 years ago by livings124

  • Resolution set to worksforme
  • Status changed from new to closed

comment:5 Changed 12 years ago by charles

  • Resolution worksforme deleted
  • Status changed from closed to reopened

comment:6 Changed 12 years ago by charles

  • Resolution set to fixed
  • Status changed from reopened to closed
Note: See TracTickets for help on using tickets.