Jump to content

Rhonen

Recommended Posts

5 hours ago, Stephan Ortolf said:

Kann man die Gerüstblöcke auch irgendwie wieder runter klettern? Einfach Shift drücken, wie bei Leitern, scheint nicht zu klappen. U.U. könnte es auch eine Inkompatibilität zur Movement Mod geben?

Grundlegend funktionieren sie wie die vanilla Leiter.
Da wir den movementmod nicht nutzen, kann ich es nicht ausschliesen, dass es hier ein problem geben könnte.

Link to comment
Share on other sites

1.5.9 with version 1.3.0

Crash i got while reputting the chisel in the workbench cause holding right click didnt work..then fatal crashed.

21.11.2021 16:03:45 [Fatal] Version: v1.15.9 (Stable)2021-11-21 16:03:45: Critical error occurred
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.ValueCollection.Enumerator.MoveNext()
   at Vintagestory.API.Client.GuiDialog.OnMouseUp(MouseEvent args)
   at Vintagestory.Client.NoObf.GuiManager.OnMouseUp(MouseEvent args)
   at Vintagestory.Client.NoObf.ClientMain.OnMouseUp(MouseEvent args)
   at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonUp(Object sender, MouseButtonEventArgs e)
   at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   at OpenTK.Platform.Windows.WinGLNative.WindowProcedure(IntPtr handle, WindowMessage message, IntPtr wParam, IntPtr lParam)
   at OpenTK.Platform.Windows.Functions.DispatchMessage(MSG& msg)
   at OpenTK.Platform.Windows.WinGLNative.ProcessEvents()
   at OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second)
   at _M48MnHH5BAvHUzcYoEuchRW0acb._e0atQ8VmmvgBK7zb3Yh4iDqOiHY(_UGHNIsOGTJBe1BTRXYmLwHTbmS , String[] )
   at _xNqQDGqRsRSMIeuzt2MHKQHDzSd._e0atQ8VmmvgBK7zb3Yh4iDqOiHY(ThreadStart )
-------------------------------
Crash written to file at "C:\Users\admin\AppData\Roaming\VintagestoryData\Logs\client-crash.txt"

Link to comment
Share on other sites

@Aledarkthanks for reporting,
seems the handling inside from the GUI crashed. Why i can not explain. May be there are changes by Tyron, which makes problems - also the memoryleak while GUI-Itemslot increase unexpected by redrawing the gui (right click).

May be the mod needs a whole rework, but for now i do not have the time.

Edited by Rhonen
Link to comment
Share on other sites

On 11/10/2021 at 1:24 PM, Rhonen said:

thanks for reminder. did not forgett, but have some medical issues since 2 month. hopefully its fine in january and then i will try so clean up some minor warning / handlings.
until i will only make patches if something went wrong / crashes.
sorry for that news, but i hope you understand that point.

Wishing you a speedy recovery and continued good health afterwards Rhonen!

  • Like 1
  • Cookie time 1
Link to comment
Share on other sites

Some update from the BugFront.
First investigation and difference-checks done (thx Tyron for publishing 1.16.0-pre1 code samples).
 

1. Memoryleak on GUI level seems fixed (pressing right click)

2. Changes to GUI-Control seems also fixed the `System.InvalidOperationException` Crash-to-Desktop, but will still invest some time to be 99%sure.

3. The changes are from 1.16.0-pre, have to check this changes would also work to 1.15.10

Stay calm, and please dont tell lies, i would not care about my mods.

Edited by Rhonen
  • Like 4
Link to comment
Share on other sites

13 hours ago, Rhonen said:

2. Changes to GUI-Control seems also fixed the `System.InvalidOperationException` Crash-to-Desktop, but will still invest some time to be 99%sure.

You probably have a line like this:

private void OnInventorySlotModified(int slotid)
        {
            SetupDialog();
        }

replace it with this

private void OnInventorySlotModified(int slotid)
        {
            // Direct call can cause InvalidOperationException
            capi.Event.EnqueueMainThreadTask(SetupDialog, "setupquerndlg");
        }

 

  • Like 2
Link to comment
Share on other sites

2 hours ago, Tyron said:

You probably have a line like this:

private void OnInventorySlotModified(int slotid)
        {
            SetupDialog();
        }

replace it with this

private void OnInventorySlotModified(int slotid)
        {
            // Direct call can cause InvalidOperationException
            capi.Event.EnqueueMainThreadTask(SetupDialog, "setupquerndlg");
        }

 

yes, that was one point i found out by your 1.16.0 pre source on git. ;) but thanks for confirm this point :D
another was a wrong call which also creates the GUI-Itemslots again and again, seems the GUI Framework does not clear the instances before correctly, may be the GUI holds the itemslots in usage so the carbage collector does not collect them, but not sure how the GUI Framework works in backend.

i hope on weekend i find enough time to test this changes with 1.15.10 :)

Edited by Rhonen
  • Like 1
  • Cookie time 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...

Thanks again @Rhonen

Just tested with 1.16 stable which was released today. Guess few things changed here's the current errors i got:

10.1.2022 22:58:48 [Notification] Exception thrown when trying to initialize a block entity @499956, 110, 500125: System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at workbenchexpansion.src.inventory.InventoryWorkbenchExtended.get_Item (System.Int32 slotId) [0x0001d] in <58ad462146844f5d89da6f1f38b7d132>:0
  at Vintagestory.API.Common.InventoryBase+<GetEnumerator>d__93.MoveNext () [0x00027] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.API.Common.InventoryBase.ResolveBlocksOrItems () [0x00037] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.API.Common.InventoryBase.AfterBlocksLoaded (Vintagestory.API.Common.IWorldAccessor world) [0x00000] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.API.Common.InventoryBase.LateInitialize (System.String inventoryID, Vintagestory.API.Common.ICoreAPI api) [0x0005c] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.GameContent.BlockEntityContainer.Initialize (Vintagestory.API.Common.ICoreAPI api) [0x00072] in <864f6d52e13c4950b1aa2dda37105fc4>:0
  at Vintagestory.GameContent.BlockEntityOpenableContainer.Initialize (Vintagestory.API.Common.ICoreAPI api) [0x00000] in <864f6d52e13c4950b1aa2dda37105fc4>:0
  at workbenchexpansion.src.blockentity.BeWorkbenchExtended.Initialize (Vintagestory.API.Common.ICoreAPI api) [0x00001] in <58ad462146844f5d89da6f1f38b7d132>:0
  at Vintagestory.Server.ServerSystemSupplyChunks+<>c__DisplayClass15_0.<loadOrGenerateChunkColumn>b__0 () [0x0019f] in <d16f4e016eef4b52a1d7221d4e54ddfc>:0
10.1.2022 22:58:48 [Notification] Exception thrown when trying to initialize a block entity @499955, 110, 500125: System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at workbenchexpansion.src.inventory.InventoryWorkbenchExtended.get_Item (System.Int32 slotId) [0x0001d] in <58ad462146844f5d89da6f1f38b7d132>:0
  at Vintagestory.API.Common.InventoryBase+<GetEnumerator>d__93.MoveNext () [0x00027] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.API.Common.InventoryBase.ResolveBlocksOrItems () [0x00037] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.API.Common.InventoryBase.AfterBlocksLoaded (Vintagestory.API.Common.IWorldAccessor world) [0x00000] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.API.Common.InventoryBase.LateInitialize (System.String inventoryID, Vintagestory.API.Common.ICoreAPI api) [0x0005c] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.GameContent.BlockEntityContainer.Initialize (Vintagestory.API.Common.ICoreAPI api) [0x00072] in <864f6d52e13c4950b1aa2dda37105fc4>:0
  at Vintagestory.GameContent.BlockEntityOpenableContainer.Initialize (Vintagestory.API.Common.ICoreAPI api) [0x00000] in <864f6d52e13c4950b1aa2dda37105fc4>:0
  at workbenchexpansion.src.blockentity.BeWorkbenchExtended.Initialize (Vintagestory.API.Common.ICoreAPI api) [0x00001] in <58ad462146844f5d89da6f1f38b7d132>:0
  at Vintagestory.Server.ServerSystemSupplyChunks+<>c__DisplayClass15_0.<loadOrGenerateChunkColumn>b__0 () [0x0019f] in <d16f4e016eef4b52a1d7221d4e54ddfc>:0
10.1.2022 22:58:48 [Notification] Exception thrown when trying to initialize a block entity @500030, 135, 499960: System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at workbenchexpansion.src.inventory.InventoryWorkbenchExtended.get_Item (System.Int32 slotId) [0x0001d] in <58ad462146844f5d89da6f1f38b7d132>:0
  at Vintagestory.API.Common.InventoryBase+<GetEnumerator>d__93.MoveNext () [0x00027] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.API.Common.InventoryBase.ResolveBlocksOrItems () [0x00037] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.API.Common.InventoryBase.AfterBlocksLoaded (Vintagestory.API.Common.IWorldAccessor world) [0x00000] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.API.Common.InventoryBase.LateInitialize (System.String inventoryID, Vintagestory.API.Common.ICoreAPI api) [0x0005c] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.GameContent.BlockEntityContainer.Initialize (Vintagestory.API.Common.ICoreAPI api) [0x00072] in <864f6d52e13c4950b1aa2dda37105fc4>:0
  at Vintagestory.GameContent.BlockEntityOpenableContainer.Initialize (Vintagestory.API.Common.ICoreAPI api) [0x00000] in <864f6d52e13c4950b1aa2dda37105fc4>:0
  at workbenchexpansion.src.blockentity.BeWorkbenchExtended.Initialize (Vintagestory.API.Common.ICoreAPI api) [0x00001] in <58ad462146844f5d89da6f1f38b7d132>:0
  at Vintagestory.Server.ServerSystemSupplyChunks+<>c__DisplayClass15_0.<loadOrGenerateChunkColumn>b__0 () [0x0019f] in <d16f4e016eef4b52a1d7221d4e54ddfc>:0
10.1.2022 22:58:48 [Notification] Exception thrown when trying to initialize a block entity @500029, 135, 499960: System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at workbenchexpansion.src.inventory.InventoryWorkbenchExtended.get_Item (System.Int32 slotId) [0x0001d] in <58ad462146844f5d89da6f1f38b7d132>:0
  at Vintagestory.API.Common.InventoryBase+<GetEnumerator>d__93.MoveNext () [0x00027] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.API.Common.InventoryBase.ResolveBlocksOrItems () [0x00037] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.API.Common.InventoryBase.AfterBlocksLoaded (Vintagestory.API.Common.IWorldAccessor world) [0x00000] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.API.Common.InventoryBase.LateInitialize (System.String inventoryID, Vintagestory.API.Common.ICoreAPI api) [0x0005c] in <36cbe087d5194ceb880973ce6f2dfbfa>:0
  at Vintagestory.GameContent.BlockEntityContainer.Initialize (Vintagestory.API.Common.ICoreAPI api) [0x00072] in <864f6d52e13c4950b1aa2dda37105fc4>:0
  at Vintagestory.GameContent.BlockEntityOpenableContainer.Initialize (Vintagestory.API.Common.ICoreAPI api) [0x00000] in <864f6d52e13c4950b1aa2dda37105fc4>:0
  at workbenchexpansion.src.blockentity.BeWorkbenchExtended.Initialize (Vintagestory.API.Common.ICoreAPI api) [0x00001] in <58ad462146844f5d89da6f1f38b7d132>:0
  at Vintagestory.Server.ServerSystemSupplyChunks+<>c__DisplayClass15_0.<loadOrGenerateChunkColumn>b__0 () [0x0019f] in <d16f4e016eef4b52a1d7221d4e54ddfc>:0
10.1.2022 22:58:48 [Event] Begin save game ticking...
10.1.2022 22:58:48 [Notification] Entering runphase RunGame
10.1.2022 22:58:48 [Notification] Successfully loaded 56218 waypoints
10.1.2022 22:58:48 [Notification] Server Advertising enabled. Attempt to register at the master server.
10.1.2022 22:58:48 [Notification] Registering to master server...
10.1.2022 22:58:48 [Notification] Starting server threads

 

For a client just looking at the workbench block was enough to crash it. We did a import of a copy of our 1.15.10 world to test it out.

Edited by Aledark
Link to comment
Share on other sites

On 1/11/2022 at 1:16 AM, Aledark said:

Just tested with 1.16 stable which was released today. Guess few things changed here's the current errors i got:

10.1.2022 22:58:48 [Notification] Exception thrown when trying to initialize a block entity @499956, 110, 500125: System.IndexOutOfRangeException: Index was outside the bounds of the array.

did a simple test with the 1.16.0 stable, no errors when starting the testmap.
 

Update: okay, did find a bug while updatem which can cause this crash often. will fix it.

Edited by Rhonen
Link to comment
Share on other sites

×
×
  • 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.