#[SPZ2-5874] [1.0.0-A5-RC2] Placing conflicting anchors on top of existing belts throws exceptions
57 messages ยท Page 1 of 1 (latest)
Thank you for reporting this bug! Our team will review your report soon.
Feel free to add more details in follow-up messages โ we're also scanning for duplicate reports automatically now.
๐จ There are currently 27 reports awaiting team review. Due to the high volume, it may take a little longer for us to get to yours.
๐พ Savegame files (.spz2) are very helpful if relevant to the issue!
Export via Main Menu โ Play โ click the download icon on the relevant savegame.
You can also find them here:
โข Windows: %USERPROFILE%/AppData/LocalLow/tobspr Games/shapez 2/
โข Linux: $XDG_CONFIG_HOME/unity3d/tobspr Games/shapez 2/
Log Analysis (Player.log):
-
System.Exception: Menu savegame version mismatch โ failed to load background savegame because version 1129 is below minimum supported version 1130, occurring inBackgroundSavegameOptionsFactory.PrepareExistingMenuSavegame. -
InvalidOperationException: Stack empty โ repeated multiple times when callingStack<T>.Peek()withinPreferredPathDirectionTracker.Track, propagating throughModularEntityPlacer.ProcessPlacementTrackers. This was rethrown as anAggregateExceptionand then as anExceptionwhile updating various LazyText elements (e.g.,island-layout.Layout_RailNode.title,island-layout.Layout_SpaceBeltNode.title,island-layout.Layout_SpacePipeNode.title) at multiple island coordinates. -
InvalidOperationException: Stack empty โ same root exception (Stack<T>.Peek()) but occurring inPathNotchClampRotationPlacementTracker.UseNotchRotationTracker, propagating throughPathNotchClampRotationPlacementTracker.TrackandModularEntityPlacer.ProcessPlacementTrackers. This was rethrown while updating LazyText elements for building variants (e.g.,building-variant.BeltDefaultVariant.title,building-variant.PipeDefaultVariant.title,building-variant.WireDefaultVariant.title) at tile coordinate (-39212, -11031, 0).
the important errors found in the log are things like this:
Exception: Trying to remove non existing building BeltDefaultLeftInternalVariant@(GlobalTileCoordinate(-39208, -11029, 0);RotateCW)
at ExtendedMapLayout.RemoveBuilding (BuildingInstance building) [0x0008e] in <5e9c7e107ecf47aaacc4706c9504392f>:0
at Game.Interaction.EntitiesPlacement.StagingPlacementMapExtender.ApplyChangesToMap () [0x000d8] in <b70e1f3b6b4e4f0184eb4c5e9370e158>:0
at Game.Interaction.EntitiesPlacement.StagingPlacementMapExtender.FinishBunchEdit (Game.Core.BunchEditing.BunchEditScope scope) [0x0003c] in <b70e1f3b6b4e4f0184eb4c5e9370e158>:0
at Game.Core.BunchEditing.BunchEditScope.Dispose () [0x0000a] in <815a7677ec4941448e70aedac00d68f3>:0
at EntityPlacementRunner.ModifyLayoutWithPlacementData (Game.Placement.Data.IPlacementData placementData) [0x0011b] in <b70e1f3b6b4e4f0184eb4c5e9370e158>:0
at EntityPlacementRunner.OnPlacementDataChange () [0x0005b] in <b70e1f3b6b4e4f0184eb4c5e9370e158>:0
at EntityPlacementRunner.Update (InputDownstreamContext context, FrameDrawOptions drawOptions) [0x00034] in <b70e1f3b6b4e4f0184eb4c5e9370e158>:0
at PlayerInteractionOrchestrator.OnGameUpdate (InputDownstreamContext inputs, FrameDrawOptions drawOptions) [0x00012] in <d1b99e922e2e45bc85e716db26d5ab53>:0
at GameSessionOrchestrator.Tick (System.Single realDeltaTime) [0x0040c] in <d1b99e922e2e45bc85e716db26d5ab53>:0
at Game.Orchestration.GameOrchestrator.Tick (System.Single deltaTime) [0x0000a] in <d1b99e922e2e45bc85e716db26d5ab53>:0
at Game.Orchestration.EngineUpdateCallback+UpdateCallbackListenerBehavior.Update () [0x0000b] in <d1b99e922e2e45bc85e716db26d5ab53>:0
the same seems to happen with space belts and space pipes. normal pipes, wires, and rails do not have this problem
Same exception as this bug: #1479873251294449815 message
they could be related
This is the error first triggered when creating anchors on top of each other:
InvalidOperationException: Stack empty.
at System.Collections.Generic.Stack1[T].Peek () [0x00016] in <1071a2cb0cb3433aae80a793c277a048>:0 at PreferredPathDirectionTracker5[TPivot,TCoordinate,TVector,TDirection,TAxis].Track (InputDownstreamContext inputContext, Viewport viewport, PlacementInputHolder placementInput, IReadOnlyMapLayoutModel map, Game.Placement.Data.IPlacementData placementData, Game.Placement.Processing.IPlacementErrors placementErrors, System.Boolean& inputUpdated) [0x0000f] in <5e9c7e107ecf47aaacc4706c9504392f>:0
at Game.Interaction.EntitiesPlacement.ModularEntityPlacer`1[TPlacementData].ProcessPlacementTrackers (InputDownstreamContext context, Game.Placement.Data.IPlacementData currentPlacementData, Game.Placement.Processing.IPlacementErrors placementErrors, Viewport viewport, IReadOnlyMapLayoutModel layoutModel, System.Boolean& placementUpdated) [0x00030] in <b70e1f3b6b4e4f0184eb4c5e9370e158>:0
Rethrow as AggregateException: One or more errors occurred. (Stack empty.)
[SPZ2-5919] [1.0.0-A5-RC2] Placing conflicting anchors on top of existing belts throws exceptions
๐ This bug report has been marked as a duplicate of SPZ2-5919: InvalidOperationException: Stack empty error occurs and conveyor belt being placed is deleted if creating an anchor on the same location twice
An InvalidOperationException (Stack empty) occurs when placing a conveyor belt and creating an anchor at the same location twice. To reproduce, drag a conveyor belt, press C to create an anchor, move โฆ
Please refer to that ticket for updates.
If you believe this was incorrectly flagged, run /reopen-bug and we will have a look again!
Threads linked to this issue:
This ^ was the same as the other bug (5852)
I added the error to the other bug report and set this to duplicate.
The "stack empty" one is different
i believe the stackEmpty one comes from 5919? i'm not sure, i'll double check
i reported both in the same session
Its what happens when placing an anchor over a point where there was an anchor previously.
Which this bug report is about correct?
this ones about this message
it's the one that gets spammed with the pink flashes; i don't think 5919 has this issue
The name of this bug report is:
Placing conflicting anchors on top of existing belts throws exceptions
Correct?
yes. i was unaware that 5919 also throws exceptions, but it does. here's a fresh log with testing repeating anchors only (not conflicting). i'll post in #1481804944322461937 as well
Log Analysis (Player.log):
-
System.Exception: Failed to load background savegame because menu savegame version 1129 is below the minimum supported version 1130, thrown inBackgroundSavegameOptionsFactory.PrepareExistingMenuSavegame. -
InvalidOperationException: Stack empty error occurring inPathNotchClampRotationPlacementTracker.UseNotchRotationTrackerwhen callingStack<T>.Peek()on an empty stack, during placement tracking inModularEntityPlacer<TPlacementData>.ProcessPlacementTrackers. This error recurs at multiple building coordinates (e.g., GlobalTileCoordinate(-1051, -2128, 0) and GlobalTileCoordinate(-1051, -2127, 0)). -
AggregateException: Rethrown wrapper around the aboveInvalidOperationExceptionwith message "One or more errors occurred. (Stack empty.)". -
Exception: Rethrown as a higher-level exception with message "Exception triggered while updating LazyText[building-variant.BeltDefaultVariant.title]", wrapping the placement tracker errors above.
it triggers stack empty and that's pretty much it
the same log file, now with the setup for this bug report
Log Analysis (Player.log):
-
System.Exception: Menu savegame version mismatch โ background savegame failed to load because version 1129 is below the minimum supported version 1130, occurring inBackgroundSavegameOptionsFactory.PrepareExistingMenuSavegame. -
InvalidOperationException: Stack empty โ thrown atStack1[T].PeekwhenPathNotchClampRotationPlacementTracker.UseNotchRotationTrackerattempted to peek an empty stack during placement tracking inModularEntityPlacer1[TPlacementData].ProcessPlacementTrackers. This was rethrown as anAggregateExceptionand then as anExceptionwhile updating LazyText[building-variant.BeltDefaultVariant.title], and also flagged as a building error at multipleGlobalTileCoordinatelocations. -
Exception: Building placement collision โ attempted to add aSplitter1To2LInternalVariantMirroredbuilding on top of an existingBeltDefaultForwardInternalVariantat the same tile coordinates, thrown inExtendedMapLayout.AddBuildingcalled fromStagingPlacementMapExtender.ApplyChangesToMap. -
ArgumentException: Duplicate dictionary key โ an item with the sameGlobalTileCoordinatekey was already present when callingDictionary2[TKey,TValue].AddinsideMapLayout.AddBuilding, triggered duringExtendedMapLayout.RemoveBuilding`. This occurred repeatedly at coordinates including (-1052, -2132, 0), (-1052, -2134, 0), and (-1051, -2132, 0).
InvalidOperationException: Stack empty error occurs and conveyor belt being placed is deleted if creating an anchor on the same location twice
To Do โข Priority: Highest โข Fix: 1.0 Release [1.0.0]
An InvalidOperationException (Stack empty) occurs when placing a conveyor belt and creating an anchor at the same location twice. To reproduce, drag a conveyor belt, press C to create an anchor, move to another location, press escape, then repeat the same steps. The error causes previous anchor placements to persist incorrectly and deletes drag placements up to the anchor point. Expected behavior is that anchor placements should not conflict with each other across attempts. This also affects ...
๐ฌ Threads: [1.0.0-A5-RC2] Repeat anchor placement c
Exception: Trying to add [token redacted] error is caused by placing a conveyor belt over another and then looping around
In Progress โข Priority: Highest โข Fix: 1.0 Release [1.0.0]
An exception occurs when placing a Conveyor Belt over an existing one in the opposite direction and then looping back into it while continuously dragging. To reproduce, place a row of Conveyor Belts on The Vortex, then drag a new belt in the reverse direction on top of them, use the anchor key to move down and right, and loop back up into the overlapping belt. This triggers an error attempting to place a Merge variant on top of an existing belt at the same tile coordinate. The issue only occu...
Exception triggered while updating LazyText: triggered when building a space belt or anchoring right when the game is autosaving
To Do โข Priority: High โข Fix: 1.0 Release [1.0.0]
An exception is triggered while updating LazyText when the player places a Space Belt or anchor at the exact moment an autosave occurs. The error references "island-layout.Layout_SpaceBeltNode.title" and appears in the console. The issue seems to be a timing conflict between structure placement and the autosave process. Expected behavior is that placing structures during an autosave should not cause any exceptions.
The check point icon remains on the cursor, and the building/machine appears to not be fully placed after placing a belt type machine / building that used an anchor in it's placement during gameplay.
Done โข Priority: Critical โข Fix: 1.0 Release [1.0.0] โข Resolution: Fix Verified
After placing a conveyor belt or other belt-type structure using an anchor during placement, the anchor icon remains stuck on the cursor instead of disappearing. Additionally, the structure segment placed before the anchor appears as a shape preview rather than a fully placed structure, and the placement preview on the cursor disappears. This affects all belt-type structures including conveyor belts, pipes, rails, and wires when an anchor is used during placement. The issue has been verified ...
๐ฌ Threads: Check point is shown on cursor icon afte
Anchors for space belts/pipes work differently from conveyor belts/pipes on islands
Done โข Priority: Medium โข Fix: Future โข Resolution: Done
Anchors for Space Belts and Space Pipes work differently from Conveyor Belts and Pipes on Space Platforms. The anchor appears to limit how corners can be created after placing an anchor for space transport methods. Space Belts and Space Pipes are missing some logic that exists for regular Conveyor Belts and Pipes. The anchor mechanic should work similarly for both types of transport. This has been confirmed as a missing logic issue in the space path Placement system.
ff8ea77 BP refactor. Error occurs and screen goes purple if cutting something within a platform but just outside of the selected area and then moving back to where the old selection was
Done โข Priority: Critical โข Fix: 1.0 Release [1.0.0] โข Resolution: Fix Verified
When cutting an Area Selection within a Space Platform with the Cursor positioned just outside the selection boundary, then moving the Cursor back toward the now-deleted area, the screen turns purple and errors occur. The bug involves a Blueprint refactor issue where a Conveyor Belt Structure creates a duplicate key conflict in the base layout system. This happens specifically when performing a cut operation (Ctrl-X) with the Cursor outside the Area Selection bounds and then moving back into ...
This ^ is about a non existing building tho. (Which is the same error as 5852). But that error hasn't come up again for this bug
yeah that's weird to me. it was spammed last time
InvalidOperationException: Stack empty error occurs and conveyor belt being placed is deleted if creating an anchor on the same location twice
To Do โข Priority: Highest โข Fix: 1.0 Release [1.0.0]
An InvalidOperationException (Stack empty) occurs when placing a conveyor belt and creating an anchor at the same location twice. To reproduce, drag a conveyor belt, press C to create an anchor, move to another location, press escape, then repeat the same steps. The error causes previous anchor placements to persist incorrectly and deletes drag placements up to the anchor point. Expected behavior is that anchor placements should not conflict with each other across attempts. This also affects ...
๐ฌ Threads: [1.0.0-A5-RC2] Repeat anchor placement c
Exception: Trying to add [token redacted] error is caused by placing a conveyor belt over another and then looping around
In Progress โข Priority: Highest โข Fix: 1.0 Release [1.0.0]
An exception occurs when placing a Conveyor Belt over an existing one in the opposite direction and then looping back into it while continuously dragging. To reproduce, place a row of Conveyor Belts on The Vortex, then drag a new belt in the reverse direction on top of them, use the anchor key to move down and right, and loop back up into the overlapping belt. This triggers an error attempting to place a Merge variant on top of an existing belt at the same tile coordinate. The issue only occu...
ff8ea77 BP refactor. Error occurs and screen goes purple if cutting something within a platform but just outside of the selected area and then moving back to where the old selection was
Done โข Priority: Critical โข Fix: 1.0 Release [1.0.0] โข Resolution: Fix Verified
When cutting an Area Selection within a Space Platform with the Cursor positioned just outside the selection boundary, then moving the Cursor back toward the now-deleted area, the screen turns purple and errors occur. The bug involves a Blueprint refactor issue where a Conveyor Belt Structure creates a duplicate key conflict in the base layout system. This happens specifically when performing a cut operation (Ctrl-X) with the Cursor outside the Area Selection bounds and then moving back into ...
Exception: New building added to base layout created when placing belt launchers on platform
Done โข Priority: Highest โข Fix: 1.0 Release [1.0.0] โข Game: 1.0.0-fqa1 โข Resolution: Fix Verified
When placing Belt Launchers on a Space Platform where a Conveyor Belt is connected to a Stacker, then undoing the placement with Undo, an exception occurs: "New building added to base layout conflicts with BeltPortSenderInternalVariant." Redoing with Ctrl+Y triggers additional exceptions including "No path found" and "duplicate dictionary key" errors. The issue only occurs in game builds, not in Editor mode, and causes error logs to appear during normal gameplay. The bug has been fixed and ve...
Exception when trying to place a belt on top of itself
Done โข Priority: High โข Fix: Dimension Update [0.1.0] โข Game: 0.1.0-pre2-rc1 โข Resolution: Done
When placing a Conveyor Belt and changing its elevation to return to the previous elevation on top of itself, the screen turns black and an exception error appears. The error states "Multiple buildings will be placed at the same tile" and occurs in PlacementData.TryGetValidBuildingPlacement. This affects both regular Conveyor Belts and Space Belts. The issue can be reproduced by starting a new game in any difficulty, placing a belt, changing its elevation, and returning to the previous elevat...
Exception: Trying to add SpaceBelt_Lift1UpBackward occurs when creating a space belt and then cutting into another and then back up into the still being created one.
In Progress โข Priority: Highest โข Fix: 1.0 Release [1.0.0]
An exception error and purple screen occur when placing a Space Belt in a continuous drag across multiple machine levels. The issue is triggered by dragging a Space Belt on the bottom level, continuing to the second level, cutting down into the bottom Space Belt, reversing direction, and then going back up into the still-being-placed Space Belt. The error involves attempting to add a SpaceBeltLift1UpBackward on top of an existing SpaceBelt_Forward at the same coordinates. This happens during ...
I see what you mean. I will try to isolate the exact point that spam happens.
i see why you think it's a duplicate though. it could be for all i know
No. I think you are right. @hot plover Too.
I just need to eliminate the first issue from the second.
Sometimes one error can end up triggering the resulting errors, which makes the second errors not useful (a lot of the time)
here's a test i did. it's actually really weird and inconsistent
@minor current @hot plover This looks about right?:
oo that looks like it
i just tried a bit ago with the same circle setup i did in the report video, and couldn't actually get it to throw anything
[1.0.0-A5-RC2] Placing conflicting anchors on top of existing belts throws exceptions
๐ This bug has been unlinked from our internal JIRA report SPZ2-5919. We will now have a second look at it.
Unlinked from the previous report.
Cool. Thanks ๐
yeah it seems that this is the trigger. as soon as it turns that pinkish colour
i think the reason for the exceptions in the original video is because i'm doing that but with a splitter instead of a merger
This is what triggers your error:
One exception happens when attempting to add to an existing conveyor belt.
Another exception happens when attempting to add to a conveyor belt that is not placed yet.
[SPZ2-5874] [1.0.0-A5-RC2] Placing conflicting anchors on top of existing belts throws exceptions
๐ This bug has been linked to our internal ticket SPZ2-5874. Our development team will now have a look. Feel free to comment with further information if you believe it might be useful!
@minor current SPZ2-5874 starts off with one error and then becomes your error.
I will retest when the first one is fixed.