Timer delay and memory leak.

Posted by Haha1903 on Fri 06 Feb 2009 01:21 PM — 5 posts, 17,360 views.

#0
Generally speaking, Mushclient software is rather good when I use it except that when the quantity of the Windows opened exceeds a specific limit, 2 questions come out. I don’t know why, and please give me some help:
1.When I open more than 20 Windows, the “timer”instruction of a single Window does not work well. I set the waiting period is 1 second, but in fact, it is 2 seconds or more than 2 seconds.
2.If I open more Windows and run the software for some time, there will be a Error saying “out of memory”, and then Mushclient will stop running.

mushclient 4.37
Amended on Fri 06 Feb 2009 01:41 PM by Haha1903
Australia Forum Administrator #1
When you say multiple windows, can you be more specific?

Do you mean:

  • Multiple worlds open?
  • If so, all connected to their MUDs?
  • Or, multiple notepad windows?
  • Or, multiple views of the same world (as in Window menu -> New Window)


As for the memory leak:

  • Are you using scripting at all?
  • If so, which script language are you using? Some have been noted to have memory leaks associated with them.
  • Do you use any or many plugins? If so, on all of the open worlds?


It is certainly possible for an out-of-control script to keep allocating memory, which would eventually use it up, which isn't the fault of MUSHclient directly.

How many lines do you allocate for your output buffer (scrollback)?
#2
Sorry for my english.
1. All connected to their MUDs.
2. I use lua script, but no use plugin.

I closed all worlds, but not collection memory.

Output buffer line is 5000.

Thanks!
Australia Forum Administrator #3
Well I can't really reproduce that. I have 20 windows set up (20 words open), each with this timer:


<timers>
  <timer enabled="y" 
  second="1.00" 
  offset_second="0.00"    
  send_to="12"
  active_closed="y" 
  >
  <send>print ("tick at", os.date ("%c"))</send>

  </timer>
</timers>


Each output window seems to show that they are firing correctly, eg.


tick at 02/07/09 13:30:19
tick at 02/07/09 13:30:20
tick at 02/07/09 13:30:21
tick at 02/07/09 13:30:22
tick at 02/07/09 13:30:23
tick at 02/07/09 13:30:24
tick at 02/07/09 13:30:25
tick at 02/07/09 13:30:26
tick at 02/07/09 13:30:27
tick at 02/07/09 13:30:28
tick at 02/07/09 13:30:29
tick at 02/07/09 13:30:30
tick at 02/07/09 13:30:31
tick at 02/07/09 13:30:32
tick at 02/07/09 13:30:33


Perhaps your script, whatever it is doing, is slowing it down? With 20 worlds open, any script that runs in each one cannot afford to take more than 1/20 of a second, or the scripts will use more than one second altogether, and thus it cannot process the next timer in a timely way.
Amended on Sat 07 Feb 2009 01:32 AM by Nick Gammon
#4
Thank Nick Gammon

I update to mushclient 4.39

No leak memory

Thanks!!!