aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: Corrupts packets in Synology aMule  (Read 2434 times)

pellibus

  • Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 4
Corrupts packets in Synology aMule
« 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.


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
« Last Edit: August 04, 2016, 03:46:28 PM by pellibus »
Logged

HKM

  • Jr. Member
  • **
  • Karma: 4
  • Offline Offline
  • Posts: 76
  • You don't know enough to know that you don't know.
Re: Corrupts packets in Synology aMule
« Reply #1 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.
Logged

GonoszTopi

  • The current man in charge of most things.
  • Administrator
  • Hero Member
  • *****
  • Karma: 165
  • Offline Offline
  • Posts: 2674
Re: Corrupts packets in Synology aMule
« Reply #2 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.
Logged
concordia cum veritate

pellibus

  • Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 4
Re: Corrupts packets in Synology aMule
« Reply #3 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
Logged

GonoszTopi

  • The current man in charge of most things.
  • Administrator
  • Hero Member
  • *****
  • Karma: 165
  • Offline Offline
  • Posts: 2674
Re: Corrupts packets in Synology aMule
« Reply #4 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.
Logged
concordia cum veritate

pellibus

  • Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 4
Re: Corrupts packets in Synology aMule
« Reply #5 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:


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
Logged

GonoszTopi

  • The current man in charge of most things.
  • Administrator
  • Hero Member
  • *****
  • Karma: 165
  • Offline Offline
  • Posts: 2674
Re: Corrupts packets in Synology aMule
« Reply #6 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?
Logged
concordia cum veritate

pellibus

  • Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 4
Re: Corrupts packets in Synology aMule
« Reply #7 on: August 09, 2016, 01:09:51 PM »

This picture shows an aMule task in Synology aMule.


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).


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:


To sum up, I have typically this problems with some aMule client:
  • Progression shown in aMule Synology interface is frequently incoherent with the progression shown in eMule
  • eMule client download lots of corrupt parts from Synology aMule (including when AICH hash is on "Unknown" in eMule)
  • Viewed from eMule, parts available of Synology aMule are frequently grouped

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.
« Last Edit: August 09, 2016, 01:40:32 PM by pellibus »
Logged

GonoszTopi

  • The current man in charge of most things.
  • Administrator
  • Hero Member
  • *****
  • Karma: 165
  • Offline Offline
  • Posts: 2674
Re: Corrupts packets in Synology aMule
« Reply #8 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.
Logged
concordia cum veritate