That was a application hang, not a crash. Alteast its different right!?
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
For record keeping purposes, in case you need to look up the logs, Terra: A just crashed about 5 min ago.
_________________ Whomst've'll'd'mn't I play: Salema Nefahri::A penny for your thots Zrae'a'stra'fryn::That which nightmares are made of Khasir::From the East a storm is coming
Got the runtime logs. Amia A has died twice since I deployed the plugin. I got more stuff up my sleeves and ideas from the linux side.
1: UpdateAI could potentially cause a hang if the frame takes too long to complete, I've ported over the code from Linux's version nwnx_fixes but I haven't yet deployed that one. Edit: did that now, let me know if something seems odd.
2: Minimaps for nwnx_areas (possibly even normal areas), if a player enters the server before an area is loaded they don't get the minimaps, when a player enters an area he does not have the minimaps for the server will crash. If this is the case then Amia B is the control group as Amia B does not load areas though nwnx areas to my knowledge.
Steps to reproduce: Join server -> leave server -> load area -> same person joins the area -> person enters previously loaded area -> crash. Can happen on Amia A if a player joins and gets booted during the frames the game is loading areas and then enters the areas that was not loaded when he joined.
3: DM Possession (maybe even familiars too) something related to copying minimaps. Probably something similar to the above.
possess -> unpossess -> area gets added -> possess same creature as before -> crash. This probably cannot happen as we're not loading any areas after the initial loading is done.
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
A just crashed; again in case you want to look at logs
_________________ Whomst've'll'd'mn't I play: Salema Nefahri::A penny for your thots Zrae'a'stra'fryn::That which nightmares are made of Khasir::From the East a storm is coming
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
Screw that. I want it to crash never. I'm out of ideas for now.
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
A crashed about 20 min ago and hanged, took 15-20 min for it to actually reset. Right before the crash, a player had logged in and out a few times.
_________________ Whomst've'll'd'mn't I play: Salema Nefahri::A penny for your thots Zrae'a'stra'fryn::That which nightmares are made of Khasir::From the East a storm is coming
ZZZzzz. I was hoping I had it in the bag now but it seems there is something more that wants my attention. Thanks for the clues, anything helps.
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
I've attached a debugger to Amia A as of like 15 min ago, hopefully it shouldnt have a noticeable performance impact. However if Amia A does crash its not gonna come back until I've detached the debugger. I'll be keep a close eye on it though!
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
_________________ Whomst've'll'd'mn't I play: Salema Nefahri::A penny for your thots Zrae'a'stra'fryn::That which nightmares are made of Khasir::From the East a storm is coming
B crashed a few minutes ago, and now they have both reset.
edit: Spoke too soon, both were at the 4 min mark and A reset again.
_________________ Whomst've'll'd'mn't I play: Salema Nefahri::A penny for your thots Zrae'a'stra'fryn::That which nightmares are made of Khasir::From the East a storm is coming
Yeah, I got it. I accidently ripped B aswell because taskkill. Oops.
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
_________________ Whomst've'll'd'mn't I play: Salema Nefahri::A penny for your thots Zrae'a'stra'fryn::That which nightmares are made of Khasir::From the East a storm is coming
Weird things happens when you attach a debugger owned by the process of the process its debugging. ¯\_(ツ)_/¯
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
_________________ Whomst've'll'd'mn't I play: Salema Nefahri::A penny for your thots Zrae'a'stra'fryn::That which nightmares are made of Khasir::From the East a storm is coming
It wasnt a hang, it was a crash and I know where it lives now.
Gonna Voldemort the shit out of it when I get home.
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
_________________ Whomst've'll'd'mn't I play: Salema Nefahri::A penny for your thots Zrae'a'stra'fryn::That which nightmares are made of Khasir::From the East a storm is coming
My lua module has GetString (nwscript GetLocalString) hooked and it turns out that nwn occasionally passes NULL instead of a pointer to a CExoString: http://puu.sh/kspg9/24bb3a31a6.png by occasional I mean its a fringe case.
Which is weird as hell, because the normal routines doesnt check for a NULL case either which means it'd likely have crashed if I passed it on anyway!
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
Ech, didn't get the variable right from the calling function?
In java based environments (i.e. Flex) I have seen the frames slow down when you attach a debugger which leads to fringe cases of null pointers. I don't imagine this is like that, though, just a thought.
Well, its __thiscall calling conversion so you technically have three arguments to GetString in the hardcoded world; CNWSScriptVarTable is passed though EAX, in the code this is known as "this" second is a pointer containing the un-constructed CExoString thats gonna hold the return value and the third is the "key" so when you call in nwscript GetLocalInt(oPC,"Meow"); the hardcoded callstack will contain this:
1: pointer to un constructed ExoString 2: pointer to first member of ExoString containing the key: "Meow" 3: pointer to second member of ExoString containing the length: 4 <- not really, but that'd been the case if nwn ever used the length field in CExoString
EAX holds "this" which is the pointer to the CNWSScriptVarTable instance we're calling, which is located on the object, oPC in this case.
So then our hook looks like this: http://pastebin.com/wDVcQjg5 you can see I added a safty net for str being zero and str->text being zero (those two are technically identical since str->text is the first member in str).
Remains to see if this changes anything though. Also yes, attaching a debugger does slow down the program quite significantly but the debugger itself can't really cause the machine-code to suddenly decide to push null; unless you assemble it to do so.
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
Thank you for posting all of this Terra, I know your work in invaluable here and thank you for your time!
To the general population, while we may not have communicated much on this - Faded Wings has been also working very hard on fixing stability issues for about 3 months now with the assistance of the rest of the development team.
This is our top #1 priority, and while we know our work does cause some interruptions we hope you understand that we are doing this to make things better for you as a whole.
Yeah, sorry about that, server only crashes when I aint looking at it.
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
EDIT: Let me know if you want me to stop noting them, I assume there's some sort of logger attached by this point to make the timestamps actually useful.
Last edited by NinjaClarinet on Thu, Oct 01 2015, 2:14 AM, edited 1 time in total.
_________________ Whomst've'll'd'mn't I play: Salema Nefahri::A penny for your thots Zrae'a'stra'fryn::That which nightmares are made of Khasir::From the East a storm is coming
_________________ Whomst've'll'd'mn't I play: Salema Nefahri::A penny for your thots Zrae'a'stra'fryn::That which nightmares are made of Khasir::From the East a storm is coming
EDIT: Let me know if you want me to stop noting them, I assume there's some sort of logger attached by this point to make the timestamps actually useful.
Only really interested to know if there is something out of the ordinary. Like; did the server crash when you where about to enter an area. Did the server crash when a DM was doing something such as possessing or unpossessing a creature, spawning things?
I do have a session list which puts a mark everytime the server starts which is usually right after its crashed. It also records for how many minutes the session went on so its easy to see when it didnt run its course.
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
The last thing you guys see is generally somebody logging off, yes?
However, what if the crash actually happens when someone is attempting to login? Have anyone ever experienced the server letting you on but then the character select list never appears and the server has crashed?
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
Joined: 22 Jul 2015 Location: Lincolnshire, United Kingdom
Terra_777 wrote:
The last thing you guys see is generally somebody logging off, yes?
However, what if the crash actually happens when someone is attempting to login? Have anyone ever experienced the server letting you on but then the character select list never appears and the server has crashed?
Yes... had it a few times. Not sure about anyone else but also my character list takes its time to populate even though i have one character. There is like a stall, then a jump with the first few moments of in server time usually being laggy... figured it was my connection though. Its not me though, infrequent player lately and the crashed are happening when im not around. I always figured if i didnt get on it was because the server had gone down before i logged in!
_________________ When it rains, look for rainbows. When it's dark, look for stars.
Do you have nwncx? The lag-spike you feel is your client loading the haks before populating the character list. Without nwncx the game loads the haks when you're actually loading into the server.
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
_________________ Fear is not evil… It tells you what your weakness is. And once you know your weakness, you can become stronger as well as kinder. - Gildarts Clive, Fairy Tail, Hiro Mashima.
Hey Terra, I tried using that link to in stall NWNCX, since, I've never heard of it either. Seems there are .dll files missing. amtlib.dll specifically.
wat that's not a dll that should be required, I don't have it in my folder.
Also Terra doesn't make NWNCX
_________________ Whomst've'll'd'mn't I play: Salema Nefahri::A penny for your thots Zrae'a'stra'fryn::That which nightmares are made of Khasir::From the East a storm is coming
Users browsing this forum: No registered users and 4 guests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum