|
On the logic of the file checking: msg#00038network.bit-torrent.libtorrent
Hi everyone, We've been so happy using libtorrent, having everything going smooth and good, before we suddenly bumped into some strange problem. Before we met the problem, we just download each file... then one day the downloading is quite ok to us, so we try to seed the file. Seeding is quite ok before we close the program and restart it. When we restart the program with no resume data, the program crashes due to the failure of an assertion. // if we're not in compact mode, make sure the // pieces are spread out and placed at their // final position. assert(!m_unallocated_slots.empty()); // Line 1401, storage.cpp, version 0.9.1 We tracked the code and found that when the "do the full check part" is about to end, it changes the state to allocating. Then the check_files() function is again called, the assertion fails quite reasonably: we have already downloaded the file, there is nothing unallocated! It seems to me a flaw in the logic, though I still don't quite follow it since I'm not really reading the compact mode code. BTW, we're not using the compact mode. I diff'ed the storage.cpp's of the two versions, 0.9.1 and 0.9.2, the logic seems the same so we didn't try the newer version. We'll be so grateful if anyone solves the myth for us, Yichao Rȧ�:&q�[���y�hv����^y�h��i��py����z�r���!���n}�h�ꮉ�%����ފ{^���y�^r薈2����쨺��m欉�ã 塧HŞm*az����bq�b�t�����]5m�v����!xg��x��m���zV���ږF�����\� |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Errors when compiling libtorrent-0.9.2-060421.tar.gz: 00038, Tianhao Qiu |
|---|---|
| Next by Date: | Re: On the logic of the file checking: 00038, Arvid Norberg |
| Previous by Thread: | Errors when compiling libtorrent-0.9.2-060421.tar.gzi: 00038, Tianhao Qiu |
| Next by Thread: | Re: On the logic of the file checking: 00038, Arvid Norberg |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |