I experienced the same problem with corrupted files: lots of the MP3s I downloaded have been recognized to be corrupted by limewire after the download was 100% complete. And the files WERE corrupted (I listened to them and most of them had problems with overlapping sound: sometimes a few seconds were missing, sometimes a short section of the song was repeated).
I noticed that this type of corruption mostly occured when I was downloading from 2 or more sources. I unually initiated such downloads by right-clicking on a non-expanded group of files in the search results and choosing download from the contextual menu. Viewing the results in grouped mode and choosing the group with the most files was my preferred way to select a file for download. I thought that the more sources for a file were available, the smoother the download would be. Since I no longer select a group for download but open the group and choose a single host, I have hardly had any corrupted files.
I have a theory, why this is so and why the corruption happens in the first place:
When Limewire (at least up to version 2.6.5) downloads from more than 1 host, it makes NOT QUITE OPTIMAL assumptions about when two files on different host are IDENTICAL. I guess, that Limewire considers two files to be identical, when the extensions are the same and the filename and the size are somewhat similar. Or in other words: Two files, that are NOT TOO DIFFERENT are considered IDENTICAL. In my experience, Limewire does NOT REQUIRE two files to have the same hash to be considered identical. A reason could be, that in former times a hash was not part of the Gnutella protocol and so even today some old clients don't include a hash with their search results.
But you can make an easy test: Search for some widespread MP3 (e.g. "moby stars") You should get loads of results. Make sure, that the search results are shown in GROUPED mode. Now expand a group with lots of hosts (usually more than 5 are sufficient) and have a closer look at what files have been grouped . Chances are good, that you see not only different filenames (that is not a big problem) but also different SIZES. Try a right click on each of the files and look, if the option to do a Bitzi lookup is available. I suspect, that in the cases where a Bitzi lookup is not available, the corresponding file has been returned without a hash. (This would make sense, since Bitzi lookup is based on hashes.)
Don't know if my theory is all correct, but I would suggest:
The rules, when Limewire considers files to be identical and groups them, should be changed to:
* Two files are identical, when the have the SAME hash, the SAME length and SIMILAR NAMES.
In addition I would suggest, that during a download from 2 or more hosts, the fragments downloaded from each host should overlap and be compared. This way corruption could be easily detected during download.
What do you think? |