|
Vijilante SubAdmin
Joined: 18 Nov 2001 Posts: 5182
|
Posted: Thu Dec 06, 2007 11:07 pm
[2.15] Mismatched ( on command line *CRITICAL* |
First this does not pop up a parsing error when it should. In the right form this creates a run away allocation and lock up.
Procedure
1. Launch CMud
2. Close Sessions window (ESC)
3. Enter at the command line
You will notice that there is no parsing error, the B is left on the stack and sent to the mud.
You may close and repeat steps 1 and 2 to test the next, but it is not necessary.
4. Enter at the command line
I suggest being ready to kill the application quickly before doing step 4. CMud can eat up over 300MB in the first second after that on my system. |
|
_________________ The only good questions are the ones we have never answered before.
Search the Forums |
|
|
|
Guinn Wizard
Joined: 03 Mar 2001 Posts: 1127 Location: London
|
Posted: Fri Dec 07, 2007 12:32 am |
Confirmed, ouch. Got to 700MB in 3-4 seconds
|
|
_________________ CMUD Pro, Windows Vista x64
Core2 Q6600, 4GB RAM, GeForce 8800GT
Because you need it for text... ;) |
|
|
|
Yamabushi Apprentice
Joined: 29 Jul 2003 Posts: 101 Location: USA
|
Posted: Fri Dec 07, 2007 4:28 am |
got to 1.7GB in the task manager before I killed it in Vista.
Very interesting. |
|
_________________ Yama |
|
|
|
slicertool Magician
Joined: 09 Oct 2003 Posts: 459 Location: USA
|
Posted: Fri Dec 07, 2007 4:42 am |
yeah, I spiked over 500 MB the first time and upwards of 1.2 GB of memory the second, but they both appeared to calm back down after a moment. Also, after about 45 seconds to a minute and a half, the error dialog pops up. So, I sent my crash dump Zuggward so he could look at it.
Anyone else have similar after letting it do its dirty work? |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Dec 07, 2007 4:49 pm |
Yeah, this one was stupid....
In previous versions, I had code like this:
Code: |
if Compiled then ExecuteThread... |
and when I did the optimization for only using threads when necessary, the code got changed to this:
Code: |
if Compiled and not(NeedsThread) then ExecNoThread
else ExecuteThread |
The "NeedsThread" flag is set by the compiler and tells us if a thread is needed to run the script. So, you can see the problem, right? If the script doesn't compile at all, then it is calling ExecuteThread. Bad bad bad. That's what I get for programming when I'm sick. (and yes, I'm still sick, but I'm reading the forum anyway) |
|
|
|
slicertool Magician
Joined: 09 Oct 2003 Posts: 459 Location: USA
|
Posted: Fri Dec 07, 2007 10:56 pm |
Figured I'd might as well post it...
Fixed in 2.16Pro |
|
|
|
|
|