Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#2110 closed Enhancement (fixed)

Allow adding torrent files with no trackers

Reported by: livings124 Owned by: charles
Priority: Normal Milestone: 1.80
Component: Transmission Version: 1.70
Severity: Normal Keywords:
Cc: jch@…, colrol@…, sascha-web-trac.transmissionbt.com@…

Description

Now that we have DHT, torrents with no trackers should be add-able, assuming that they are not private torrents.

Change History (14)

comment:1 Changed 12 years ago by livings124

  • Milestone changed from 1.70 to None Set

comment:2 Changed 12 years ago by jch

  • Cc jch@… added

comment:3 Changed 12 years ago by charles

  • Milestone changed from None Set to 1.80
  • Owner set to charles
  • Status changed from new to assigned

comment:4 Changed 12 years ago by Rolcol

  • Cc colrol@… added

comment:5 Changed 12 years ago by jatorno

  • Cc sascha-web-trac.transmissionbt.com@… added

comment:6 Changed 12 years ago by charles

  • Version changed from 1.60+ to 1.70

comment:7 follow-up: Changed 12 years ago by cred

In one of my torrents I had one tracker that gave "announcing failed" error according to Transmission. Because of this error downloading was stopped even when I had clients via DHT.

comment:8 in reply to: ↑ 7 Changed 12 years ago by charles

Replying to cred:

In one of my torrents I had one tracker that gave "announcing failed" error according to Transmission. Because of this error downloading was stopped even when I had clients via DHT.

That doesn't really have anything to do with this ticket though. I think the problem you're seeing is the same as #2372

comment:9 Changed 12 years ago by charles

comment:10 Changed 12 years ago by Rolcol

Crash when removing all the trackers in a torrent. (GTK+ UI)

roly@rolyslaptop:~$ gdb Desktop/Transmission/gtk/transmission 
GNU gdb (GDB) 7.0-ubuntu
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/roly/Desktop/Transmission/gtk/transmission...done.
(gdb) handle SIGPIPE nostop noprint pass
Signal        Stop	Print	Pass to program	Description
SIGPIPE       No	No	Yes		Broken pipe
(gdb) run
Starting program: /home/roly/Desktop/Transmission/gtk/transmission 
[Thread debugging using libthread_db enabled]
[New Thread 0xb7eadb70 (LWP 20399)]
[New Thread 0xb76acb70 (LWP 20400)]
[New Thread 0xb6542b70 (LWP 20401)]

Program received signal SIGSEGV, Segmentation fault.
0x080a1168 in tr_torrentSetAnnounceList (tor=0x8373748, trackers=0x0, 
    trackerCount=0) at torrent.c:2130
2130	        tr_bencDictAddStr( &metainfo, "announce", trackers[0].announce );
(gdb) thread apply all bt

Thread 4 (Thread 0xb6542b70 (LWP 20401)):
#0  0x00ebc144 in sha1_block_asm_data_order ()
   from /lib/i686/cmov/libcrypto.so.0.9.8
#1  0x5e9d85ed in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 3 (Thread 0xb76acb70 (LWP 20400)):
#0  0x00b4d422 in __kernel_vsyscall ()
#1  0x01099981 in select () from /lib/tls/i686/cmov/libc.so.6
#2  0x080a3ec6 in nap (roughly=2) at tr-dht.c:89
#3  0x080a43ee in dht_bootstrap (closure=0x81829b8) at tr-dht.c:180
#4  0x0808e78b in ThreadFunc (_t=0x8160ff8) at platform.c:108
#5  0x00e5880e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#6  0x010a07ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread 0xb7eadb70 (LWP 20399)):
#0  0x080bad0e in tr_isAddress (a=0x84eebe0) at net.h:94
#1  0x080bb272 in tr_isAtom (atom=0x84eebd8) at peer-mgr.c:130
#2  0x080bb3d4 in comparePeerAtoms (va=0x84f2198, vb=0x84eebd8)
    at peer-mgr.c:274
#3  0x0808f8d8 in assertSortedAndUnique (t=0x835ff54, 
    compare=0x80bb3bd <comparePeerAtoms>) at ptrarray.c:181
---Type <return> to continue, or q <return> to quit---
#4  0x0808f96c in tr_ptrArrayInsertSorted (t=0x835ff54, ptr=0x84f3320, 
    compare=0x80bb3bd <comparePeerAtoms>) at ptrarray.c:193
#5  0x080bda06 in ensureAtomExists (t=0x835ff48, addr=0x84db690, port=994, 
    flags=0 '\000', from=1 '\001') at peer-mgr.c:1407
#6  0x080be1a5 in tr_peerMgrAddPex (tor=0x835f888, from=1 '\001', 
    pex=0x84db690) at peer-mgr.c:1587
#7  0x0809c747 in onTrackerResponse (tracker=0x8377ad0, vevent=0xb7eace6c, 
    user_data=0x835f888) at torrent.c:315
#8  0x080c805d in tr_publisherPublish (p=0x835580c, source=0x8377ad0, 
    event=0xb7eace6c) at publish.c:65
#9  0x080abdd1 in publishNewPeers (tier=0x8377ad0, allAreSeeds=0 '\000', 
    compact=0x84effd0, compactLen=4400) at announcer.c:570
#10 0x080abf22 in publishNewPeersCompact (tier=0x8377ad0, 
    allAreSeeds=0 '\000', compact=0x84ee720, compactLen=1200)
    at announcer.c:602
#11 0x080ada5d in parseAnnounceResponse (tier=0x8377ad0, 
    response=0x84eda90 "d8:completei1126e10:downloadedi10e10:incompletei1070e8:intervali1696e12:min intervali848e5:peers1200:w\254k\006\340\370y\006\216\255u\275z\024\321ˎd|\305\035\343\305\366\276\325s>\307Q\313\333A\213}}\322\tC=\032\327\334\377\auSrD\350A\230\330Юs\315\027;}\322\301\020\236\247\245\325p'k`6\334\351D\367:#:l\340\304\062\262<0\256Z\356<J36]\254\362LWl"..., responseLen=1302, 
    gotScrape=0xb7ead06b "") at announcer.c:1142
#12 0x080add5a in onAnnounceDone (session=0x81591f0, responseCode=200, 
---Type <return> to continue, or q <return> to quit---
    response=0x84eda90, responseLen=1302, vdata=0x8409f70) at announcer.c:1212
#13 0x080aa2f5 in task_finish (task=0x843a800, response_code=200) at web.c:281
#14 0x080aa4f9 in remove_finished_tasks (g=0x816bc40) at web.c:329
#15 0x080aa95f in tr_multi_perform (g=0x816bc40, fd=-1) at web.c:411
#16 0x080aa9f8 in event_cb (fd=39, kind=2, g=0x816bc40) at web.c:430
#17 0x00d6a248 in event_base_loop () from /usr/lib/libevent-1.4.so.2
#18 0x00d6a3c9 in event_loop () from /usr/lib/libevent-1.4.so.2
#19 0x00d6a3ee in event_dispatch () from /usr/lib/libevent-1.4.so.2
#20 0x080a60f8 in libeventThreadFunc (veh=0x8159078) at trevent.c:240
#21 0x0808e78b in ThreadFunc (_t=0x8155e20) at platform.c:108
#22 0x00e5880e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#23 0x010a07ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb7fda730 (LWP 20396)):
#0  0x080a1168 in tr_torrentSetAnnounceList (tor=0x8373748, trackers=0x0, 
    trackerCount=0) at torrent.c:2130
#1  0x080684a0 in onEditTrackersResponse (dialog=0x83ea118, response=-3, 
    data=0x83ad360) at details.c:1928
#2  0x00a40748 in g_cclosure_marshal_VOID(int0_t) ()
   from /usr/lib/libgobject-2.0.so.0
#3  0x00a33072 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#4  0x00a487a8 in ?? () from /usr/lib/libgobject-2.0.so.0
#5  0x00a49b2d in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#6  0x00a49fb6 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#7  0x0043b961 in gtk_dialog_response () from /usr/lib/libgtk-x11-2.0.so.0
#8  0x00a409fc in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#9  0x00a33072 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#10 0x00a487a8 in ?? () from /usr/lib/libgobject-2.0.so.0
#11 0x00a49b2d in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#12 0x00a49fb6 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#13 0x0040988a in gtk_button_clicked () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x0040aea8 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#15 0x00a409fc in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#16 0x00a316f9 in ?? () from /usr/lib/libgobject-2.0.so.0
#17 0x00a33072 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#18 0x00a480b0 in ?? () from /usr/lib/libgobject-2.0.so.0
#19 0x00a49b2d in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#20 0x00a49fb6 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#21 0x0040992a in gtk_button_released () from /usr/lib/libgtk-x11-2.0.so.0
#22 0x00409963 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#23 0x004c9474 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#24 0x00a316f9 in ?? () from /usr/lib/libgobject-2.0.so.0
#25 0x00a33072 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#26 0x00a4849e in ?? () from /usr/lib/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#27 0x00a499b8 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#28 0x00a49fb6 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#29 0x005e596e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#30 0x004c1c20 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#31 0x004c2ea9 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#32 0x0016562a in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#33 0x00ba9e78 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#34 0x00bad720 in ?? () from /lib/libglib-2.0.so.0
#35 0x00badb8f in g_main_loop_run () from /lib/libglib-2.0.so.0
#36 0x004c3419 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#37 0x0806d937 in main (argc=1, argv=0xbffff524) at main.c:470
(gdb) 

{{{

}}}

comment:11 Changed 12 years ago by charles

r9572 libtransmission/torrent.c: (trunk libT) #2110: "allow adding torrents with no trackers" -- fix crash in tr_torrentSetAnnounceList() when the new number of trackers is 0. Reported by Rolcol.

comment:12 Changed 12 years ago by charles

I think this ticket is done now...

comment:13 Changed 12 years ago by charles

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

comment:14 Changed 12 years ago by charles

charles * r9580 gtk/ (tr-core.c tr-window.c): (trunk gtk) #2110 "allow adding torrents with no trackers" - don't crash when sorting or filtering by tracker. (Reported by Rolcol and jch)

Note: See TracTickets for help on using tickets.