Page 1 of 1

PANIC!

Posted: Wed Oct 10, 2012 8:49 pm
by John Adams
I have to say I have never seen PANIC on a Windows server before... I was adding rows of Spells just testing the innate/racial stuff out on a race that lacked data, and I typed /reload spells, and World went into a PANIC -

Code: Select all

Type: (3) Tier: (0) Unknown ID: (1) Item ID: (1000003)
Type: (3) Tier: (0) Unknown ID: (1) Item ID: (1000119)
Type: (3) Tier: (0) Unknown ID: (1) Item ID: (1000009)
   0: 41 00 06 00 73 70 65 6C - 6C 73                    | A...spells
PANIC: unprotected error in call to Lua API (not enough memory)
Not sure what those non-LogWrite() prints are doing in there, but I don't think it had to do with this particular (new and exciting) crash.

And, as usual in recent years, the call stacks have become useless -

Code: Select all

 	ntdll.dll!774a15de() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!774a15de() 	
 	ntdll.dll!7749014e() 	
>	EQ2World__Debug.exe!_unlock_fhandle(int fh)  Line 491	C
 	0158fdfd()	
This smells exactly like the Log errors I have been complaining about for weeks tho, only posting this specifically for LUA since Jab has been poking around there a lot lately. Maybe he knows what this is.

Re: PANIC!

Posted: Wed Oct 10, 2012 9:13 pm
by Jabantiz
/reload spells is iffy at best, seems to be a memory leak with it, wich will cause you to run out of memory fast. I have tried to hunt it down and fix it but haven't had any luck yet.

As for the non-LogWrite() prints, it is debug info that was added to determine the type of examine request the client sent and the id of the object the client wants to examine. These are mainly related to mouse over examines I believe but am not 100% sure.

Re: PANIC!

Posted: Wed Oct 10, 2012 9:18 pm
by John Adams
Jabantiz wrote:/reload spells is iffy at best, seems to be a memory leak with it, wich will cause you to run out of memory fast. I have tried to hunt it down and fix it but haven't had any luck yet.
Hmm, I have been on this project since the beginning and I have to say I have never once had a problem with /reload spells, LUA (since they were implemented) or PANIC, or really, leaky memory.

Two things that make the most sense to me here; 1) we have more data now, so we've hit a boundary (unlikely, I have 12GB ram:)) or 2) something has changed that is _now_ causing a memory leak, which is fine if we can nail it down.

Occam's Razor :mrgreen:

Re: PANIC!

Posted: Wed Oct 10, 2012 9:33 pm
by Jabantiz
I am going to go with #2 but no clue to be honest. I have noticed this problem as far back as jan, it shows itself quickly when I am running 32bit version, on 64 bit it takes a while before it appears. I honestly don't use /reload spells that much though, and when I do use it almost never enough in a session for a 64bit to trigger the problem so it is easy for me to forget about it. Will try looking into it again but after my last attempts I am not to hopefull that I will find it.

Re: PANIC!

Posted: Thu Oct 11, 2012 6:40 pm
by Zcoretri
I am guilty of the non LogWrites...

Code: Select all

Type: (3) Tier: (0) Unknown ID: (1) Item ID: (1000003)
Type: (3) Tier: (0) Unknown ID: (1) Item ID: (1000119)
Type: (3) Tier: (0) Unknown ID: (1) Item ID: (1000009)
   0: 41 00 06 00 73 70 65 6C - 6C 73                    | A...spells
PANIC: unprotected error in call to Lua API (not enough memory)
have no clue what the PANIC button is.

Re: PANIC!

Posted: Thu Oct 11, 2012 7:09 pm
by Scatman
Your computer isn't necesarrily running out of memory, the LUA stack is. By default LUA only lets you push 20 things onto the stack so I'm betting with the new tables (arrays), something is not being freed properly.

Reference: http://www.lua.org/manual/5.1/manual.html#3.2