Closed Nicholas-Steel closed 7 years ago
You can grab debug logs from here:
http://pcgamingwiki.com/wiki/Fez#Save_game_data_location
Something to try is singlethreaded mode, which you can access in the game options.
I'm interested in fixing the bugs that occur in non-singlethreaded mode (this is likely one of those), so please don't enable singlethreaded mode unless you want to stop worrying about crashes and just enjoy the game.
(00:03:43.066) [FNA] INFORMATION : Controller 0: Generic DirectInput Controller
(00:03:43.818) [Version] INFORMATION : 1.12, Build Date : 2016-08-20 14:50:53
(00:03:43.992) [FNA] INFORMATION : IGLDevice: OpenGLDevice
(00:03:43.994) [FNA] INFORMATION : OpenGL Device: GeForce GTX 760/PCIe/SSE2
(00:03:43.995) [FNA] INFORMATION : OpenGL Driver: 4.5.0 NVIDIA 372.54
(00:03:43.996) [FNA] INFORMATION : OpenGL Vendor: NVIDIA Corporation
(00:03:43.997) [FNA] INFORMATION : MojoShader Profile: glsl120
(00:03:44.004) [FNA] INFORMATION : Using EXT_swap_control_tear VSync!
(00:03:44.028) [Instancing] INFORMATION : Hardware instancing is enabled
(00:03:44.049) [FNA] INFORMATION : Using EXT_swap_control_tear VSync!
(00:03:44.051) [SettingsManager] INFORMATION : Screen set to {{Width:1920 Height:1080 Format:Color}}
(00:03:44.052) [SettingsManager] INFORMATION : Screen mode is : Fullscreen
(00:03:44.054) [SettingsManager] INFORMATION : Backbuffer is 1920x1080
(00:03:44.055) [SettingsManager] INFORMATION : VSync is on
(00:03:44.057) [SettingsManager] INFORMATION : Multisample count is 0
(00:03:44.151) [Threading] INFORMATION : Multithreading is enabled
(00:03:44.735) [Intro] INFORMATION : First draw done!
(00:03:45.528) [StaticPreloader] INFORMATION : SharedContentManager preloaded.
(00:03:45.685) [StaticPreloader] INFORMATION : Music library initialized.
(00:03:45.698) [StaticPreloader] INFORMATION : Volume levels loaded.
(00:03:45.767) [StaticPreloader] INFORMATION : Animations filled.
(00:03:45.769) [StaticPreloader] INFORMATION : Text scroll pre-initialized.
(00:03:45.771) [StaticPreloader] INFORMATION : World map pre-initialized.
(00:03:45.773) [StaticPreloader] INFORMATION : Pause menu pre-initialized.
(00:03:46.147) [Intro] INFORMATION : Preloading complete.
(00:05:19.478) [Intro] INFORMATION : Level load complete.
(00:05:26.299) [Intro] INFORMATION : Intro is done and game is go!
(01:04:56.157) [Unhandled Exception] ERROR : System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at System.Collections.Generic.List1.RemoveAt(Int32 index) at Microsoft.Xna.Framework.Game.SortingFilteringCollection
1.ProcessRemoveJournal()
at Microsoft.Xna.Framework.Game.SortingFilteringCollection1.ForEachFilteredItem[TUserData](Action
2 action, TUserData userData)
at FezGame.Fez.Update(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.SDL2_FNAPlatform.RunLoop(Game game)
at Microsoft.Xna.Framework.Game.Run()
at FezGame.Program.MainInternal()
at Common.Logger.Try(Action action)
(01:04:56.251) [FEZ] INFORMATION : Exiting.
Thanks for the log! It's not as explicit as I'd hoped but it's a clue, I'll dig into it when I have time.
One additional thing that might help : which area was this? Which level were you in and where were you going, if you can recall?
I had cleared out all the graveyard areas and the crash happened when I entered the Hut that leads back to the woods/forest area. To clarify, it crashed as soon as I attempted to enter the Hut from the graveyard.
I just pushed a Windows build to the "experimental" branch on Steam, password is "therebedragons".
If you want to test the tentative fixes I put in place for this problem, please get that build and let me know how it runs. I'll play-test it a bunch and make sure nothing blows up, and if I'm happy with it I'll merge.
I'm experiencing the same issue on Linux, happened while I was still in start village (happened more or less after 20mins of gameplay). Singlethreaded mode was disabled.
My system:
Linux Mint 18 Intel N2840 CPU (with Intel HD graphics) 8GB Ram
I'm not at my pc right so unable to post debug logs before the next 10 hours.
The 'experimental' branch now has Linux/Mac versions of the tentative fix.
[ [2016-08-23] Debug Log.txt [2016-08-23] Debug Log #2.txt [2016-08-23] Debug Log #3.txt
](url)
Uploaded the Debug Logs from last night's crash. Hopefully it helps.
That is helpful, thanks @Armored87! It's not the same exact issue as the original post but it's related. I'll take a look when I can and let you know when there's a build that addresses it.
Linux/Mac's experimental builds have been updated. Should fix Armored's crash, and includes additional work towards getting the original crash fixed.
~~Fixes are now merged in the default branch on Steam for all platforms -- please use this one, "experimental" will grow out of date. Seems stable now, let us know if you hit anything!~~
I reverted all threading changes from the default branch because other people were reporting game freezes... I'll leave all this in the experimental branch for now until we know for sure that it's stable.
Mac/Linux experimental has an update that should fix it For Good(TM). Windows to follow tonight.
Windows "experimental" build is up as well.
It "seems" to be working fine now, or at least I haven't encountered any problems. I now have all 64 cubes.
Edit: And now the game is completed 100%. Edit 2: This basically means I won't be around to beta test anymore. Thanks for looking in to the issues as I encountered them. I think that the PC v1.12 is probably the best version of the game, the v1.12 update is significantly better than the initial PC release.
Cheers, thanks for the big help @Nicholas-Steel :)
Screenshot: https://twitter.com/charlieman/status/769365628016795648 It exited to desktop the first time I tried to enter the door (no going back and forth between the rooms) even after restarting the game.
(22:33:21.113) [FNA] INFORMATION : Controller 0: XInput Controller
(22:33:21.293) [Version] INFORMATION : 1.12, Build Date : 2016-08-25 20:25:11
(22:33:21.405) [FNA] INFORMATION : IGLDevice: OpenGLDevice
(22:33:21.405) [FNA] INFORMATION : OpenGL Device: GeForce GTX 960/PCIe/SSE2
(22:33:21.405) [FNA] INFORMATION : OpenGL Driver: 4.5.0 NVIDIA 368.81
(22:33:21.405) [FNA] INFORMATION : OpenGL Vendor: NVIDIA Corporation
(22:33:21.406) [FNA] INFORMATION : MojoShader Profile: glsl120
(22:33:21.411) [FNA] INFORMATION : Using EXT_swap_control_tear VSync!
(22:33:21.427) [Instancing] INFORMATION : Hardware instancing is disabled
(22:33:21.439) [SettingsManager] INFORMATION : Screen set to {{Width:1600 Height:900 Format:Color}}
(22:33:21.439) [SettingsManager] INFORMATION : Screen mode is : Fullscreen
(22:33:21.440) [SettingsManager] INFORMATION : Backbuffer is 1600x900
(22:33:21.440) [SettingsManager] INFORMATION : VSync is off
(22:33:21.440) [SettingsManager] INFORMATION : Multisample count is 0
(22:33:21.506) [Threading] INFORMATION : Multithreading is enabled
(22:33:21.934) [Intro] INFORMATION : First draw done!
(22:33:22.719) [StaticPreloader] INFORMATION : SharedContentManager preloaded.
(22:33:22.833) [StaticPreloader] INFORMATION : Music library initialized.
(22:33:22.841) [StaticPreloader] INFORMATION : Volume levels loaded.
(22:33:22.895) [StaticPreloader] INFORMATION : Animations filled.
(22:33:22.895) [StaticPreloader] INFORMATION : Text scroll pre-initialized.
(22:33:22.901) [StaticPreloader] INFORMATION : World map pre-initialized.
(22:33:22.901) [StaticPreloader] INFORMATION : Pause menu pre-initialized.
(22:33:23.147) [Intro] INFORMATION : Preloading complete.
(22:33:41.025) [Intro] INFORMATION : Level load complete.
(22:33:46.668) [Intro] INFORMATION : Intro is done and game is go!
(22:33:53.236) [Unhandled Exception] ERROR : System.InvalidOperationException: The vertex stride is larger than the vertex buffer.
at Microsoft.Xna.Framework.Graphics.VertexBuffer.SetDataInternal[T](Int32 offsetInBytes, T[] data, Int32 startIndex, Int32 elementCount, Int32 vertexStride, SetDataOptions options)
at Microsoft.Xna.Framework.Graphics.VertexBuffer.SetData[T](T[] data)
at FezEngine.Structure.Geometry.ShaderInstancedIndexedPrimitives`2.<UpdateBuffers>b__32_2()
at FezEngine.Tools.DrawActionScheduler.Process()
at FezGame.Fez.Draw(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.SDL2_FNAPlatform.RunLoop(Game game)
at Microsoft.Xna.Framework.Game.Run()
at FezGame.Program.MainInternal()
at Common.Logger.Try(Action action)
(22:33:53.246) [Unhandled Exception] ERROR : System.NullReferenceException: Object reference not set to an instance of an object.
at FezEngine.Components.PlaneParticleSystem.Clear()
at FezGame.Components.PlaneParticleSystems.<Initialize>b__9_0()
at System.Action.Invoke()
at FezEngine.Services.LevelManager.OnLevelChanged()
at FezGame.Services.GameLevelManager.ChangeLevel(String levelName)
at FezGame.Components.Actions.EnterDoor.DoLoad(Boolean dummy)
at FezEngine.Tools.Worker`1.Act()
at FezEngine.Tools.PersistentThread.DoActualWork()
at Common.Logger.Try(Action action)
(22:33:53.321) [FEZ] INFORMATION : Exiting.
Can you upload a copy of the savefile? That looks like it could be easily reproducible. Turns out that isn't actually a crash in the thread location, just in the vertex buffer allocation.
After that I switched singlethreaded on, entered the room, switched it back off and got this error trying to leave the room:
(22:44:37.188) [FNA] INFORMATION : Controller 0: XInput Controller
(22:44:37.371) [Version] INFORMATION : 1.12, Build Date : 2016-08-25 20:25:11
(22:44:37.521) [FNA] INFORMATION : IGLDevice: OpenGLDevice
(22:44:37.521) [FNA] INFORMATION : OpenGL Device: GeForce GTX 960/PCIe/SSE2
(22:44:37.521) [FNA] INFORMATION : OpenGL Driver: 4.5.0 NVIDIA 368.81
(22:44:37.521) [FNA] INFORMATION : OpenGL Vendor: NVIDIA Corporation
(22:44:37.521) [FNA] INFORMATION : MojoShader Profile: glsl120
(22:44:37.527) [FNA] INFORMATION : Using EXT_swap_control_tear VSync!
(22:44:37.544) [Instancing] INFORMATION : Hardware instancing is disabled
(22:44:37.556) [SettingsManager] INFORMATION : Screen set to {{Width:1600 Height:900 Format:Color}}
(22:44:37.556) [SettingsManager] INFORMATION : Screen mode is : Fullscreen
(22:44:37.557) [SettingsManager] INFORMATION : Backbuffer is 1600x900
(22:44:37.557) [SettingsManager] INFORMATION : VSync is off
(22:44:37.557) [SettingsManager] INFORMATION : Multisample count is 0
(22:44:37.622) [Threading] INFORMATION : Multithreading is enabled
(22:44:38.074) [Intro] INFORMATION : First draw done!
(22:44:38.839) [StaticPreloader] INFORMATION : SharedContentManager preloaded.
(22:44:38.954) [StaticPreloader] INFORMATION : Music library initialized.
(22:44:38.962) [StaticPreloader] INFORMATION : Volume levels loaded.
(22:44:39.017) [StaticPreloader] INFORMATION : Animations filled.
(22:44:39.017) [StaticPreloader] INFORMATION : Text scroll pre-initialized.
(22:44:39.018) [StaticPreloader] INFORMATION : World map pre-initialized.
(22:44:39.018) [StaticPreloader] INFORMATION : Pause menu pre-initialized.
(22:44:39.262) [Intro] INFORMATION : Preloading complete.
(22:44:52.368) [Intro] INFORMATION : Level load complete.
(22:44:57.003) [Intro] INFORMATION : Intro is done and game is go!
(22:44:59.978) [Unhandled Exception] ERROR : System.NullReferenceException: Object reference not set to an instance of an object.
at FezEngine.Structure.Geometry.ShaderInstancedIndexedPrimitives`2.<UpdateBuffers>b__32_2()
at FezEngine.Tools.DrawActionScheduler.Process()
at FezGame.Fez.Draw(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.SDL2_FNAPlatform.RunLoop(Game game)
at Microsoft.Xna.Framework.Game.Run()
at FezGame.Program.MainInternal()
at Common.Logger.Try(Action action)
(22:45:00.061) [FEZ] INFORMATION : Exiting.
Strange, I can't get this to happen locally. That said, I'm doing this on Linux with Mono, and I get the feeling that this is a Windows .NET issue. Renaud will have to debug this locally.
Actually, wait a minute... why is hardware instancing turned off? Can you turn it back on and try again?
No idea why it was off. Turned it on and now it doesn't crash anymore with singlethreaded off.
Cool, that should also give you the tiniest of performance boosts too. Though I wonder why the vertex buffer was too small... and why it didn't crash before, that rendering path is the same as in 1.11, I think. (Good thing 99% of hardware supports instancing these days)
If anyone's reading this wondering why we're debugging a possible GL crash in here, good news: I found an actual thread crash while trying to repro, so the next update will have another fix for you all to try :P
I was able to reproduce the 1st exception so I'm debugging that!
Fixed both issues, it's live on Steam in the experimental branch, but they were only happening in the non-hardware instancing code path. It's good to keep it stable though, so thanks for reporting :)
Closing this for now, I think we're good on the experimental branch for these issues!
The game quit to desktop without any error messages or crash messages appearing as soon as I entered a door. Starting the game again and re-attempting to enter the door worked fine though. This isn't the most helpful report of course.
Windows 10 x64 1607 Intel i7 920 @2.66ghz 8GB DDR3 RAM Geforce 760 4GB video card (372.54 driver) ASUS P6T Motherboard