RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Daat99 OWLTR 2.8 Crashing/Corrupt World Saves

daat99

Moderator
Staff member
Ok after talking with XxSP1DERxX he found out something I overlooked.
Let's hope this time it'll fix the problem:
 

toddjumper

Wanderer
I will install this now and keep running in -debug mode just in case. (Ps, yes I keep my backup save folder, fortunately the backups are not getting corrupted so I only have a 20 minute revert now every 5 days. Not sure why it seems to crash every 5 days, maybe just coincidence)

Thanks.
 

daat99

Moderator
Staff member
toddjumper said:
I will install this now and keep running in -debug mode just in case. (Ps, yes I keep my backup save folder, fortunately the backups are not getting corrupted so I only have a 20 minute revert now every 5 days. Not sure why it seems to crash every 5 days, maybe just coincidence)

Thanks.
The latest file fixed a typo I had in the serialization section which will cause it to serialize more data than it'll read (I had == instead of !=).
After that fix it should serialize ok, not sure about the deser tho.
 

toddjumper

Wanderer
Ok, my shard crashed BEFORE I could install your update from today. But the server was in Debug mode- so again this is before your recent fix, but it might tell you whats causing it. Here is what was seen in the server window and the -debug crash log.

World: Saving...103, 0
Error:
System.NullReferenceException: Object reference not set to an instance of an object. at Server.daat99.Daat99OWLTR.Serialize(GenericWriter writer) in c:\ToddsRunUO\RunUO 1.0\Scripts\Customs\Daat99\Daat99 OWLT Control Center.cs:line 282
at Server.World.SaveItems()
at Server.World.Save(Boolean message)
at Server.World.Save()
at Server.Misc.AutoSave.Save() in c:\ToddsRunUO\RunUO 1.0\Scripts\Misc\AutoSave.cs:line 81
at Server.DelayCallTimer.OnTick()
at Server.Timer.Slice()
at Server.Core.Main(String[] args)
Crash: Backing up...done
Crash: Generating report...done
Crash: Restarting...done

Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
at Server.daat99.Daat99OWLTR.Serialize(GenericWriter writer) in c:\ToddsRunUO\RunUO 1.0\Scripts\Customs\Daat99\Daat99 OWLT Control Center.cs:line 282
at Server.World.SaveItems()
at Server.World.Save(Boolean message)
at Server.World.Save()
at Server.Misc.AutoSave.Save() in c:\ToddsRunUO\RunUO 1.0\Scripts\Misc\AutoSave.cs:line 81
at Server.DelayCallTimer.OnTick()
at Server.Timer.Slice()
at Server.Core.Main(String[] args)
 

daat99

Moderator
Staff member
toddjumper said:
Ok, my shard crashed BEFORE I could install your update from today. But the server was in Debug mode- so again this is before your recent fix, but it might tell you whats causing it. Here is what was seen in the server window and the -debug crash log.

World: Saving...103, 0
Error:
System.NullReferenceException: Object reference not set to an instance of an object. at Server.daat99.Daat99OWLTR.Serialize(GenericWriter writer) in c:\ToddsRunUO\RunUO 1.0\Scripts\Customs\Daat99\Daat99 OWLT Control Center.cs:line 282
at Server.World.SaveItems()
at Server.World.Save(Boolean message)
at Server.World.Save()
at Server.Misc.AutoSave.Save() in c:\ToddsRunUO\RunUO 1.0\Scripts\Misc\AutoSave.cs:line 81
at Server.DelayCallTimer.OnTick()
at Server.Timer.Slice()
at Server.Core.Main(String[] args)
Crash: Backing up...done
Crash: Generating report...done
Crash: Restarting...done

Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
at Server.daat99.Daat99OWLTR.Serialize(GenericWriter writer) in c:\ToddsRunUO\RunUO 1.0\Scripts\Customs\Daat99\Daat99 OWLT Control Center.cs:line 282
at Server.World.SaveItems()
at Server.World.Save(Boolean message)
at Server.World.Save()
at Server.Misc.AutoSave.Save() in c:\ToddsRunUO\RunUO 1.0\Scripts\Misc\AutoSave.cs:line 81
at Server.DelayCallTimer.OnTick()
at Server.Timer.Slice()
at Server.Core.Main(String[] args)
That crash is exactly what the latest version fixed ;)
Too bad you couldn't install it before, it wouldn't have crashed if you did.
Never mind tho, just install it now and let's se if something else will crash it in the future.
 

toddjumper

Wanderer
Daat,

After about 2-3 weeks of my shard running smoothly, after many many world saves, with nothing changed to the Daat99 system, I received for no explanation, the same crash as before again corrupting the world save, so apparently something still is not fixed. I will run the server today in -debug mode but in the mean time here is the crash log for December 7th.

Operating System: Microsoft Windows NT 5.2.3790.0
.NET Framework: 1.1.4322.2300
Time: 12/6/2005 10:06:37 PM
Mobiles: 29119
Items: 238730
Clients:
- Count: 7
[removed account names for protection]

Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
at Server.daat99.Daat99OWLTR.Serialize(GenericWriter writer)
at Server.World.SaveItems()
at Server.World.Save(Boolean message)
at Server.World.Save()
at Server.Misc.AutoSave.Save()
at Server.DelayCallTimer.OnTick()
at Server.Timer.Slice()
at Server.Core.Main(String[] args)
 

daat99

Moderator
Staff member
Ok since I have no clue on what can cause this crash and getting a debug log is kinda hard due to the fact that it doesn't crash all the time I decided to add my own semi-debug code into the serialization method.

Here's the new file please install it.
It'll create a file called daat99.txt in your RunUO directory (where the normal crash logs are located) and it'll write stuff into it every save.

Please pay attention to the console and do:
find *** (find 3 stars)
Inside it every now and than.
When it'll have a line with 3 stars in it (either ***null*** or ***crash***) I'll need you to send me the entire file.

Keep in mind that you will see those stars even in lines that contain "fixes" so don't panic.
I just want to see which lines have a potential to cause crashes.

If you see a console window, please do freak out and send me the daat99.txt file asap, you aren't suppose to get a lot of console messages doring saves.

P.S.
Untill ryan will fix the forums you'll have to rename the file back to .cs from .txt, sorry about that but it's better than zip ;)
 

toddjumper

Wanderer
Will install this now. I reverted the shard to half an hour before last nights crash, and the crash has not repeated itself yet. I'll keep watching, harder to watch my console now since the shard is running on a rented dedicated t1 server, and I have to remote connect to check in on it.

UPDATE:

World saves no longer show account numbers in window.
Opened Daat99.txt and looks good so far.

12/7/2005 11:10:23 AM: starting save version: 2
12/7/2005 11:10:23 AM: Finished saving OwltrOps.
12/7/2005 11:10:23 AM: Finished saving OwltrOps.
12/7/2005 11:10:23 AM: Finished removing null entries from StaticHolder.
12/7/2005 11:10:23 AM: Finished writing the StaticHolder data.
12/7/2005 11:10:23 AM: Finished save verion: 2.
 

daat99

Moderator
Staff member
toddjumper said:
Will install this now. I reverted the shard to half an hour before last nights crash, and the crash has not repeated itself yet. I'll keep watching, harder to watch my console now since the shard is running on a rented dedicated t1 server, and I have to remote connect to check in on it.

UPDATE:

World saves no longer show account numbers in window.
Opened Daat99.txt and looks good so far.

12/7/2005 11:10:23 AM: starting save version: 2
12/7/2005 11:10:23 AM: Finished saving OwltrOps.
12/7/2005 11:10:23 AM: Finished saving OwltrOps.
12/7/2005 11:10:23 AM: Finished removing null entries from StaticHolder.
12/7/2005 11:10:23 AM: Finished writing the StaticHolder data.
12/7/2005 11:10:23 AM: Finished save verion: 2.
That's a standard world save output.
If it'll encounter anything unusual that I need to know about it'll be clearly marked, just search for *** (3 stars) once in 2-3 days, if you find any than send it over, otherwise let it grow a bit ;)
 

shaybear

Wanderer
I'm getteing a gump saying Server.exe - Comman Language Runtime debugging service. My crash report says this...

Code:
Server Crash Report
===================

RunUO Version 1.0.0, Build 36918
Operating System: Microsoft Windows NT 5.1.2600.0
.NET Framework: 1.1.4322.2032
Time: 12/11/2005 1:24:53 PM


Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Server.Items.NewDaat99Holder.Serialize(GenericWriter writer)
   at Server.daat99.Daat99OWLTR.Serialize(GenericWriter writer)
   at Server.World.SaveItems()
   at Server.World.Save(Boolean message)
   at Server.World.Save()
   at Server.Misc.AutoSave.Save()
   at Server.Misc.AutoSave.OnTick()
   at Server.Timer.Slice()
   at Server.Core.Main(String[] args)


I've downloaded your fixes but I still can't get my shard running. Can you tell me what I'm doing wrong?
 

daat99

Moderator
Staff member
shaybear said:
I'm getteing a gump saying Server.exe - Comman Language Runtime debugging service. My crash report says this...

Code:
Server Crash Report
===================

RunUO Version 1.0.0, Build 36918
Operating System: Microsoft Windows NT 5.1.2600.0
.NET Framework: 1.1.4322.2032
Time: 12/11/2005 1:24:53 PM


Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Server.Items.NewDaat99Holder.Serialize(GenericWriter writer)
   at Server.daat99.Daat99OWLTR.Serialize(GenericWriter writer)
   at Server.World.SaveItems()
   at Server.World.Save(Boolean message)
   at Server.World.Save()
   at Server.Misc.AutoSave.Save()
   at Server.Misc.AutoSave.OnTick()
   at Server.Timer.Slice()
   at Server.Core.Main(String[] args)


I've downloaded your fixes but I still can't get my shard running. Can you tell me what I'm doing wrong?
I need a debug crash log and my daat99 log.
Can't do anything without them.
 

shaybear

Wanderer
I can't find the debug log I don't think it's working since it says debug is not available.
I just put your datt99 log in but I haven't been able to start my server since I've added it. Would you still be able to tell anything about it? Also, should I post it here for you to look at?
 

daat99

Moderator
Staff member
shaybear said:
I can't find the debug log I don't think it's working since it says debug is not available.
I just put your datt99 log in but I haven't been able to start my server since I've added it. Would you still be able to tell anything about it? Also, should I post it here for you to look at?
I need a debug crash log as well as my own log file from when the crash happened.
Since you didn't had your shard in a debug mode nor you had the latest beta installed than I can't do anything about it.

Please read the sticky to learn how to run your shard in a debug mode.
 

toddjumper

Wanderer
If you cant start your server its most likely a corrupt world save. Go into Backup, Automatic and copy in the latest automatic save into your Saves folder.
 

shaybear

Wanderer
Thx, I got my shard up and running again but the error isn't fixed yet. When it does a world save it's showing World: Saving...4, 4.
I've tried to run my shard in the debug mode but I'm not putting the server.exe -debug in right.
Please forgive me, I'm new to all this but willing to learn all I can.
 

daat99

Moderator
Staff member
shaybear said:
Thx, I got my shard up and running again but the error isn't fixed yet. When it does a world save it's showing World: Saving...4, 4.
I've tried to run my shard in the debug mode but I'm not putting the server.exe -debug in right.
Please forgive me, I'm new to all this but willing to learn all I can.
You doesn't use the latest fix.
The latest fix replaced the "4, 4" thingy with a daat99 log file.
 
I just got one of these crashes out of the blue, so I installed the new version and popped in a backup. The catch works like a charm and just throws a non-fatal exception, so at least there's that. Hopefully it doesn't corrupt anything too badly. ;) As for my daat99.txt:

12/12/2005 7:49:25 AM: starting save version: 2
12/12/2005 7:49:25 AM: Finished saving OwltrOps.
12/12/2005 7:49:25 AM: Finished saving OwltrOps.
12/12/2005 7:49:25 AM: Finished removing null entries from StaticHolder.
***CRASH*** 12/12/2005 7:49:25 AM: ***CRASH*** Exception caught: System.NullReferenceException: Object reference not set to an instance of an object.
at Server.Items.NewDaat99Holder.Serialize(GenericWriter writer)
at Server.daat99.Daat99OWLTR.Serialize(GenericWriter writer) ***CRASH*** Please send daat99 this file. ***CRASH***

Hope that helps.
 

daat99

Moderator
Staff member
IndigoParadox said:
I just got one of these crashes out of the blue, so I installed the new version and popped in a backup. The catch works like a charm and just throws a non-fatal exception, so at least there's that. Hopefully it doesn't corrupt anything too badly. ;) As for my daat99.txt:



Hope that helps.
Ok this crash was caused by the new daat99 holder hash table.
When I get home I'll make a new debug log inside the daat99 holder file and send it to you, please save the backup for further testing so I could fix the reason it crashed.

P.S.
Please check your "new" save file (after you restarted and got the exception) to see if it loads fine or not and let me know.
 
Well, I tried loading it once and the server just said "Loading..." for 5 minutes and then threw a serialization error. I didn't change anything, closed the server, opened it back up... And it loaded just fine. :rolleyes: Yes, I know, impossible. Perhaps it was some freak disk caching error or something. I don't know. All that's important is it works. :D

Errrr... I'm not sure if I still have that backup, though. I've got too many save backups lying around. :( I'll sort my stuff out and see.

EDIT: How very odd... I went through all the backups I was working with, and I just can't find one that causes the crash. I even had one that I was pretty sure was the same backup, and yet it won't crash. I'll definitely keep an eye on it. Sorry. :(
 
Top