Official eMule-Board: Testing Emule 0.60 (completed) - Official eMule-Board

Jump to content


  • (10 Pages)
  • +
  • « First
  • 8
  • 9
  • 10

Testing Emule 0.60 (completed) Community version

#181 User is offline   fox88 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 4780
  • Joined: 13-May 07

Posted 03 January 2021 - 10:54 PM

View PostStulle, on 03 January 2021 - 10:45 PM, said:

I reckon you can spot the error.

Thanks, got it.
Do you think everything is great in this code?
uint64 llBuffer, llAvailableSpace;
if (mapNeededSpaceOnDrive.Lookup(nDriveNumber, llBuffer))
        llAvailableSpace -= llBuffer;
if (llAvailableSpace > (uint64)nFileSize)
        ...


View PostStulle, on 03 January 2021 - 10:45 PM, said:

Also, have you considered using Microsoft's Large Integer Functions in UInt128.cpp? I just stumbled upon them accidentally and was wondering if they might be performing better with the "uint64 m_u64Data[2]" memory layout.

Feel free to try and measure. If I recall correctly, difference in byte order made this non-trivial to use.
0

#182 User is offline   Stulle 

  • [Enter Mod] Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5779
  • Joined: 07-April 04

Posted 04 January 2021 - 05:31 PM

View Postfox88, on 03 January 2021 - 10:54 PM, said:

Do you think everything is great in this code?
uint64 llBuffer, llAvailableSpace;
if (mapNeededSpaceOnDrive.Lookup(nDriveNumber, llBuffer))
        llAvailableSpace -= llBuffer;
if (llAvailableSpace > (uint64)nFileSize)
        ...

Certainly not. llAvailableSpace hasn't been initialized. But I also don't get why you would make up that example. This is not something my proposed changes in CDownloadQueue::GetOptimalTempDir would cause.
I am an emule-web.de member and fan!

[Imagine there was a sarcasm meter right here!]

No, there will not be a new version of my mods. No, I do not want your PM. No, I am certain, use the board and quit sending PMs. No, I am not kidding, there will not be a new version of my mods just because of YOU asking for it!
0

#183 User is offline   fox88 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 4780
  • Joined: 13-May 07

Posted 04 January 2021 - 06:39 PM

View PostStulle, on 04 January 2021 - 08:31 PM, said:

Certainly not.

Then, so is the suggested change.
But the problem is not initialization or style, but unsigned subtraction.
nFileSize = 3;
...
uint64 llBuffer, llAvailableSpace = 1;
if (mapNeededSpaceOnDrive.Lookup(nDriveNumber, llBuffer)) //Lookup successful, llBuffer is 2
        llAvailableSpace -= llBuffer;
return (llAvailableSpace > (uint64)nFileSize);

Should be false, but true is returned.
0

#184 User is offline   Stulle 

  • [Enter Mod] Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5779
  • Joined: 07-April 04

Posted 04 January 2021 - 08:38 PM

Alright, I finally see your point although you regretfully did a poor job of explaining it. At least for me... So yeah, an oversight of mine. To avoid that issue we would need to make another check like thus:

	for (INT_PTR i = 0; i < thePrefs.GetTempDirCount(); ++i) {
		const int nDriveNumber = GetPathDriveNumber(thePrefs.GetTempDir(i));
		uint64 llAvailableSpace;
		if (!mapFreeSpaceOnDrive.Lookup(nDriveNumber, llAvailableSpace))
			llAvailableSpace = 0;
		if (mapNeededSpaceOnDrive.Lookup(nDriveNumber, llBuffer))
			llAvailableSpace -= min(llBuffer, llAvailableSpace);


This last line fixes the potential negative subtraction result for llAvailableSpace. So at that point it is indeed questionable if the entire revision is worth it because now we'd have a new check (or rather a min call) just to avoid the casts.
I am an emule-web.de member and fan!

[Imagine there was a sarcasm meter right here!]

No, there will not be a new version of my mods. No, I do not want your PM. No, I am certain, use the board and quit sending PMs. No, I am not kidding, there will not be a new version of my mods just because of YOU asking for it!
0

#185 User is offline   Stulle 

  • [Enter Mod] Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5779
  • Joined: 07-April 04

Posted 06 January 2021 - 02:48 PM

I reckon something got mixed up when revising emule.rc:

 STRINGTABLE
 BEGIN
-    IDS_SHAREEMULEWARNING   "Changing this option will let eMule use another configuration. Your current settings will be ignored and already started downloads might not be visible anymore. You can switch back to your current configuration by changing this option again anytime.\n\nYou need to restart eMule for this change to take effect."
+    IDS_SHAREEMULEWARNING   "Changing this option will let eMule to use another configuration. Your current settings will be ignored and already started downloads might not be visible any more. You can switch back to your current configuration by changing this option again anytime.\n\nYou need to restart eMule for this change to take effect."
     IDS_SPAM                "Spam"


I would say "will let eMule use another configuration" is at least gramatically correct. The additional "to" appears off.
I am an emule-web.de member and fan!

[Imagine there was a sarcasm meter right here!]

No, there will not be a new version of my mods. No, I do not want your PM. No, I am certain, use the board and quit sending PMs. No, I am not kidding, there will not be a new version of my mods just because of YOU asking for it!
0

#186 User is offline   Stulle 

  • [Enter Mod] Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5779
  • Joined: 07-April 04

Posted 12 January 2021 - 07:38 PM

Just a thought on EnBitmap.cpp in function CEnBitmap::Attach: I believe the following change is actually increasing the resource usage instead of decreasing it.

-			if (hr == S_OK)
-				bResult = CBitmap::Attach(bmMem.Detach());
+			bResult = (hr == S_OK) && CBitmap::Attach(bmMem.Detach());


To improve things I believe it should be:
			if (hr == S_OK && CBitmap::Attach(bmMem.Detach()))
				bResult = TRUE;

This way we would only write to bResult if we truly change it's value. But then again, the actual impact will be negligible for eMule's overall resource consumption. So... yeah... just saying...
I am an emule-web.de member and fan!

[Imagine there was a sarcasm meter right here!]

No, there will not be a new version of my mods. No, I do not want your PM. No, I am certain, use the board and quit sending PMs. No, I am not kidding, there will not be a new version of my mods just because of YOU asking for it!
0

#187 User is offline   fox88 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 4780
  • Joined: 13-May 07

Posted 13 January 2021 - 05:22 AM

Thanks.
1. You were right, passive is not used with let.

2. I will revert the change; in terms of performance and code size the original code should be the best one.
By the way, in this module true and false should be in capitals.
0

#188 User is offline   fox88 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 4780
  • Joined: 13-May 07

Posted 15 January 2021 - 09:27 AM

A minor update to the release 0.60b (build 2) was published in Github.

This should fix
- crash on bad regular expression
- display of rating in Comments

The link is in the topmost post.
1

#189 User is online   hooligan3000 

  • European Community
  • PipPipPipPipPip
  • Group: Members
  • Posts: 296
  • Joined: 19-December 09

Posted 15 January 2021 - 02:02 PM

thx works well for me

eMule v0.60b x64 Statistik [[Devils] .:SD-Master:.]

Transfer
Session UL:DL Ratio: 203.83 : 1
Session UL:DL Verhältnis (ohne Freundesupload): 203.83 : 1
Gesamte UL:DL Ratio: 484.10 : 1
Uploads
Session
Hochgeladen: 5.10 TB
Hochgeladene Daten durch Freundesuploads (Session): 0 Bytes
Aktive uploads/nötig um Bandbreite auszunutzen: 12
Gesamtanzahl der Uploads: 12
Wartende Uploads: 0
Upload Sessions: 21316
Totaler Overhead (Pakete): 15.76 GB (554.92 M)
Gesamt
Downloads
Session
Heruntergeladen: 25.62 GB
Beendete Downloads: 1
Aktive Downloads: 0
Gefundene Quellen: 0
Download Sessions: 1478
Durch Komprimierung gewonnen: 4.08 MB (0.0%)
Durch Datenfehler verloren: 0 Bytes (0.0%)
Teile gerettet durch I.C.H: 0
Totaler Overhead (Pakete): 2.03 GB (41.14 M)
Gesamt
Verbindung
Session
Allgemein
Erneute Serververbindungen: 28
Aktive Verbindungen (geschätzt): 14 (Halb:1 | Komplett:0 | Andere:13)
Durchschnittliche Verbindungen (geschätzt): 13
Verbindungsspitze (geschätzt): 40
Verbindungs-Limit erreicht: 0
Upload
Upload-Geschwindigkeit: 1.89 MB/s
Durchschnittliche Uploadrate: 1.94 MB/s
Max. Uploadrate: 4.18 MB/s
Max. durchschnittliche Uploadrate: 1.94 MB/s
Download
Download-Geschwindigkeit: 0 B/s
Durchschnittliche Downloadrate: 9.72 KB/s
Max. Downloadrate: 2.84 MB/s
Max. Downloadrate Durchschnitt: 10.03 KB/s
Gesamt
Zeit Statistiken
Letzter Reset der Statistiken: 14.08.2020 20:51:22
Zeit seit letztem Reset: 153 Tage 19:10 Stunden
Session
Programm-Laufzeit: 31 Tage 23:40 Stunden
Übertragungszeit: 31 Tage 23:40 Stunden (100.0%)
Dauer auf aktuellem Server: 17 Tage 20:25 Stunden (55.8%)
Dauer auf Servern: 31 Tage 23:38 Stunden (100.0%)
Gesamt
Abschätzungen
Clients
Bekannte Clients: 14
Software
Netzwerk
Port
Firewalled (Kad)
UDP: 59.9%
TCP: 64.5%
Niedrige ID: 10 (71.4%)
Identifikation (pos : neg): 12 (92.3%) : 1 (7.7%)
Problematisch: 0 (0.0%)
Gebannt: 3
Gefiltert: 0
Server
Funktionierende Server: 19
Server mit Login-Fehlversuchen: 0
Gelöschte Server: 87
Gesamt: 19
Gesamte Benutzeranzahl: 185.70 K
Gesamte Dateianzahl: 52.60 M
Rekorde
Max. funktionierende Server: 25
Max. Nutzer Online: 229.38 K
Max. Dateien verfügbar: 68.67 M
Freigegebene Dateien
Anzahl freigegebener Dateien: 270
Durchschnittliche Dateigröße: 4.40 GB
Größte freigegebene Datei: 122.41 GB
Gesamtgröße freigegebener Dateien: 1.16 TB
Rekorde
Festplattenplatz

This post has been edited by hooligan3000: 15 January 2021 - 02:02 PM


ed2k://|server|91.208.184.143|4232|/

SD - Telegram

Air VPN - The air to breathe the real Internet

BTC
bc1qdrk0ld07jtg99ym2zg68cpqhqj34qnf2txm93n
XMR
48ja6xJ2NyPMNzmY1pA3ZZPpX5yTaw9Ym28jrDPCL7Y7L7pr5wXFdpeK4WqBbvVY5qEa6VDfhFKTnHWef3EPC4zgQNTnAwg
1

#190 User is offline   QICKV8 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 9
  • Joined: 13-October 20

Posted 15 January 2021 - 08:07 PM

Thank you fox88, I have been running eMule 0.60 for 3 months 24/7 and not had 1 crash :)
0

#191 User is offline   fox88 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 4780
  • Joined: 13-May 07

Posted Today, 11:03 AM

A timy update to the release 0.60b (build 3) was published in Github.

This should fix regression in PartFileConvert GUI.

As usual, the link is in the topmost post.
0

#192 User is offline   Stulle 

  • [Enter Mod] Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5779
  • Joined: 07-April 04

Posted Today, 01:52 PM

I found a possible memleak in CGetMediaInfoThread::GetMediaInfo.

The code used to be
				case ID3FID_WWWUSER:
				{
					wchar_t
					*sURL = ID3_GetStringW(frame, ID3FN_URL),
					*sDesc = ID3_GetStringW(frame, ID3FN_DESCRIPTION);
					CString strURL(sURL);
					strURL.Trim();
					if (!strURL.IsEmpty())
					{
						CString strDesc(sDesc);
						strDesc.Trim();
						if (!strDesc.IsEmpty())
							strFidInfo << _T("(") << strDesc << _T(")");

						if (!strDesc.IsEmpty())
							strFidInfo << _T(": ");
						strFidInfo << strURL;
					}
					delete[] sURL;
					delete[] sDesc;
					break;
				}

Now it's
				case ID3FID_WWWUSER:
					{
						wchar_t *sURL = ID3_GetStringW(frame, ID3FN_URL);
						wchar_t *sDesc = ID3_GetStringW(frame, ID3FN_DESCRIPTION);
						CString strURL(sURL);
						if (!strURL.Trim().IsEmpty()) {
							CString strDesc(sDesc);
							if (!strDesc.Trim().IsEmpty())
								strFidInfo << _T("(") << strDesc << _T("): ");

							strFidInfo << strURL;
							delete[] sDesc;
						}
						delete[] sURL;
					}
					break;

Only deleting sDesc in case !strURL.Trim().IsEmpty() appears wrong to me. In case the test expression is false we have not copied it to a CString but then again, that wouldn't change anything about the local pointer or the memory it points to either.

Am I missing something or do you agree?

This post has been edited by Stulle: Today, 01:56 PM

I am an emule-web.de member and fan!

[Imagine there was a sarcasm meter right here!]

No, there will not be a new version of my mods. No, I do not want your PM. No, I am certain, use the board and quit sending PMs. No, I am not kidding, there will not be a new version of my mods just because of YOU asking for it!
0

  • Member Options

  • (10 Pages)
  • +
  • « First
  • 8
  • 9
  • 10

3 User(s) are reading this topic
1 members, 2 guests, 0 anonymous users

  1. hooligan3000