Bug When Importing Part Files?
#1
Posted 04 August 2006 - 04:43 PM
a) rename my eMule installation dir
install MorphXT 8.13 final from bin-zip into a new fresh eMule dir.
c) copy only the preferences.ini File from my old config dir to the new config dir.
d) rename my eMule-Temp Dir and create a new empty one with the previous name
e) start eMule MorphXT 8.13
f) import *.part Files from old (renamed) Temp Dir with Option to delete successfully imported Files
After that all my currently scheduled Downloads were somewhat corrupted:
- the "remaining size" was off by the size of the File, e.g. a file of Size 300MB which had already downloaded 200MB would show after the import, that 400MB remained to be downloaded.
- the "Progress" percentage is now negative.
- the Details show a "completed size" of 16777216 TB.
However, everything works fine. The files have been imported correctly and become completed as time goes by.
Just wanted to let you know.
cu
#2
Posted 09 August 2006 - 05:21 PM
When I try to import, I always get the error "Part 1: Not accessible (You may have to run scandisk to correct a bad cluster on your harddisk)." and repeated for every part it tries to import. I have tried with several files and it always has this error. My hard disk and partition is fine (in any case I tried two different HDs and partitions). It does not appear to be a Windows security issue as I am running with an administrative account and the option for a restricted user is not set. Also, I tried it with a file that I had allowed all access to "users".
Perhaps most significantly, it works fine with an older version that I have. I replace the exe with the old version (just the exe everything else same), run it and it imports fine. When I go back to the latest version exe, same problem again and back to the old version works fine again!
The version with the problem is the current latest version eMule 0.47a MorphXT v8.13 (final). The version which works fine according to the changelog is "eMule 0.47a MorphXT v8.x". This is obviously wrong, I can try harder to identify if need be. The entry before this is "eMule 0.47a MorphXT v8.10". I haven't yet tried any different versions, if you want I can download older versions and try and identify the problem.
I am using Windows XP x64.
This post has been edited by Nil Einne: 09 August 2006 - 05:23 PM
#3
Posted 01 September 2006 - 12:53 PM
try { CSingleLock sLock1(&(theApp.hashing_mut), TRUE); //SafeHash - wait a current hashing process end before read the chunk f.Seek((LONGLONG)PARTSIZE*partnumber,0); partSize=f.Read(partData, PARTSIZE); } catch (...) { LogWarning(LOG_STATUSBAR, _T("Part %i: Not accessible (You may have to run scandisk to correct a bad cluster on your harddisk)."), partnumber); delete[] partData; continue; }
#4
Posted 01 September 2006 - 01:15 PM
Instead of critisise provide proper way or give up.
#5
Posted 02 September 2006 - 01:25 PM
I just think that in this case it's bad to catch all exceptions and not trying to investigate a bit.
BTW look at these funny results:
02.09.2006 17:17:36: Importing 5 parts to I:\__Stream\_eMule\Temp.eMule\005.part. 02.09.2006 17:17:39: Part 3: Not accessible (You may have to run scandisk to correct a bad cluster on your harddisk). 02.09.2006 17:17:39: Part 5: Not accessible (You may have to run scandisk to correct a bad cluster on your harddisk). 02.09.2006 17:17:39: Part 8: Not accessible (You may have to run scandisk to correct a bad cluster on your harddisk). 02.09.2006 17:17:39: Part 17: Not accessible (You may have to run scandisk to correct a bad cluster on your harddisk). 02.09.2006 17:17:39: Import finished. 1 parts imported to 005.part. 02.09.2006 17:17:57: Importing 4 parts to I:\__Stream\_eMule\Temp.eMule\005.part. 02.09.2006 17:17:58: Part 5: Not accessible (You may have to run scandisk to correct a bad cluster on your harddisk). 02.09.2006 17:17:58: Part 8: Not accessible (You may have to run scandisk to correct a bad cluster on your harddisk). 02.09.2006 17:17:58: Part 17: Not accessible (You may have to run scandisk to correct a bad cluster on your harddisk). 02.09.2006 17:17:58: Import finished. 1 parts imported to 005.part. 02.09.2006 17:18:06: Importing 3 parts to I:\__Stream\_eMule\Temp.eMule\005.part. 02.09.2006 17:18:07: Part 8: Not accessible (You may have to run scandisk to correct a bad cluster on your harddisk). 02.09.2006 17:18:07: Part 17: Not accessible (You may have to run scandisk to correct a bad cluster on your harddisk). 02.09.2006 17:18:07: Import finished. 1 parts imported to 005.part. 02.09.2006 17:18:17: Importing 2 parts to I:\__Stream\_eMule\Temp.eMule\005.part. 02.09.2006 17:18:17: Part 17: Not accessible (You may have to run scandisk to correct a bad cluster on your harddisk). 02.09.2006 17:18:17: Import finished. 1 parts imported to 005.part. 02.09.2006 17:18:25: Importing 1 parts to I:\__Stream\_eMule\Temp.eMule\005.part. 02.09.2006 17:18:26: Import finished. 1 parts imported to 005.part. 02.09.2006 17:18:26: Hashing file: XXX [h264][CDE60AC7].mkv" "I:\__Stream\_eMule\Temp.eMule\005.part" 02.09.2006 17:18:56: Completed hashing of file 'I:\__Stream\_eMule\Temp.eMule\005.part'.
I couldn't import any parts to the file. But after a day or too I tried it again and managed to import one paert. Each time I tried to import eMule imorted 1 part, so after 5 tries I imported them all :-)
Every tim
#6
Posted 14 September 2006 - 04:41 PM
eagle2l84, on Aug 4 2006, 09:43 PM, said:
- the Details show a "completed size" of 16777216 TB.
However, everything works fine. The files have been imported correctly and become completed as time goes by.
...
Same here with v8.14. Without any crashes, etc., etc., I just imported an old tempfile and...
#7
Posted 14 September 2006 - 06:06 PM
#8
Posted 28 September 2006 - 08:00 PM
It imports one part & crash, one & crash until find wrong part then crash completely:)
#9
Posted 28 September 2006 - 08:10 PM
If you want you can contact him (I don't have the files anymore) for the changes.
The main point was pretty easy to spot:
you delete the buffer after you read 1 chunk so it can't be used again and will throw an exception for the next one; you may not delete it inside the loop or have to allocate a global buffer or allocate it for every chunk you want to import (don't even remember which method I finally used )
GreetZ,
WiZ
#11
#12
Posted 29 September 2006 - 05:52 PM
While this is a pain, it is usually quicker and less painful then downloading that data all over again or going out and setting up another non-Morph client where the import function works.
#13
Posted 30 September 2006 - 11:39 PM
And before someone cracks any jokes about me doing something to fix it myself, believe me I'd should I know anything about programming (besides coding "Hello World!" in Java..)
from someone still using 8.9
Edit: I assume we are talking about Import parts to file functionality, if not feel free to ignore me
This post has been edited by lordpake: 30 September 2006 - 11:45 PM
#14
Posted 01 October 2006 - 08:06 AM
#15
Posted 01 October 2006 - 08:46 AM