anegostudios / VintageStory-Issues

Vintage Story's public issue tracker for reporting bugs, crashes and the like
46 stars 16 forks source link

Multiple Issues with References to Data Objects Resulting in Crashes #4059

Closed nskjellum closed 1 month ago

nskjellum commented 2 months ago

Game Version

1.19.8(Stable)

Platform

Windows

Modded

None

SP/MP

Singleplayer

Description

Vintage Story will crash at random, with no warning from within the game what has caused the issue, with multiple errors which refer to data objects either not being set or being out of bounds. Occasionally, this crash is so severe it fails to trigger VS's error handler and only registers on the system's application failure event log. This occurs with or without Windows11 Core Isolation.

How to reproduce

  1. Install Vintage Story on the following Laptop - https://us.msi.com/Laptop/Titan-GT77-HX-13VX
  2. Run Vintage Story
  3. It will happen, at some point.

Otherwise, no known reason for this occurring.

Screenshots

No response

Logs

client-debug.txt client-main.txt client-crash.txt

Windows 11 event viewer also reports the following errors.

Faulting application name: Vintagestory.exe, version: 1.19.8.0, time stamp: 0x661e0000
Faulting module name: coreclr.dll, version: 7.0.1023.36312, time stamp: 0x64b06d6c
Exception code: 0xc0000005
Fault offset: 0x0000000000232a26
Faulting process id: 0x0x5F80
Faulting application start time: 0x0x1DAFE1AC6B0BC1D
Faulting application path: C:\Users\nskje\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.10\coreclr.dll
Report Id: 2812668f-23ff-40b4-97c1-7704aa4b18f2
Faulting package full name: 
Faulting package-relative application ID: 
Application: Vintagestory.exe
CoreCLR Version: 7.0.1023.36312
.NET Version: 7.0.10
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Stack:
   at Vintagestory.ServerMods.FollowSurfaceDiscGenerator.beforeGenDeposit(Vintagestory.API.Common.IMapChunk, Vintagestory.API.MathTools.BlockPos)
   at Vintagestory.ServerMods.DiscDepositGenerator.GenDeposit(Vintagestory.API.Common.IBlockAccessor, Vintagestory.API.Server.IServerChunk[], Int32, Int32, Vintagestory.API.MathTools.BlockPos, System.Collections.Generic.Dictionary`2<Vintagestory.API.MathTools.BlockPos,Vintagestory.ServerMods.DepositVariant> ByRef)
   at Vintagestory.ServerMods.GenDeposits.GenDeposit(Vintagestory.API.Server.IServerChunk[], Int32, Int32, Vintagestory.API.MathTools.BlockPos, Vintagestory.ServerMods.DepositVariant)
   at Vintagestory.ServerMods.GenDeposits.GeneratePartial(Vintagestory.API.Server.IServerChunk[], Int32, Int32, Int32, Int32)
   at Vintagestory.ServerMods.GenPartial.GenChunkColumn(Vintagestory.API.Server.IChunkColumnGenerateRequest)
   at Vintagestory.ServerMods.GenDeposits.GenChunkColumn(Vintagestory.API.Server.IChunkColumnGenerateRequest)
   at Vintagestory.Server.ServerSystemSupplyChunks.runGenerators(Vintagestory.Server.ChunkColumnLoadRequest, Int32)
   at Vintagestory.Server.ServerSystemSupplyChunks.PopulateChunk(Vintagestory.Server.ChunkColumnLoadRequest)
   at Vintagestory.Server.ServerSystemSupplyChunks.loadOrGenerateChunkColumn_OnChunkThread(Vintagestory.Server.ChunkColumnLoadRequest, Int32)
   at Vintagestory.Server.ServerSystemSupplyChunks.loadChunkAreaBlocking(Int32, Int32, Int32, Int32, Boolean, Vintagestory.API.Datastructures.ITreeAttribute)
   at Vintagestory.Server.ServerSystemSupplyChunks.LoadWorldgenHandlerAndSpawnChunks()
   at Vintagestory.Server.ServerSystemLoadAndSaveGame.OnWorldgenStartup()
   at Vintagestory.Server.ServerEventManager.TriggerWorldgenStartup()
   at Vintagestory.Server.ServerMain.Launch()
   at Vintagestory.Client.ClientProgram.ServerThreadStart()

Client-Crash.txt contains other errors of the same severity from earlier dates and for modded states of the game, it occurs in all states of the game.

nskjellum commented 1 month ago

Tried updating .NET 7 to the highest version available (7.0.15), now I get consistent (Will Crash the Game Eventually Every Time) errors from the .NET Runtime with exit code 0x80131506, which causes a coreclr.dll error immediately and crashes the game. Seems to occur occasionally when generating new parts of the world, but not always. Game runs perfectly with no other faults until crash occurs suddenly.

Application: Vintagestory.exe
CoreCLR Version: 7.0.1523.57226
.NET Version: 7.0.15
Description: The process was terminated due to an internal error in the .NET Runtime at IP 0x00007FFA981A1586 (0x00007FFA97F70000) with exit code 0x80131506.
Faulting application name: Vintagestory.exe, version: 1.19.8.0, time stamp: 0x661e0000
Faulting module name: coreclr.dll, version: 7.0.1523.57226, time stamp: 0x655ed961
Exception code: 0xc0000005
Fault offset: 0x0000000000231586
Faulting process id: 0x0x5620
Faulting application start time: 0x0x1DB02F72E1FFDA0
Faulting application path: C:\Users\nskje\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\7.0.15\coreclr.dll
Report Id: b91542a7-772b-4306-a732-abe3684f5a72
Faulting package full name: 
Faulting package-relative application ID: 
nskjellum commented 1 month ago

Secondarily, this appears to only happen in survival mode? Potentially unrelated, but it's never happened outside of that game mode so far.

nskjellum commented 1 month ago

After further investigation, this was a hardware issue for my particular computer, and I do not believe it to be something wrong with the program itself. As such, I will be closing it.