Full Version : Server Crashes opening a questholder
xmlspawner >>Troubleshooting >>Server Crashes opening a questholder
<< Prev | Next >>
LowCastle- 03-21-2006

CODE
Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array. at Server.Items.XmlQuest.CheckArgList(String[] arglist, Int32 argstart, Object propobj, String& typestr, Int32& targetcount, Boolean& checkprop, String& status_str)
at Server.Gumps.XmlQuestStatusGump.DisplayQuestStatus(Int32 x, Int32 y, String objectivestr, String statestr, Boolean status, String descriptionstr)
at Server.Gumps.XmlQuestStatusGump..ctor(IXmlQuest questitem, String gumptitle, Int32 X, Int32 Y, Boolean solid)
at Server.Items.QuestHolder.OnDoubleClick(Mobile from)
at Server.Mobile.Use(Item item)
at Server.Network.PacketHandlers.UseReq(NetState state, PacketReader pvSrc)
at Server.Network.MessagePump.HandleReceive(NetState ns)
at Server.Network.MessagePump.Slice()
at Server.Core.Main(String[] args)

This crash occurs when I try to open a questholder. I was in the middle of building a quest and was testing as I went. It happened when i had been assigned objective5 and was opening the questholder book to look at the objectives.
I restarted the server and tried nullifying different objectives, descriptions, and states, to no avail. Each time I would try to open the book, I get the same crash.
Will changing the props of the questholder in the middle of a quest cause this kind of crash? I'm stumped as to the exact cause. Let me know if there is any more information I can provide.
*EDIT* I updated to the latest version of XMLSpawner2 with the same results. This only occurs with the one questholder, which I am reluctant to delete until I figure out what the problem is. I can add a blank questholder and open it fine.
*EDIT* I finally got the book to open by nullifying all of the objectives after objective1. I think I may have figured it out. I think it happened when I nullified objective3. I did that at the same time I added objective5. Would having a null objective in the middle cause this?
*EDIT* ARG! I redid the quest where it does not nullify any objectives, and still I get a crash at the same point in the quest.
ArteGordon- 03-21-2006
I will check this out.
(edit)
I added some additional error checking to xmlquest.cs in the beta_309.zip file in the upcoming releases thread. It should handle that problem.
LowCastle- 03-21-2006
Thanks Arte! I'm still working on it from my end and I will let you know if I get it working, what I had to change.
LowCastle- 03-21-2006
I tracked it down to my own stupidity in a quest objective. This is the property on the questholder that caused the crash:
objective5=KILLNAMED,Asmodeus,,1,player=false
I thought it would work. I don't know why I didn't think of it before. When I changed the property to
objective5=KILLNAMED,Asmodeus
the book opens fine.
So it was my own error. I thought I could leave out the mobtype and get away with it. I'll figure out what mobtype he is and that should solve the problem.
Sorry to have bothered you with this!
ArteGordon- 03-21-2006
can you can try out the fix and see if the error checking that I added prevents a crash under those conditions?
LowCastle- 03-21-2006
From the changelog:

QUOTE
fixed a parsing problem with the MOB,name[,type] keyword that did not allow the optional type argument to be omitted.

Looking at the changelog, I see this has been an issue. However, I installed the most recent version just after this started occurring.
Is there another fix?
ArteGordon- 03-21-2006
that was a different issue. I just added a new version of xmlquest.cs with an additional fix for your problem to the beta_309.zip file that you can find here
http://xmlspawner.15.forumer.com/index.php?showtopic=53
LowCastle- 03-21-2006
That fixed the crash issue. Thanks Arte! When i open the book it says "Invalid type:" in red at the bottom of the gump. That's perfect. It lets me know what I'm doing wrong. Many thanks. Enjoy the rest of your day. I'm going to sleep. I work graveyard shifts.
ArteGordon- 03-21-2006
thanks for testing that.