Open tenmillimaster opened 8 months ago
https://drive.google.com/file/d/1JJzu8J5XfAB6hxpAvvA0rksTBA6y0uYG/view?usp=drive_link
A copy of the save file was requested, here it is.
oh, and the modlist. The world was initially generated with primitive survival but that was removed several days ago with no apparent issue.
ABCSReborn-v.0.2.0
ACulinaryArtillery 1.1.3
AncientTools_V1.5.12
animationmanagerlib_0.7.2
Auto Map Markers (1.19)
AutoPanning-v1.0.1
BetterFirepit-1.1.4
BetterRuinsv0.3.4
BetterTradersv0.0.5
Bullseye_2.5.8
CarryOn-1.19_v1.7.4
chiseltools1.10.4
configlib_1.0.2
ExpandedFoods 1.6.8
FeverstoneHorses-v1.6.0-1.19.0
fsmlib_0.2.15
hidenotrot_1.19.4_v0.0.2
hudclock-3.4.0
Knapster_v2.9.1
petai_v2.2.3
ProspectTogether-1.3.0
rivers_2.5.0
translocatorengineeringredux_1.4.9
vsimgui_1.1.1
xinvtweaks_v1.5.7
Thanks for the report, it looks like the /db prune
command often stumbles right now
have similar issue:
4.5.2024 08:34:56 [Fatal] Caught unhandled exception in thread 'chunkdbthread'. Shutting down server.
4.5.2024 08:34:56 [Error] Exception: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
at System.Collections.Generic.List1.RemoveAt(Int32 index) at Microsoft.Data.Sqlite.SqliteConnection.RemoveCommand(SqliteCommand command) at Microsoft.Data.Sqlite.SqliteCommand.Dispose(Boolean disposing) at System.ComponentModel.Component.Dispose() at Vintagestory.Common.Database.SQLiteDbConnectionv2.DeleteChunk(UInt64 position, String tablename) in VintagestoryLib\Common\FileIO\Database\SQLiteDbConnectionv2.cs:line 259 at Vintagestory.Common.Database.SQLiteDbConnectionv2.DeleteChunks(IEnumerable
1 chunkpositions, String tablename) in VintagestoryLib\Common\FileIO\Database\SQLiteDbConnectionv2.cs:line 247
at Vintagestory.Common.Database.SQLiteDbConnectionv2.DeleteChunks(IEnumerable`1 chunkpositions) in VintagestoryLib\Common\FileIO\Database\SQLiteDbConnectionv2.cs:line 227
at Vintagestory.Server.ServerSystemSupplyChunks.deleteChunkColumns() in VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 443
at Vintagestory.Server.ServerSystemSupplyChunks.OnSeparateThreadTick() in VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 438
at Vintagestory.Server.ServerThread.Update() in VintagestoryLib\Server\ServerThread.cs:line 111
at Vintagestory.Server.ServerThread.Process() in VintagestoryLib\Server\ServerThread.cs:line 92
Got the same thing on my dedicated server: 1.19.5 /db prune 6 keep confirm 27.6.2024 10:21:03 [Server Notification] Handling Console Command /db prune 6 keep confirm 27.6.2024 10:21:03 [Server Notification] Prune started, this may take some time. 27.6.2024 10:22:11 [Server Fatal] Caught unhandled exception in thread 'chunkdbthread'. Shutting down server. 27.6.2024 10:22:11 [Server Error] Exception: Object reference not set to an instance of an object. at Microsoft.Data.Sqlite.SqliteConnection.RemoveCommand(SqliteCommand command) at Microsoft.Data.Sqlite.SqliteCommand.Dispose(Boolean disposing) at System.ComponentModel.Component.Dispose() at Vintagestory.Common.Database.SQLiteDbConnectionv2.DeleteChunk(UInt64 position, String tablename) in VintagestoryLib\Common\FileIO\Database\SQLiteDbConnectionv2.cs:line 259 at Vintagestory.Common.Database.SQLiteDbConnectionv2.DeleteChunks(IEnumerable`1 chunkpositions, String tablename) in VintagestoryLib\Common\FileIO\Database\SQLiteDbConnectionv2.cs:line 251 at Vintagestory.Server.ServerSystemSupplyChunks.deleteChunkColumns() in VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 443 at Vintagestory.Server.ServerSystemSupplyChunks.OnSeparateThreadTick() in VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 438 at Vintagestory.Server.ServerThread.Update() in VintagestoryLib\Server\ServerThread.cs:line 111 at Vintagestory.Server.ServerThread.Process() in VintagestoryLib\Server\ServerThread.cs:line 92
I got a similar crash on my server. Version 1.19.8.
> /db prune 0 keep confirm
27.6.2024 11:46:32 [Server Notification] Handling Console Command /db prune 0 keep confirm
27.6.2024 11:46:32 [Server Notification] Prune started, this may take some time.
> 27.6.2024 11:46:46 [Server Fatal] Caught unhandled exception in thread 'chunkdbthread'. Shutting down server.
27.6.2024 11:46:46 [Server Error] Exception: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
at System.Collections.Generic.List`1.RemoveAt(Int32 index)
at Microsoft.Data.Sqlite.SqliteConnection.RemoveCommand(SqliteCommand command)
at Microsoft.Data.Sqlite.SqliteCommand.Dispose(Boolean disposing)
at System.ComponentModel.Component.Dispose()
at Vintagestory.Common.Database.SQLiteDbConnectionv2.DeleteChunk(UInt64 position, String tablename) in VintagestoryLib\Co
mmon\FileIO\Database\SQLiteDbConnectionv2.cs:line 259
at Vintagestory.Common.Database.SQLiteDbConnectionv2.DeleteChunks(IEnumerable`1 chunkpositions, String tablename) in Vint
agestoryLib\Common\FileIO\Database\SQLiteDbConnectionv2.cs:line 251
at Vintagestory.Server.ServerSystemSupplyChunks.deleteChunkColumns() in VintagestoryLib\Server\Systems\World\LoadThread\S
upplyChunks.cs:line 443
at Vintagestory.Server.ServerSystemSupplyChunks.OnSeparateThreadTick() in VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 438
at Vintagestory.Server.ServerThread.Update() in VintagestoryLib\Server\ServerThread.cs:line 111
at Vintagestory.Server.ServerThread.Process() in VintagestoryLib\Server\ServerThread.cs:line 92
> 27.6.2024 11:46:50 [Server Notification] Prune complete, 35094 chunk columns were removed, 1451 chunk columns were kept.
27.6.2024 11:46:50 [Server Notification] Server stop requested, begin shutdown sequence. Stop reason: Exception during Process
Attempted an 8 prune on my (heavily modded) server, got the same issue. Running VS 1.19.8 as well. Issue happens every time an attempt is made.
30.8.2024 22:52:17 [Server Notification] Handling Console Command /db prune 8 drop confirm 30.8.2024 22:52:17 [Server Notification] Prune started, this may take some time. 30.8.2024 22:52:54 [Server Fatal] Caught unhandled exception in thread 'chunkdbthread'. Shutting down server. 30.8.2024 22:52:54 [Server Error] Exception: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index') at System.Collections.Generic.List
1.RemoveAt(Int32 index) at Microsoft.Data.Sqlite.SqliteConnection.RemoveCommand(SqliteCommand command) at Microsoft.Data.Sqlite.SqliteCommand.Dispose(Boolean disposing) at System.ComponentModel.Component.Dispose() at Vintagestory.Common.Database.SQLiteDbConnectionv2.DeleteChunk(UInt64 position, String tablename) in VintagestoryLib\Common\FileIO\Database\SQLiteDbConnectionv2.cs:line 259 at Vintagestory.Common.Database.SQLiteDbConnectionv2.DeleteChunks(IEnumerable
1 chunkpositions, String tablename) in VintagestoryLib\Common\FileIO\Database\SQLiteDbConnectionv2.cs:line 251 at Vintagestory.Common.Database.SQLiteDbConnectionv2.DeleteChunks(IEnumerable`1 chunkpositions) in VintagestoryLib\Common\FileIO\Database\SQLiteDbConnectionv2.cs:line 227 at Vintagestory.Server.ServerSystemSupplyChunks.deleteChunkColumns() in VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 443 at Vintagestory.Server.ServerSystemSupplyChunks.OnSeparateThreadTick() in VintagestoryLib\Server\Systems\World\LoadThread\SupplyChunks.cs:line 438 at Vintagestory.Server.ServerThread.Update() in VintagestoryLib\Server\ServerThread.cs:line 111 at Vintagestory.Server.ServerThread.Process() in VintagestoryLib\Server\ServerThread.cs:line 92
Game Version
1.19.4
Platform
Windows
Modded
Modded
SP/MP
Singleplayer
Description
I ran
/db prune 24 confirm
on a single player copy of a multiplayer world to try and generate new chunks with Better Ruins ruins. I did this while using the client - playing the game. I was initially successful (at least in that I didn't crash or generate exception, not in that I found giant surface ruins). I deleted this world, pasted the copy in my saves folder, and again with/db prune 16 confirm
and generated an exception, then tried again. This time I pasted over the save again and ran the Vintagestoryserver, no client, executing the command there. Now I am reliably generating the exceptions.How to reproduce
Run some variation of /db prune [16-32] confirm
Screenshots
Logs