Ticket #1510 (closed defect: fixed)
rtorrent segfault on d.erase command
| Reported by: | bert@biot.com | Owned by: | rakshasa |
|---|---|---|---|
| Priority: | high | Component: | rtorrent |
| Version: | Severity: | major | |
| Keywords: | Cc: |
Description
This was done with a recent (~ 2 days ago) snapshot from the svn trunk of rtorrent. The ~/.rtorrent.rc had something like this:
system.method.set_key = event.download.finished,kill_when_done,"d.stop= ;d.close= ;execute=mv,$d.get_base_path=,/data/torrent ;d.erase="
The execute command is done, i.e. the files are moved to /data/torrent, but when running the d.erase command rtorrent segfaults:
(gdb) bt full
#0 0xb7de9feb in torrent::Download::is_active (this=0x8156af0) at download.cc:189
No locals.
#1 0x080ba8b8 in core::DownloadList::hash_done (this=0x8156af0, download=0xbfd5be04)
at download_list.cc:470
hashing = <value optimized out>
#2 0x080bbece in sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::bound_mem_functor1<void, core::DownloadList, core::Download*>, core::Download*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void>::call_it (rep=0x81c43d8) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1851
No locals.
#3 0xb7e432e2 in torrent::DownloadWrapper::receive_initial_hash (this=0x81f2010)
at /usr/include/sigc++-2.0/sigc++/signal.h:550
No locals.
#4 0xb7e4500b in rak::mem_fn0_t<torrent::DownloadWrapper, void>::operator() (this=0x81c1878)
at ../../rak/functional_fun.h:229
No locals.
#5 0xb7dfbd95 in torrent::perform () at ../../rak/functional_fun.h:102
No locals.
#6 0x080ca316 in core::PollManagerEPoll::poll (this=0x815dee8, timeout={m_time = 673296})
at poll_manager_epoll.cc:73
No locals.
#7 0x08083c96 in main (argc=1, argv=0xbfd5c274) at main.cc:279
firstArg = <value optimized out>
(gdb)
According to Josef, this means the torrent is still getting events after it's been erased, which shouldn't happen.
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

