aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: massive resource leak on win32  (Read 14042 times)

par

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 5
massive resource leak on win32
« on: June 27, 2006, 11:21:13 PM »

this has occurred with every amule version i've tried from 2.1.0 onwards.

in short, the longer amule is left open, the more "USER" and "GDI" objects are used.  eventually the windows shell croaks and the screen becomes corrupted, window fills don't appear, menus cover the entire screen, etc., this is common behaviour when the win32 shell is starved of resources.  some background information can be found here.

whether the user/gdi object leak is occurring due to amule's code or wxwidget's code i can't say, but it definitely happens.

to reproduce:

- open task manager
- under the 'view' menu choose 'select columns'
- check 'user objects' and 'gdi objects'
- leave amule running for several hours/days
- watch as user/gdi count increases slowly but surely, jumping by a large number periodically (it's punctuated, not gradual)
- after 5 or so days (when gdi hits ~7000 or so) windows will die

this has occurred on vanilla and up-to-date installs of win2k, with 10 files being downloaded, all of which have ~1 source and so are rarely if ever generating network traffic.  regardless, amule continues to increase its resource usage.

i don't know where in the amule system the leak may be occurring, but since the object counts increase in jumps periodically, i assume there's some task amule is performing every 20 minutes / 1 hour / whenever that is responsible.

whatever it is, it's a pain to have to close/reopen amule every 3-4 days just so it doesn't kill windows.  i switched to amule from emuleplus because amule used around 1/4 of the memory.  right now this is all i've found to complain about.
Logged

par

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 5
Re: massive resource leak on win32
« Reply #1 on: June 30, 2006, 05:42:32 AM »

data point: i loaded amule at the moment i created this topic, at which point it was using some 200 & 300 user/gdi objects.

right now, it's using 3761 & 7432 user/gdi objects.

all it's been doing is sitting in the tray, not being interacted with.  in the next few hours it should bring down windows.
Logged

Kry

  • Ex-developer
  • Retired admin
  • Hero Member
  • *****
  • Karma: -665
  • Offline Offline
  • Posts: 5795
Re: massive resource leak on win32
« Reply #2 on: June 30, 2006, 09:19:54 AM »

Sem wxWidgets problems. Someone will have to take a close look :/

Does it happen if you disable statistics graphs?
Logged

par

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 5
Re: massive resource leak on win32
« Reply #3 on: July 01, 2006, 10:53:21 AM »

i don't see any option to disable statistics in the preferences, so i set all update delays to maximum values to see if that affects the resource leak speed.

amule just brought down my system, but unfortunately task manager wasn't usable (couldn't redraw itself to display handle counts) so i don't know the final value of user/gdi objects used.  after amule was killed and restarted, it's using 267 & 252 user/gdi objects.

oh, and i found one other things to complain about - amule doesn't scroll when the mouse wheel is used!

but all things considered, one resource leak and one input bug isn't a whole lot of bad news with a project of this scope.
Logged

stefanero

  • Some Support
  • Developer
  • Hero Member
  • *****
  • Karma: 8
  • Offline Offline
  • Posts: 4235
Re: massive resource leak on win32
« Reply #4 on: July 01, 2006, 01:43:04 PM »

Quote
Originally posted by par
but all things considered, one resource leak and one input bug isn't a whole lot of bad news with a project of this scope.

looking at the point that win* is definetly not our primary platform, since eMule exists, its really not bad ;)
Logged
In its default setup, Windows XP on the Internet amounts to a car
parked in a bad part of town, with the doors unlocked, the key in
the ignition and a Post-It note on the dashboard saying, "Please
don't steal this."

Kry

  • Ex-developer
  • Retired admin
  • Hero Member
  • *****
  • Karma: -665
  • Offline Offline
  • Posts: 5795
Re: massive resource leak on win32
« Reply #5 on: July 01, 2006, 06:08:58 PM »

Actually, to disable the starts you have to move the the slider to the LOWEST value, which is "disabled".
Logged

par

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 5
Re: massive resource leak on win32
« Reply #6 on: July 03, 2006, 02:32:52 AM »

after disabling stats using that method, the resource leak still occurs but is quite a bit slower.  right now amule is using 779 & 1065 user/gdi objects, whereas after this long it would have been ~2000-3000 previously.
Logged

gratou

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 7
RE: massive resource leak on win32
« Reply #7 on: July 16, 2006, 11:18:37 AM »

did earlier versions work better?
Logged

par

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 5
Re: massive resource leak on win32
« Reply #8 on: July 20, 2006, 08:47:41 PM »

i started with 2.1.0, and don't have any information about earlier versions.

i'd rather not downgrade, i've grown quite fond of amule.
Logged