View previous topic :: View next topic |
Author |
Message |
MustangSVT
Joined: 07 Jan 2011 Posts: 26
|
Posted: Mon Feb 20, 2012 2:42 Post subject: |
|
|
Skywing wrote: | The first crash is probably the problem you described.
The second crash appears to be the result of a failure inside the script VM while executing a string comparison script instruction. Please install the NWScript Accelerator plugin on your server, which is more resilient against malformed scripts.
I'd be interested in looking through all of the compiled scripts (*.ncs, preferably with *.ndb if you have them) that were running at the time, all the same. |
Thanks for the info, I'll look into getting this info to you and running the script accelerator.
Here's a few more we had the past week. Is it still the illegal damage property?
http://pastebin.com/FeeG3JrA
http://pastebin.com/R7vccwYm
http://pastebin.com/5ZKPGjtr
http://pastebin.com/WSesFuQT
http://pastebin.com/YLD2A6Cy
http://pastebin.com/mDpkdJ9n
http://pastebin.com/AMk6GPh6
http://pastebin.com/cTN2iEWk
I know it's a lot of logs and I don't mean to make it difficult for you, just want to make the crashes go away. I'll put on the accelerator like you suggested.
ALso, how do you set the 3GB flag for the NWN2Server on Win7 x64? |
|
Back to top |
|
|
luna
Joined: 20 Jan 2012 Posts: 28
|
Posted: Tue Feb 21, 2012 0:04 Post subject: |
|
|
Skywing wrote: | Commanded an object to unlock another object while one of the objects was not joined to an area (perhaps a creature in transition for example).
Avoid giving any action orders to a creature that is still transitioning, i.e. for which GetArea() doesn't return a valid area. |
Would just running clearallactions() on the modules on exit area script fix this?
Conceptually I can't think of how this could happen where a creature that is transitioning would be assigned an action unless we (or the game) has some delayed action command berried some where.
Or can this happen if someone has their action queue full and one of the items is to open a lock and then they transition?
Thanks for looking as well! |
|
Back to top |
|
|
Skywing
Joined: 03 Jan 2008 Posts: 321
|
Posted: Tue Feb 21, 2012 3:39 Post subject: |
|
|
luna wrote: | Skywing wrote: | Commanded an object to unlock another object while one of the objects was not joined to an area (perhaps a creature in transition for example).
Avoid giving any action orders to a creature that is still transitioning, i.e. for which GetArea() doesn't return a valid area. |
Would just running clearallactions() on the modules on exit area script fix this?
Conceptually I can't think of how this could happen where a creature that is transitioning would be assigned an action unless we (or the game) has some delayed action command berried some where.
Or can this happen if someone has their action queue full and one of the items is to open a lock and then they transition?
Thanks for looking as well! |
Script code could try and queue actions up while a transition is in progress. Especially any time you queue an action up with a DelayCommand, you need to be careful about that. |
|
Back to top |
|
|
Skywing
Joined: 03 Jan 2008 Posts: 321
|
Posted: Tue Feb 21, 2012 3:55 Post subject: |
|
|
Mustang:
http://pastebin.com/FeeG3JrA -- try with the NWScript Accelerator, difficult to say for sure.
http://pastebin.com/R7vccwYm -- ran AIActionPickupItem on a creature without an item repository, possibly. Not yet sure what would cause this without more details.
http://pastebin.com/5ZKPGjtr -- unsolved issue relating to JStar pathing code in dense pathing situations; been reported before, but not enough information to fix it.
http://pastebin.com/WSesFuQT -- same empty item repository crash.
http://pastebin.com/YLD2A6Cy -- likely creature trying to move while in transition.
http://pastebin.com/mDpkdJ9n -- tried to copy a null game effect; possibly from a bad parameter to a function returning an 'effect' object which doesn't handle bad parameters, but difficult to say after the fact witout more information.
http://pastebin.com/AMk6GPh6 -- same empty item repository crash
http://pastebin.com/cTN2iEWk -- same empty item repository crash
If you can provide more details about a specific action that was happening when these crashes occurred we may be able to make more progress. |
|
Back to top |
|
|
luna
Joined: 20 Jan 2012 Posts: 28
|
Posted: Tue Feb 21, 2012 21:47 Post subject: |
|
|
Thanks Skywing. One last question if you have time.
That can happen with the function SetLocked().
I'm just wondering if it has to be an action function (ActionUnlockObject), or SetLocked() would do it to?
Thanks |
|
Back to top |
|
|
Skywing
Joined: 03 Jan 2008 Posts: 321
|
Posted: Wed Feb 22, 2012 0:50 Post subject: |
|
|
That was from an action queue entry (e.g. from ActionUnlock). |
|
Back to top |
|
|
MustangSVT
Joined: 07 Jan 2011 Posts: 26
|
Posted: Wed Feb 22, 2012 4:21 Post subject: |
|
|
Skywing wrote: | The first crash is probably the problem you described.
The second crash appears to be the result of a failure inside the script VM while executing a string comparison script instruction. Please install the NWScript Accelerator plugin on your server, which is more resilient against malformed scripts.
I'd be interested in looking through all of the compiled scripts (*.ncs, preferably with *.ndb if you have them) that were running at the time, all the same. |
I have two questions about this. One, I've installed the NWScript Accelerator, and there are some scripts it gives errors for. Is that something I should send to you as well? Secondly, do you want me to simply send you the NCS and NDB of all our scripts?
Skywing wrote: |
If you can provide more details about a specific action that was happening when these crashes occurred we may be able to make more progress. |
To be honest, I'm not sure how to find this out. There's a lot of players on the server when this happens (over 40), and I've had a lot of difficulty in figuring out who was doing what. |
|
Back to top |
|
|
Skywing
Joined: 03 Jan 2008 Posts: 321
|
Posted: Wed Feb 22, 2012 21:14 Post subject: |
|
|
What are the errors? And yes, having the ncs/ndb's for the scripts may be helpful for investigating some types of issues, if you can arrange that.
The accelerator plugin may often expose pre-existing script bugs like loops that were exceeding the instruction limit but were going silently reported before. But we'll have to see what the errors were to identify what was going on. |
|
Back to top |
|
|
Developer Silver
Joined: 05 Jul 2011 Posts: 16
|
Posted: Sun Feb 26, 2012 19:43 Post subject: |
|
|
Hi Skywing,
we've recently had some server crashes in specific situation.
Here's the last crash log I have: http://dl.dropbox.com/u/9981963/nwn2_server_errorlog.txt
I think it's related to destroying a store, but I can't find anything wrong in scripts... can you help me please?
Thanks a lot! _________________ Developer Silver
Faerūn Nights Admin |
|
Back to top |
|
|
Skywing
Joined: 03 Jan 2008 Posts: 321
|
Posted: Tue Feb 28, 2012 2:50 Post subject: |
|
|
This appears to be happening while the server is trying to compute an inventory update message for a store that the player has open, yes. It does not appear like the server handled the store object going away very well.
Can you ensure that nobody has a store open before you delete it? |
|
Back to top |
|
|
Developer Silver
Joined: 05 Jul 2011 Posts: 16
|
Posted: Tue Feb 28, 2012 10:31 Post subject: |
|
|
Skywing wrote: | This appears to be happening while the server is trying to compute an inventory update message for a store that the player has open, yes. It does not appear like the server handled the store object going away very well.
Can you ensure that nobody has a store open before you delete it? |
Ok so I'll check area is empty before destroying stores.
Thanks you very much. _________________ Developer Silver
Faerūn Nights Admin |
|
Back to top |
|
|
MustangSVT
Joined: 07 Jan 2011 Posts: 26
|
|
Back to top |
|
|
Arpl
Joined: 22 Jul 2011 Posts: 5
|
Posted: Thu Jul 05, 2012 15:29 Post subject: |
|
|
From the looks of it the crash is caused by a player trying to acquire an item before his inventory has been initialized. I can't think of any way this could happen under normal circumstances, so I doubt there's much you can do to fix this without messing around with the machine code.
You can try fixing the crash by rerouting the call to CItemRepository::FindBlankPosition at 0x5CD25E to a function that returns 0 if the this pointer (ECX) is null, and runs CItemRepository::FindBlankPosition (0x5D9800) otherwise. It may be trading this crash for another one, but it's worth a shot. |
|
Back to top |
|
|
MustangSVT
Joined: 07 Jan 2011 Posts: 26
|
|
Back to top |
|
|
|