This forum has been archived. All content is frozen. Please use KDE Discuss instead.

downloaded >4.200.000.000 chunks [svn 563393]

Tags: None
(comma "," separated)
snap
Registered Member
Posts
20
Karma
0
i merged 2 similar downloads (different torrents, similar files, but different files downloaded) via cp on my comandline. The torrent was not running, but queued in seeder tab. The files i added were not selected in the torrent.

Following things happened:
- as i wanted to activate the files for download, so the new file size for the added files would be known, it showed 0% for that files
- i used the chunk checker after selecting all files i copied into the torrent directory to let ktorrent find out that they were here -> ktorrent found the partially downloaded files and showed the right percentage of download for them.
- after that, i selected a file which was next to a file i added -> ktorrent crashed (see bt)
- i restartet ktorrent and it showed me for the torrent, where i added the files over 4.2*10^9 downloaded chunks and that i had -107% downloaded (integer underflow?). i don't know, if this numbers where there before.

Code: Select all
0x00002b2a04b71330 in bt::Chunk::getStatus (this=0x0) at chunk.h:119
119                     return status;
(gdb) bt
#0  0x00002b2a04b71330 in bt::Chunk::getStatus (this=0x0) at chunk.h:119
#1  0x00002b2a04badde2 in bt::ChunkSelector::reincluded (this=0x977e60, from=1, to=4294967295)
    at chunkselector.cpp:157
#2  0x00002b2a04b7e1ce in bt::Downloader::onIncluded (this=0x978210, from=1, to=4294967295)
    at downloader.cpp:624
#3  0x00002b2a04b7e6a5 in bt::Downloader::qt_invoke (this=0x978210, _id=11, _o=0x7fffff8a1400)
    at downloader.moc:149
#4  0x00002b2a06ac3cb9 in QObject::activate_signal () from /usr/qt/3/lib64/libqt-mt.so.3
#5  0x00002b2a04b70f82 in bt::ChunkManager::included (this=0x904570, t0=1, t1=4294967295)
    at chunkmanager.moc:133
#6  0x00002b2a04b6f7e8 in bt::ChunkManager::include (this=0x904570, from=1, to=4294967295)
    at chunkmanager.cpp:480
#7  0x00002b2a04b70255 in bt::ChunkManager::downloadStatusChanged (this=0x904570, tf=0x904678,
    download=true) at chunkmanager.cpp:661
#8  0x00002b2a04b710ce in bt::ChunkManager::qt_invoke (this=0x904570, _id=2, _o=0x7fffff8a1630)
    at chunkmanager.moc:145
#9  0x00002b2a06ac3cb9 in QObject::activate_signal () from /usr/qt/3/lib64/libqt-mt.so.3
#10 0x00002b2a04bacf7c in bt::TorrentFile::downloadStatusChanged (this=0x904678, t0=0x904678, t1=true)
    at torrentfile.moc:105
#11 0x00002b2a04bacac6 in bt::TorrentFile::setDoNotDownload (this=0x904678, dnd=false) at torrentfile.cpp:76
#12 0x00002b2a04be0add in kt::FileTreeItem::stateChange (this=0x12f25e0, on=true) at filetreeitem.cpp:82
#13 0x00002b2a06b9f8d0 in QCheckListItem::setState () from /usr/qt/3/lib64/libqt-mt.so.3
#14 0x00002b2a06b9fe25 in QCheckListItem::activate () from /usr/qt/3/lib64/libqt-mt.so.3
#15 0x00002b2a06ba20a4 in QListView::contentsMousePressEventEx () from /usr/qt/3/lib64/libqt-mt.so.3
#16 0x00002b2a057d4fc0 in KListView::contentsMousePressEvent () from /usr/kde/3.5/lib64/libkdeui.so.4
#17 0x00002b2a06bc4e9b in QScrollView::viewportMousePressEvent () from /usr/qt/3/lib64/libqt-mt.so.3
#18 0x00002b2a06bc7149 in QScrollView::eventFilter () from /usr/qt/3/lib64/libqt-mt.so.3
#19 0x00002b2a06b9a4fe in QListView::eventFilter () from /usr/qt/3/lib64/libqt-mt.so.3
#20 0x00002b2a06ac0f17 in QObject::activate_filters () from /usr/qt/3/lib64/libqt-mt.so.3
#21 0x00002b2a06ac0ffe in QObject::event () from /usr/qt/3/lib64/libqt-mt.so.3
#22 0x00002b2a06af6b43 in QWidget::event () from /usr/qt/3/lib64/libqt-mt.so.3
#23 0x00002b2a06a66add in QApplication::internalNotify () from /usr/qt/3/lib64/libqt-mt.so.3
#24 0x00002b2a06a67039 in QApplication::notify () from /usr/qt/3/lib64/libqt-mt.so.3
#25 0x00002b2a05dc50da in KApplication::notify () from /usr/kde/3.5/lib64/libkdecore.so.4
#26 0x00002b2a06a07aff in QETWidget::translateMouseEvent () from /usr/qt/3/lib64/libqt-mt.so.3
#27 0x00002b2a06a06541 in QApplication::x11ProcessEvent () from /usr/qt/3/lib64/libqt-mt.so.3
...


better for the above problem with manually importing files: if the file was not partially downloaded/downloaded at all, check if it exists in the folder and run chunkchecker to find out what parts of the file exist
- if the file was replaced with another file, check if you upload if the chunks are really ok and run chunkchecker if that happens some time OR tell the user that he needs to use the chunkchecker manually after 'importing' files manually (documentation)

besides this misuse of ktorrent and cp it should not crash :twisted:
George
Moderator
Posts
5421
Karma
1

Tue Jul 18, 2006 5:01 pm
I have thrown in some safety checks and have prevented the most likely cause of this problem. So it shouldn't crash anymore.
snap
Registered Member
Posts
20
Karma
0

Tue Jul 18, 2006 5:14 pm
i will test it the next time i get my hand on 2 similar torrents :twisted:
snap
Registered Member
Posts
20
Karma
0

Fri Jul 21, 2006 3:48 pm
the problem with

2^32-(number of downloaded chunks)

still appears with [svn 564414]. I made no freaky experiments like above, just selected another file in a multifile torrent, which shares a chunk with another file, which already gets downloaded.

The chunk they share was half done as i selected the file.

The newly selected file was small enough to fit into the chunk.

It did not jump immediatelly to this big number but after some time (a minute or so).
George
Moderator
Posts
5421
Karma
1

Sat Jul 22, 2006 7:41 am
Can you send me such a torrent, so I can reproduce it here ?
snap
Registered Member
Posts
20
Karma
0

Sat Jul 22, 2006 10:30 am
George wrote:Can you send me such a torrent, so I can reproduce it here ?

send :D

forgot svn: 564414 (no update)


Bookmarks



Who is online

Registered users: Bing [Bot], Evergrowing, Google [Bot]