Several different crashes, logs included

Post Reply
Bob
Posts: 1
Joined: Sat May 18, 2013 10:32 am

Several different crashes, logs included

Post by Bob » Sat May 18, 2013 10:42 am

Hello,

I've had multiple crashes since starting playing the game. Two of them were related to alt+tabbing, I presume, but two them are obscure.

Basically, the two crashes I speak of occurred when:

- I started a 30 min game.
- I created an ocean.
- I created forest.
- Let the forest be inhabited close to the sea.
- Never added further biomes, just wanted to grow the first village to prosperity of 175.
- Used only minerals and animals.
- At some point, after the second project was on the way, the game just crashed.
- I made this happen twice with 2 new games.
- Erorr log follows:
Version: 1.0.3.0
Thread: Main

System.InvalidOperationException: A previous Draw call threw an unhandled exception. See InnerException for details. ---> System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'GraphicsDevice'.
at Microsoft.Xna.Framework.Helpers.CheckDisposed(Object obj, IntPtr pComPtr)
at Microsoft.Xna.Framework.Graphics.GraphicsDevice.get_GraphicsDeviceStatus()
at Microsoft.Xna.Framework.GraphicsDeviceManager.EnsureDevicePlatform()
at Microsoft.Xna.Framework.GraphicsDeviceManager.Microsoft.Xna.Framework.IGraphicsDeviceManager.BeginDraw()
at Microsoft.Xna.Framework.Game.BeginDraw()
at Microsoft.Xna.Framework.Game.DrawFrame()
at Microsoft.Xna.Framework.Game.Paint(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameWindow.OnPaint()
at Microsoft.Xna.Framework.WindowsGameWindow.mainForm_Paint(Object sender, PaintEventArgs e)
--- End of inner exception stack trace ---
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Reus.Program.ActualMain()
at Reus.Program.Main(String[] args)

0x0000 Microsoft.Xna.Framework.Game.dll->Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame
0x001d Microsoft.Xna.Framework.Game.dll->Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle
0x0008 System.Windows.Forms.dll->System.Windows.Forms.Application+ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle
0x01dc System.Windows.Forms.dll->System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop
0x01de System.Windows.Forms.dll->System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner
0x0013 System.Windows.Forms.dll->System.Windows.Forms.Application+ThreadContext.RunMessageLoop
0x0011 System.Windows.Forms.dll->System.Windows.Forms.Application.Run
0x0024 Microsoft.Xna.Framework.Game.dll->Microsoft.Xna.Framework.WindowsGameHost.Run
0x009c Microsoft.Xna.Framework.Game.dll->Microsoft.Xna.Framework.Game.RunGame
0x0006 Reus.exe->Reus.Program.ActualMain
0x003c Reus.exe->Reus.Program.Main


I also had 2 crashes unrelated to the ones above:
Version: 1.0.3.0
Thread: Main

System.ArgumentNullException: Value cannot be null.
Parameter name: key
at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
at Reus.IO.TokenSerializer.WriteSharedObject(BinaryWriter writer, ISharedSerializableObject value)
at Reus.IO.TokenSerializer.WriteValue(BinaryWriter writer, TokenValue token)
at Reus.IO.TokenSerializer.WriteTokenData(BinaryWriter writer, Token token)
at Reus.IO.TokenSerializer.WriteArray(BinaryWriter writer, TokenList list)
at Reus.IO.TokenSerializer.WriteTokenData(BinaryWriter writer, Token token)
at Reus.IO.TokenSerializer.WriteDictionary(BinaryWriter writer, TokenDictionary dictionary)
at Reus.IO.TokenSerializer.WriteTokenData(BinaryWriter writer, Token token)
at Reus.IO.TokenSerializer.WriteArray(BinaryWriter writer, TokenList list)
at Reus.IO.TokenSerializer.WriteTokenData(BinaryWriter writer, Token token)
at Reus.IO.TokenSerializer.WriteDictionary(BinaryWriter writer, TokenDictionary dictionary)
at Reus.IO.TokenSerializer.WriteTokenData(BinaryWriter writer, Token token)
at Reus.IO.TokenSerializer.WriteDictionary(BinaryWriter writer, TokenDictionary dictionary)
at Reus.IO.TokenSerializer.WriteTokenData(BinaryWriter writer, Token token)
at Reus.IO.TokenSerializer.WriteArray(BinaryWriter writer, TokenList list)
at Reus.IO.TokenSerializer.WriteTokenData(BinaryWriter writer, Token token)
at Reus.IO.TokenSerializer.WriteDictionary(BinaryWriter writer, TokenDictionary dictionary)
at Reus.IO.TokenSerializer.WriteTokenData(BinaryWriter writer, Token token)
at Reus.IO.TokenSerializer.WriteDictionary(BinaryWriter writer, TokenDictionary dictionary)
at Reus.IO.TokenSerializer.WriteTokenData(BinaryWriter writer, Token token)
at Reus.IO.TokenSerializer.Write(BinaryWriter writer, Token token)
at Reus.IO.TokenSerializer.Serialize(Stream stream, Token root)
at Reus.SaveGameDatabase.Create(String name, SaveGameStats stats, Token serializedGameToken)
at Reus.GameplayComponent.SaveGame(String name, Boolean isAutosave)
at Reus.GameplayComponent.Update(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Update(GameTime gameTime)
at Reus.Application.Update(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Reus.Program.ActualMain()
at Reus.Program.Main(String[] args)

0x0000 CommonLanguageRuntimeLibrary->System.Collections.Generic.Dictionary`2.FindEntry
0x0000 CommonLanguageRuntimeLibrary->System.Collections.Generic.Dictionary`2.TryGetValue
0x0000 Game.IO.dll->Reus.IO.TokenSerializer.WriteSharedObject
0x0214 Game.IO.dll->Reus.IO.TokenSerializer.WriteValue
0x0053 Game.IO.dll->Reus.IO.TokenSerializer.WriteTokenData
0x0024 Game.IO.dll->Reus.IO.TokenSerializer.WriteArray
0x0053 Game.IO.dll->Reus.IO.TokenSerializer.WriteTokenData
0x0068 Game.IO.dll->Reus.IO.TokenSerializer.WriteDictionary
0x0053 Game.IO.dll->Reus.IO.TokenSerializer.WriteTokenData
0x0024 Game.IO.dll->Reus.IO.TokenSerializer.WriteArray
0x0053 Game.IO.dll->Reus.IO.TokenSerializer.WriteTokenData
0x0068 Game.IO.dll->Reus.IO.TokenSerializer.WriteDictionary
0x0053 Game.IO.dll->Reus.IO.TokenSerializer.WriteTokenData
0x0068 Game.IO.dll->Reus.IO.TokenSerializer.WriteDictionary
0x0053 Game.IO.dll->Reus.IO.TokenSerializer.WriteTokenData
0x0024 Game.IO.dll->Reus.IO.TokenSerializer.WriteArray
0x0053 Game.IO.dll->Reus.IO.TokenSerializer.WriteTokenData
0x0068 Game.IO.dll->Reus.IO.TokenSerializer.WriteDictionary
0x0053 Game.IO.dll->Reus.IO.TokenSerializer.WriteTokenData
0x0068 Game.IO.dll->Reus.IO.TokenSerializer.WriteDictionary
0x0053 Game.IO.dll->Reus.IO.TokenSerializer.WriteTokenData
0x0017 Game.IO.dll->Reus.IO.TokenSerializer.Write
0x0020 Game.IO.dll->Reus.IO.TokenSerializer.Serialize
0x00b2 Reus.exe->Reus.SaveGameDatabase.Create
0x0101 Reus.exe->Reus.GameplayComponent.SaveGame
0x01bc Reus.exe->Reus.GameplayComponent.Update
0x0058 Microsoft.Xna.Framework.Game.dll->Microsoft.Xna.Framework.Game.Update
0x0044 Reus.exe->Reus.Application.Update
0x027a Microsoft.Xna.Framework.Game.dll->Microsoft.Xna.Framework.Game.Tick
0x0006 Microsoft.Xna.Framework.Game.dll->Microsoft.Xna.Framework.Game.HostIdle
0x0019 Microsoft.Xna.Framework.Game.dll->Microsoft.Xna.Framework.GameHost.OnIdle
0x000b Microsoft.Xna.Framework.Game.dll->Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame
0x001d Microsoft.Xna.Framework.Game.dll->Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle
0x0008 System.Windows.Forms.dll->System.Windows.Forms.Application+ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle
0x01dc System.Windows.Forms.dll->System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop
0x01de System.Windows.Forms.dll->System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner
0x0013 System.Windows.Forms.dll->System.Windows.Forms.Application+ThreadContext.RunMessageLoop
0x0011 System.Windows.Forms.dll->System.Windows.Forms.Application.Run
0x0024 Microsoft.Xna.Framework.Game.dll->Microsoft.Xna.Framework.WindowsGameHost.Run
0x009c Microsoft.Xna.Framework.Game.dll->Microsoft.Xna.Framework.Game.RunGame
0x0006 Reus.exe->Reus.Program.ActualMain
0x003c Reus.exe->Reus.Program.Main

Bas
King of the Beta
Posts: 423
Joined: Wed Nov 28, 2012 11:19 am

Re: Several different crashes, logs included

Post by Bas » Sat May 18, 2013 10:52 am

Thanks! Especially that second one is nasty but your reproduction steps are awesome! I'll be working on a fix!

Post Reply