Jump to content

Recommended Posts

Posted

Hello, I'm having trouble with my singleplayer save. It is crashing shortly after loading in. It loads, then crashes 1-3 seconds later.

I disabled all mods except "Creative Mode", "Essentials", and "Survival Mode" The server-main.log showed this error:

6.9.2025 16:33:22 [Notification] A Client attempts connecting via Dummy connection on 127.0.0.1:0, assigning client id 1
6.9.2025 16:33:22 [Notification] UDP: Client 1 connected via: 0.0.0.0:0
6.9.2025 16:33:22 [Notification] Client 1 uid UxqpGyQBUe45b3zMlWtmVR5I attempting identification. Name: Komarulon
6.9.2025 16:33:22 [Notification] Upped server view distance to: 768, because player is in singleplayer
6.9.2025 16:33:22 [Notification] Delayed join, need to load one spawn chunk first.
6.9.2025 16:33:22 [Notification] Placing Komarulon at 507875.5357055664 74.15087890625 503836.31134033203
6.9.2025 16:33:24 [Event] Komarulon 127.0.0.1:0 joins.
6.9.2025 16:33:24 [Notification] A client reconnected, resuming game calendar.
6.9.2025 16:33:27 [Fatal] Caught unhandled exception in thread 'chunkdbthread'. Shutting down server.
6.9.2025 16:33:27 [Error] Exception: SQLite Error 11: 'database disk image is malformed'.
   at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Vintagestory.Common.Database.SQLiteDbConnectionv2.GetChunk(UInt64 position, String tablename) in VintagestoryLib\Common\FileIO\Database\SQLiteDbConnectionv2.cs:line 217
   at Vintagestory.Common.Database.SQLiteDbConnectionv2.GetChunk(UInt64 position) in VintagestoryLib\Common\FileIO\Database\SQLiteDbConnectionv2.cs:line 186
   at Vintagestory.Common.GameDatabase.GetChunk(Int32 x, Int32 y, Int32 z, Int32 dimension) in VintagestoryLib\Common\FileIO\Database\GameDatabase.cs:line 199
   at Vintagestory.Server.ServerSystemSupplyChunks.TryLoadChunkColumn(ChunkColumnLoadRequest chunkRequest) in VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 1341
   at Vintagestory.Server.ServerSystemSupplyChunks.loadOrGenerateChunkColumn_OnChunkThread(ChunkColumnLoadRequest chunkRequest, Int32 stage) in VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 761
   at Vintagestory.Server.ServerSystemSupplyChunks.tryLoadOrGenerateChunkColumnsInQueue() in VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 670
   at Vintagestory.Server.ServerSystemSupplyChunks.OnSeparateThreadTick() in VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 512
   at Vintagestory.Server.ServerThread.Update() in VintagestoryLib\Server\ServerThread.cs:line 125
   at Vintagestory.Server.ServerThread.Process() in VintagestoryLib\Server\ServerThread.cs:line 55
6.9.2025 16:33:27 [Notification] Client 1 disconnected: Server shutting down - Exception during Process
6.9.2025 16:33:27 [Notification] Last player disconnected, compacting large object heap...
6.9.2025 16:33:28 [Notification] UDP: client disconnected Komarulon
6.9.2025 16:33:28 [Event] Player Komarulon got removed. Reason: Server shutting down - Exception during Process
6.9.2025 16:33:28 [Notification] Server stop requested, begin shutdown sequence. Stop reason: Exception during Process

So, I used the SQL recover command:

sqlite3 2025-08.vcdbs ".recover" | sqlite3 repaired.vcdbs

However, the repaired file crashes in the same manner, but with a different log, indicating the repair was unsuccessful:

6.9.2025 16:31:35 [Notification] A Client attempts connecting via Dummy connection on 127.0.0.1:0, assigning client id 1
6.9.2025 16:31:35 [Notification] UDP: Client 1 connected via: 0.0.0.0:0
6.9.2025 16:31:35 [Notification] Client 1 uid UxqpGyQBUe45b3zMlWtmVR5I attempting identification. Name: Komarulon
6.9.2025 16:31:35 [Notification] Upped server view distance to: 768, because player is in singleplayer
6.9.2025 16:31:35 [Notification] Delayed join, need to load one spawn chunk first.
6.9.2025 16:31:35 [Notification] Placing Komarulon at 507875.6441040039 74.00006103515625 503836.36328125
6.9.2025 16:31:36 [Event] Komarulon 127.0.0.1:0 joins.
6.9.2025 16:31:36 [Notification] A client reconnected, resuming game calendar.
6.9.2025 16:31:39 [Error] Failed deserializing a chunk. Not in repair mode, will exit.
6.9.2025 16:31:39 [Fatal] Caught unhandled exception in thread 'chunkdbthread'. Shutting down server.
6.9.2025 16:31:39 [Error] Exception: Value cannot be null. (Parameter 'buffer')
   at System.ArgumentNullException.Throw(String paramName)
   at System.IO.MemoryStream..ctor(Byte[] buffer)
   at Vintagestory.Common.CompressionDeflate.Decompress(Byte[] fi, Byte[] dest) in VintagestoryLib\Common\Convert\Compression.cs:line 446
   at Vintagestory.Common.Compression.DecompressToUshort(Byte[] data, UInt16[] container, Byte[] reusableBytes, Int32 version) in VintagestoryLib\Common\Convert\Compression.cs:line 158
   at Vintagestory.Common.ChunkData.OldStyleUnpack(Byte[] blocksCompressed, Byte[] lightCompressed, Byte[] lightSatCompressed) in VintagestoryLib\Common\Model\ChunkData.cs:line 359
   at Vintagestory.Common.ChunkData.DecompressFrom(Byte[] blocksCompressed, Byte[] lightCompressed, Byte[] lightPaletteCompressed, Byte[] fluidsCompressed, Int32 chunkdataVersion) in VintagestoryLib\Common\Model\ChunkData.cs:line 331
   at Vintagestory.Common.WorldChunk.unpackNoLock() in VintagestoryLib\Common\Datastructures\WorldChunk.cs:line 289
   at Vintagestory.Common.WorldChunk.Unpack_MaybeNullData() in VintagestoryLib\Common\Datastructures\WorldChunk.cs:line 269
   at Vintagestory.Server.ServerChunk.FromBytes(Byte[] serializedChunk, ChunkDataPool datapool, IWorldAccessor worldForResolve) in VintagestoryLib\Server\Models\ServerChunk.cs:line 201
   at Vintagestory.Server.ServerSystemSupplyChunks.TryLoadChunkColumn(ChunkColumnLoadRequest chunkRequest) in VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 1348
   at Vintagestory.Server.ServerSystemSupplyChunks.loadOrGenerateChunkColumn_OnChunkThread(ChunkColumnLoadRequest chunkRequest, Int32 stage) in VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 759
   at Vintagestory.Server.ServerSystemSupplyChunks.tryLoadOrGenerateChunkColumnsInQueue() in VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 670
   at Vintagestory.Server.ServerSystemSupplyChunks.OnSeparateThreadTick() in VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 512
   at Vintagestory.Server.ServerThread.Process() in VintagestoryLib\Server\ServerThread.cs:line 55
6.9.2025 16:31:39 [Notification] Client 1 disconnected: Server shutting down - Exception during Process
6.9.2025 16:31:39 [Notification] Last player disconnected, compacting large object heap...
6.9.2025 16:31:40 [Notification] UDP: client disconnected Komarulon
6.9.2025 16:31:40 [Event] Player Komarulon got removed. Reason: Server shutting down - Exception during Process
6.9.2025 16:31:40 [Notification] Server stop requested, begin shutdown sequence. Stop reason: Exception during Process

 

Any help would be appreciated. Thanks in advance!

 

Posted

Update - seems like a particular chunk was bad. I had just stepped through a translocator (that I had used before). I set my view distance down to 32, then used:

/wgen regen 25

(Since my view distance was ~750 blocks, 800/32 = 25 chunks)

After completing, I restored my view distance and the map had regenerated without my changes (but luckily I had not made many changes to that area, since it was through a translocator). Hopefully this works, but it seems like it does!

Does anybody know of a way to delete bad chunks specifically more easily if this happens in the future? Or a way to automatically backup your saves periodically?

 

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.