aMule Forum

English => aMule Help => Topic started by: pellibus on August 04, 2016, 03:39:18 PM

Title: Corrupts packets in Synology aMule
Post by: pellibus on August 04, 2016, 03:39:18 PM
Hi,

In my Synology NAS, I use the aMule build by Synology on download station.

I note since many years that download tasks contain lots of corrupts 9.28 MB packets and aMule wait the end of download to found corrupts packets and reset the task to the beginning.

So downloads are too long and it is bad for others eMule user who download corrupt packets.

I note in windows eMule that corrupts packets are identified immediately, with AICH if I understand well.

So maybe their is a problem with AICH in Synology aMule?

I found in amule.conf ICH=1 and AICHTrust=0. Do you know I have to set AICHTrust at 1?

Do you have any other idea? :)

From a windows eMule, aMule clients are sometimes shown like in attachment. It is maybe related to the previous problem.
(http://forum.amule.org/index.php?action=dlattach;topic=21357.0;attach=6618)

I contact Synology support about that but I have the feeling that they don't understand what's wrong...

Sorry for my bad English and thank you for reading!

Florian
Title: Re: Corrupts packets in Synology aMule
Post by: HKM on August 04, 2016, 07:57:49 PM
First of all Synology Tech Support can't help you as they have no idea regarding 3rd party projects as aMule. Now as you suspected you can turn on AICH by changing value from 0 to 1 to cut down corruption.

Quote
Once the part/chunk (9.28MB) is downloaded its hashed (sha1 verifying hash of string block hash (chunk is divided in 53x parts (52 180KB + 1 140KB))) for it to be known and verified for sharing to match until file is fully completed as original root hash is matched. Now upon result of corruption of chunk the client would redownload the chunk in order of divided parts to get it correctly so whole chunk is avoided for redownloading as it will download 180KB of the part of the chunk and next so forth. Since the block hash are considered reliable the each 180KB part which is corrupted will be hashed in order to compare the resulting hash with the received block hash. So if they are same the part is okay and there is no need to download it again. But if the hash is different the part is corrupted and it will redownload it again. The purpose of it is to make client know if received block hashs are fake or corrupted.
Title: Re: Corrupts packets in Synology aMule
Post by: GonoszTopi on August 05, 2016, 10:41:41 AM
Do you know I have to set AICHTrust at 1?

Setting it to 1 is not recommended. It will make AICH trust every hash and make it accept hashes from untrusted sources. This could lead to accepting false/corrupt files without notice, moreover, sharing it back to the network.
Title: Re: Corrupts packets in Synology aMule
Post by: pellibus on August 05, 2016, 10:59:16 AM
Hi HKM and GonoszTopi, and thank you for answers!

I changed AICHTrust value from 0 to 1 to try, but it's maybe to early to know if it's better than before.

According with GonoszTopi, I will stop and come back to 0. But is it really possible to have corrupt file with the final check with the root md4 hash?

I noted that in windows eMule, although tasks have "AICH hash" at "Unknown", eMule can found corrupted part/chunk:

Quote
10:43:55: Downloaded part 515 is corrupt :(  (filename.123)

Do you understand how ? Do you know what I can do in my Synology NAS aMule to do the same operation?

Thank you again for your interest!

Florian
Title: Re: Corrupts packets in Synology aMule
Post by: GonoszTopi on August 05, 2016, 12:37:57 PM
aMule does the same. Although in this case it has to redownload the whole 9.28 Mb part (or at least until the corrupt part is overwritten with good data). With AICH it knows which 180 kb chunk is corrupt and needs to redownload only that.
Title: Re: Corrupts packets in Synology aMule
Post by: pellibus on August 05, 2016, 03:19:11 PM
Synology aMule seems to have a problem with that because tasks are downloaded until the end, checked probably with root md4 hash, then corrupted 9.28 Mb parts are downloaded again if necessary. And until this check is done, Synology aMule send to others clients lots of corrupt packets (cf "10:43:55: Downloaded part 515 is corrupt :(  (filename.123)".

I am not very strong but that's what I understand.

And I don't understand why my Synology aMule tasks are shown like that by my Windows eMule:
(http://forum.amule.org/index.php?action=dlattach;topic=21357.0;attach=6618)

It have the feeling it is related to the previous problem.

If it can help, I can send others informations about default Synology aMule configuration (amule.conf...).

Thank you very much!

Florian
Title: Re: Corrupts packets in Synology aMule
Post by: GonoszTopi on August 06, 2016, 09:04:25 AM
So, if I understand you well, you get the message "Downloaded part NNN is corrupt" only when the whole file finished downloading?
Title: Re: Corrupts packets in Synology aMule
Post by: pellibus on August 09, 2016, 01:09:51 PM
This picture shows an aMule task in Synology aMule.
(http://forum.amule.org/index.php?action=dlattach;topic=21357.0;attach=6620)

This picture shows the same task at the same time in Windows eMule. The Synology aMule client is visible from Windows eMule, it is on the first line (client with the heart).
(http://forum.amule.org/index.php?action=dlattach;topic=21357.0;attach=6622)

I notice that the task progression is shown at 27.7% in Synology aMule, and the blue parts of aMule client visible in eMule represent may be 80.0%. This is strange.

And eMule download very slowly (314 B/s on the picture) from aMule, and generate lots of:
09/08/2016 11:56:19: Downloaded part 60 is corrupt :(  (filename.123)
09/08/2016 11:56:53: Downloaded part 66 is corrupt :(  (filename.123)
09/08/2016 11:57:27: Downloaded part 45 is corrupt :(  (filename.123)
09/08/2016 11:58:01: Downloaded part 13 is corrupt :(  (filename.123)
09/08/2016 11:58:35: Downloaded part 24 is corrupt :(  (filename.123)
09/08/2016 11:59:05: Downloaded part 22 is corrupt :(  (filename.123)
09/08/2016 11:59:39: Downloaded part 69 is corrupt :(  (filename.123)
...

And usually, blue parts of my Synology aMule are strangely grouped like that:
(http://forum.amule.org/index.php?action=dlattach;topic=21357.0;attach=6618)

To sum up, I have typically this problems with some aMule client:

I see these problems only with some 2.3.1 aMule clients but not with all 2.3.1 aMule clients. I can't distinguish Synology aMule from others 2.3.1 aMule, but I think all problems come from Synology aMule.
Title: Re: Corrupts packets in Synology aMule
Post by: GonoszTopi on September 05, 2016, 12:18:35 PM
Okay, I see.

You're using an aMule executable that was created by the Synology Team, and they may have or may not have any changes applied to the source, it's unclear. What is clear, that aMule seems to send broken availability information to your eMule client (and probably to others, too). No wonder you have lots of "downloaded part NN is corrupt" messages, aMule doesn't have those parts either.

It would be interesting to capture a session between the Synology aMule and Windows eMule with wireshark, maybe that could help identifying the exact problem. But for now I'm afraid your only chances are either using a self-compiled version of aMule (if it's an option at all) or stop using aMule on Synology.