You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
plz see pull request #656 for an end-to-end integration test
The first issue I am hitting is inability to create a v2 torrent (did not test v1) that would include such a file due to ArgumentOutOfRangeException:
IPieceWriterExtensions.ReadFromFilesAsync(IPieceWriter writer, ITorrentManagerInfo manager, BlockInfo request, Memory1 buffer) line 47 ReusableTaskAwaiter1.GetResult()
MemoryCache.ReadAsync(ITorrentManagerInfo torrent, BlockInfo block, Memory1 buffer) line 142 ReusableTaskAwaiter1.GetResult()
DiskManager.ReadAsync(ITorrentManagerInfo manager, BlockInfo request, Memory1 buffer) line 490 ReusableTaskAwaiter1.GetResult()
DiskManager.GetHashAsync(ITorrentManagerInfo manager, Int32 pieceIndex, PieceHash dest) line 375
DiskManager.GetHashAsync(ITorrentManagerInfo manager, Int32 pieceIndex, PieceHash dest) line 399
ReusableTaskAwaiter`1.GetResult()
TorrentCreator.CalcPiecesHash(ITorrentManagerInfo manager, CancellationToken token) line 424
TorrentCreator.CreateAsync(String name, ITorrentFileSource fileSource, CancellationToken token) line 294
TorrentCreator.CreateAsync(ITorrentFileSource fileSource, CancellationToken token) line 241
IntegrationTestsBase.CreateAndDownloadTorrent(TorrentType torrentType, Boolean createEmptyFile, Boolean explitlyHashCheck, Int32 nonEmptyFileCount, Boolean useWebSeedDownload, Int64 fileSize) line 197
IntegrationTestsBase.DownloadFileInTorrent_V2_Empty_And_BigNonEmpty() line 113
I have my own fork where I replaced a few ints and floating point math with longs: lostmsu@08893f7 , but even with that fix for some reason creating a torrent succeeds, but when attempting to seed >2GB files fail hash check.
The text was updated successfully, but these errors were encountered:
FYI, the abovementioned commit 08893f7 has a couple of critical bugs in IntMath (to put it mildly 😁). It should look like this instead:
using System;namespaceMonoTorrent{staticclassIntMath{publicstaticlongPowUnchecked(longvalue,intpower){if(power<0)thrownew ArgumentOutOfRangeException (nameof (power),"Power must be greater than or equal to zero");if(power==0)return1;return(power&1)==0? PowUnchecked (value*value,power>>1):value* PowUnchecked (value,power-1);}publicstaticlongPow(longvalue,intpower){if(power<0)thrownew ArgumentOutOfRangeException (nameof (power),"Power must be greater than or equal to zero");if(power==0)return1;returnchecked((power&1)==0? Pow (value*value,power>>1):value* Pow (value,power-1));}publicstaticintPow(intvalue,intpower){if(power<0)thrownew ArgumentOutOfRangeException (nameof (power),"Power must be greater than or equal to zero");if(power==0)return1;returnchecked((power&1)==0? Pow (value*value,power>>1):value* Pow (value,power-1));}}}
plz see pull request #656 for an end-to-end integration test
The first issue I am hitting is inability to create a v2 torrent (did not test v1) that would include such a file due to
ArgumentOutOfRangeException
:I have my own fork where I replaced a few
int
s and floating point math withlong
s: lostmsu@08893f7 , but even with that fix for some reason creating a torrent succeeds, but when attempting to seed >2GB files fail hash check.The text was updated successfully, but these errors were encountered: