anegostudios / VintageStory-Issues

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

Client crashes after placing partially spoiled berries in inventory. #3499

Closed Kyroxzos closed 9 months ago

Kyroxzos commented 9 months ago

Game version - v1.19.1

Platform - Windows

Applicable to both Modded & Vanilla versions.

Applicable to both Singleplayer and Multiplayer sessions.

Description - Client immediately crashes upon placing partially-spoiled berries in your inventory.

How to reproduce: Per the description, simply have or place partially/spoiled berries in your inventory. The game will crash immediately. Here is the log of the error being thrown:


Game Version: v1.19.1 (Stable)
1/21/2024 11:02:57 PM: Critical error occurred
Loaded Mods: game@1.19.1, creative@1.19.1, survival@1.19.1
System.Exception: GL_INVALID_VALUE error generated. Element exceeds maximum supported number of combined texture image units.
   at Vintagestory.Client.NoObf.ClientPlatformWindows.DebugCallback(DebugSource source, DebugType type, Int32 id, DebugSeverity severity, Int32 length, IntPtr message, IntPtr userParam) in VintagestoryLib\Client\ClientPlatform\GLFramebuffer.cs:line 1270
   at Vintagestory.Client.NoObf.ShaderProgramBase.Uniform(String uniformName, Int32 value) in VintagestoryLib\Client\ClientPlatform\ShaderProgramBase.cs:line 140
   at Vintagestory.GameContent.EntityShapeRenderer.RenderHeldItem(Single dt, Boolean isShadowPass, Boolean right) in VSEssentials\EntityRenderer\EntityShapeRenderer.cs:line 522
   at Vintagestory.GameContent.EntityPlayerShapeRenderer.RenderHeldItem(Single dt, Boolean isShadowPass, Boolean right) in VSEssentials\EntityRenderer\EntityPlayerShapeRenderer.cs:line 269
   at Vintagestory.GameContent.EntityPlayerShapeRenderer.DoRender3DOpaque(Single dt, Boolean isShadowPass) in VSEssentials\EntityRenderer\EntityPlayerShapeRenderer.cs:line 215
   at Vintagestory.Client.NoObf.SystemRenderEntities.OnRenderOpaque3D(Single deltaTime) in VintagestoryLib\Client\Systems\Render\RenderEntities.cs:line 93
   at Vintagestory.API.Client.DummyRenderer.OnRenderFrame(Single deltaTime, EnumRenderStage stage) in VintagestoryApi\Client\API\IClientEventAPI.cs:line 83
   at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 191
   at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 799
   at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 894
   at Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 723
   at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 163
   at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 675
   at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 650
   at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 78
   at OpenTK.Windowing.Desktop.GameWindow.Run()
   at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 318
   at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 128
   at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

Event Log entries for Vintagestory.exe, the latest 3```
radfast commented 9 months ago

Thanks for reporting, we are investigating, if we find a fix we hope to have this included in 1.19.2 in the next 1-2 days, no guarantee right now.

radfast commented 9 months ago

@Kyroxzos please post your full client-main.txt log - ideally from the game session when the crash happened (so you might need to trigger the crash again). There will be essential info in that log. Specifically, I am interested to see the number of texture atlases in your game.

We might find that you can fix this by tweaking some client settings

EDITED: all good, we've found the cause and this will be fixed in 1.19.2 when it comes