amule-project / amule

'All-platform' P2P client based on eMule
995 stars 218 forks source link

Launching amule freezes Cent OS 8. #306

Open thosecars82 opened 2 years ago

thosecars82 commented 2 years ago

Launching amule worked alright in Cent OS 8 but it started freezing the computer since recently. image

The GUI shows up and around 10-20 seconds after launching amule the CPU consumption starts increasing pretty quickly up to the point that the computer does not respond.

Considering amule worked until recently, the only think that comes to my mind is the following:

I have been installing different apps recently and that might have somehow broken amule.

I tried by uninstalling it with sudo dnf uninstall amule and then sudo dnf install amule but that did not fix it. Do you know how to fix this? Thanks

vrbouza commented 2 years ago

Hi, I see similar details with amule 2.3..3 under CentOS8: after a while running, it starts eating all my RAM and then my SWAP and then the oom linux process kills it.

thosecars82 commented 2 years ago

Exactly @vrbouza, it starts eating all my RAM as well like crazy. Did anyone find a solution yet?

vrbouza commented 2 years ago

Yes, if needed I can provide logs. The rise in the RAM consumption usually happens shortly after initiating (I use amule as a service running in a C8 VM) amuleweb and connecting to servers.

TommyJerryMairo commented 2 years ago

Is this reproducible on CentOS7? As version 8 of CentOS is about to end its support period.

minnyres commented 2 years ago

You may have a test with docker.

https://github.com/t-chab/dockerfiles/tree/master/amule

https://github.com/minnyres/docker-amule-dlp

vrbouza commented 2 years ago

Hi all, apologies for answering so late. Indeed CentOS8 already passed its EOL (it was the past 31st Dec.), but I can confirm that the same issue happens with CentOS Stream 8 (the "new" centOS 8 from RH): when launching e.g. through amuleweb, while checking using htop, the amuled process starts consuming more and more RAM, as well as CPU.

minnyres commented 2 years ago

How did you install aMule, build from source or install from a RPM repository?

vrbouza commented 2 years ago

From the Lux repository: https://centos.pkgs.org/8/lux/amule-nogui-2.3.3-0.5.20201006git6f89515.el8.lux.x86_64.rpm.html

minnyres commented 2 years ago

From the Lux repository: https://centos.pkgs.org/8/lux/amule-nogui-2.3.3-0.5.20201006git6f89515.el8.lux.x86_64.rpm.html

I installed aMule on CentOS 8 stream with this rpm, but cannot reproduce the problem. I recommend you to make the following test:

vrbouza commented 2 years ago

Thanks for your suggestions, @minnyres . I've tried first the second one ~and it worked indeed when I created new configurations.~

I tried to understand this. First, I replaced directly the amule.conf of the new folder by the amule.conf of the older one and it kept working. Then, I added the amuleweb info manually and it again worked, when I wrote a password when prompted while running the amuled daemon manually. Unfortunately, somehow I couldn't add one new ED2K download through the web interface (in any case, I don't care much about this as I think I'll move to use amuleGUI to control my server).

I then backed-up the previous amule conf folder and replaced its older path with the new created with the previous amule.conf file, and restarted my systemd services. A new thing is that, doing this, the amuleweb service doesn't start properly: checking the logs, it demands a password (exactly as before when I run in terminal amuled, but now as a service I can't write it), although I have it hashly set in the amule.conf file. Maybe these two things (I can't add new ed2k files through the web interface and the amuleweb service doesn't start properly) point to a issue with amuleweb, although I'm not sure.

~In any case, thank you for your help. It seems that simply re-creating the folder is enough, at least whenever you use amuleGUI to remotely connect, as amuleweb doesn't start properly in my case.~

EDIT: when I tried to download one file with the new folder, it went back to uncontrolled swapping and complete use of CPU. I'll keep checking and try maybe to build from source.

gcomes commented 2 years ago

I have seen amule doing that in the past on other systems. There are two way to fix the problem: 1) use wxGTK 2.8 2) use boost 1.75 or newer (1.66 is too old)

vrbouza commented 2 years ago

Hi @gcomes, thanks for your input. I've been reviewing the packages/libraries we've got in CentOS 8 / CentOS Stream 8 and indeed we've got by default boost v1.66, and from GTK it seems there is even GTK 3 so that shouldn't be an issue, although boost in principle is, and according to you, this might explain this behaviour.

However, this does not justify why before (just until... one year/half a year ago, with this OS) it worked flawlessly, even with boost v1.66.

Anyhow, if that's the actual origin of the issue, given the libraries present in the repositories from CS8, amule can't be run there unless manually newer libraries are installed.

gcomes commented 2 years ago

The problem you have is due to amule using wxGTK 3. The release 2.3.3 overcome the problem if compiled with a recent version of boost. If boost 1.66 is present at compile time, amule simply will not use it. By the way you need boost only to compile amule. At run time amule does not use any boost library.