Search Unity

Bolt not usable on Linux starting with 2020.1.13f1

Discussion in 'Linux' started by jbarnoin2, Dec 4, 2020.

  1. jbarnoin2

    jbarnoin2

    Joined:
    May 30, 2013
    Posts:
    5
    Hi everyone,

    I'd like to report an issue when using the Unity Editor on Linux with Bolt. Starting with version 2020.1.13f1, Bolt is not usable for me:
    - When opening the Edit Graph window for a Flow Machine, the Editor sometimes locks up to all mouse input except for the top menu bar items, and can be restored to a usable state without restarting it by resetting to the default window layout using the Windows/Layouts menu.
    - When the Edit Graph window does not lock up, right-clicking the window to open the Add Unit... context menu, the menu flickers black, selections cannot be made in it, and errors appear in the log.

    Before officially reporting a bug for this, I'd like to confirm if anyone else can see this issue as I'm not on an officially supported distribution - Debian 10.6 (x86-64).

    The bug can be 100% reproduced on my setup. Here are the steps that reproduce the issue for me:
    • In Unity HUB: Create new project based on 2D template with Unity 2020.1.13f1, and open it.
    • Copy Bolt_1_4_13_NET4.unitypackage into Assets folder.
    • In Unity, double click the Bolt package in the Project window and accept importing all files.
    • Follow installer steps: Next, Programmer Naming, Next, Generate.
    • Select Main Camera in Hierarchy, add a Flow Machine component, make the Source "Embed" and click "Edit Graph".
    • In the Flow Graph window, right-click in empty space.
      • Issue 1: Editor Locks up (not sure if 100% repro or not - this happens on some scripts on our production project but not always). Mouse input can only act on top menu bar. Editor still refreshes and reacts to mouse hover, but clicks don't do anything other than in menus.
      • Use menu bar to select Windows->Layouts->Default.
      • A window called "Failed to load" is displayed and can be closed. One error in the log with no callstack: Assertion failed on expression: '!dest.m_MultiFrameGUIState.m_Windows'
      • Close "Failed to load" window
    • Click "Edit Graph" in Flow Machine component again.
    • In the Flow Graph window, right-click in empty space again.
      • Issue 2: Menu displays, but flashes black as mouse moves over it. Clicking menu items does not work. A mix of the following errors flood the log:
    Code (csharp):
    1.  
    2. EndLayoutGroup: BeginLayoutGroup must be called first.
    3. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)
    4.  

    ArgumentException: Getting control 1's position in a group with only 1 controls when doing repaint
    Aborting
    UnityEngine.GUILayoutGroup.GetNext () (at /home/bokken/buildslave/unity/build/Modules/IMGUI/LayoutGroup.cs:127)
    UnityEngine.GUILayoutUtility.BeginLayoutGroup (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options, System.Type layoutType) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUILayoutUtility.cs:309)
    UnityEngine.GUILayout.BeginVertical (UnityEngine.GUIContent content, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUILayout.cs:279)
    UnityEngine.GUILayout.BeginVertical (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUILayout.cs:272)
    UnityEngine.GUILayout+VerticalScope..ctor (UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUILayout.cs:510)
    UnityEditor.HostView.OldOnGUI () (at /home/bokken/buildslave/unity/build/Editor/Mono/HostView.cs:230)
    UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /home/bokken/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:316)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /home/bokken/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:620)
    UnityEngine.UIElements.IMGUIContainer.DoIMGUIRepaint () (at /home/bokken/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:487)
    UnityEngine.UIElements.UIR.RenderChainCommand.ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams drawParams, System.Single pixelsPerPoint, System.Exception& immediateException) (at /home/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRenderer/UIRenderers.cs:114)
    Rethrow as ImmediateModeException
    UnityEngine.UIElements.UIR.RenderChain.Render () (at /home/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRChainBuilder.cs:505)
    UnityEngine.UIElements.UIRRepaintUpdater.Update () (at /home/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRRepaintUpdater.cs:62)
    UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at /home/bokken/buildslave/unity/build/Modules/UIElements/VisualTreeUpdater.cs:83)
    UnityEngine.UIElements.Panel.UpdateForRepaint () (at /home/bokken/buildslave/unity/build/Modules/UIElements/Panel.cs:726)
    UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at /home/bokken/buildslave/unity/build/Modules/UIElements/Panel.cs:761)
    UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at /home/bokken/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:439)
    UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at /home/bokken/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:209)
    UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /home/bokken/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:74)
    UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at /home/bokken/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:28)
    UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)

    ArgumentOutOfRangeException: Length cannot be less than zero.
    Parameter name: length
    System.String.Substring (System.Int32 startIndex, System.Int32 length) (at <9577ac7a62ef43179789031239ba8798>:0)
    UnityEditor.EditorGUI.ProgressBar (UnityEngine.Rect position, System.Single value, UnityEngine.GUIContent content, System.Boolean textOnBar, UnityEngine.GUIStyle progressBarBackgroundStyle, UnityEngine.GUIStyle progressBarStyle, UnityEngine.GUIStyle progressBarTextStyle) (at /home/bokken/buildslave/unity/build/Editor/Mono/EditorGUI.cs:5637)
    UnityEditor.EditorGUI.ProgressBar (UnityEngine.Rect position, System.Single value, System.String text) (at /home/bokken/buildslave/unity/build/Editor/Mono/EditorGUI.cs:5587)
    Ludiq.FuzzyWindow.OnOptionsGUI (Ludiq.FuzzyOptionNode parent, System.Single scrollViewHeight) (at Ludiq.Core.Editor/Interface/Fuzzy/FuzzyWindow.cs:822)
    Ludiq.FuzzyWindow.OnLevelGUI (System.Single anim, Ludiq.FuzzyOptionNode parent, Ludiq.FuzzyOptionNode grandParent) (at Ludiq.Core.Editor/Interface/Fuzzy/FuzzyWindow.cs:793)
    Ludiq.FuzzyWindow.OnGUI () (at Ludiq.Core.Editor/Interface/Fuzzy/FuzzyWindow.cs:720)
    UnityEditor.HostView.OldOnGUI () (at /home/bokken/buildslave/unity/build/Editor/Mono/HostView.cs:238)
    UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /home/bokken/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:316)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /home/bokken/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:620)
    UnityEngine.UIElements.IMGUIContainer.DoIMGUIRepaint () (at /home/bokken/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:487)
    UnityEngine.UIElements.UIR.RenderChainCommand.ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams drawParams, System.Single pixelsPerPoint, System.Exception& immediateException) (at /home/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRenderer/UIRenderers.cs:114)
    Rethrow as ImmediateModeException
    UnityEngine.UIElements.UIR.RenderChain.Render () (at /home/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRChainBuilder.cs:505)
    UnityEngine.UIElements.UIRRepaintUpdater.Update () (at /home/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRRepaintUpdater.cs:62)
    UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at /home/bokken/buildslave/unity/build/Modules/UIElements/VisualTreeUpdater.cs:83)
    UnityEngine.UIElements.Panel.UpdateForRepaint () (at /home/bokken/buildslave/unity/build/Modules/UIElements/Panel.cs:726)
    UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at /home/bokken/buildslave/unity/build/Modules/UIElements/Panel.cs:761)
    UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at /home/bokken/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:439)
    UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at /home/bokken/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:209)
    UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /home/bokken/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:74)
    UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at /home/bokken/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:28)
    UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at /home/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)

    Both of these issues do not happen when reproducing the same steps in 2020.1.12f1. They're still present in 2020.1.16f1. I have not tried in 2020.2 yet.
    So, does anyone else see this behaviour? It is a pretty major issue for me as it makes it impossible to use Bolt on Linux, and I'm having to stick to 2020.1.12f1 until this is fixed.

    Thanks
     
  2. ccomendant

    ccomendant

    Joined:
    Jan 9, 2021
    Posts:
    1
    I have the same issue as @jbarnoin2 with 2019.4.17, 2020.2.1, and 2021.1.0b1, but I'm on an even more unsupported Linux - Bodhi with Moksha desktop.
     
  3. jbarnoin2

    jbarnoin2

    Joined:
    May 30, 2013
    Posts:
    5
    Have you checked if things work fine in 2020.1.12f1 ? That was the latest version that was working correctly for me that I tested, though I have not tested versions more recent than 2020.1.16f1 yet. I've been staying on 2020.1.12f1 for now as a workaround.
     
  4. attishno1

    attishno1

    Joined:
    Dec 6, 2016
    Posts:
    28
    Bolt is not working even on Unity 2019.4.17 and Unity 2020.2.0. The windows start flickering and nothing can be written in the fuzzy finder.
     
  5. attishno1

    attishno1

    Joined:
    Dec 6, 2016
    Posts:
    28
    I forgot to mention, I am using Linux Mint 20.1 and Unity HUB.
     
  6. jbarnoin2

    jbarnoin2

    Joined:
    May 30, 2013
    Posts:
    5
    I thought I'd mention that the problem is fixed when moving to Unity 2021.1 and converting from Bolt to Unity Visual Scripting. This is now quite usable on Linux !
     
  7. unity_FCF1614A4541ADFFCAB3

    unity_FCF1614A4541ADFFCAB3

    Joined:
    Feb 25, 2022
    Posts:
    3
    Same problem here on Ubuntu 20.04 with Unity 2020.3.30. Is there any fix or workaround yet?
     
  8. attishno1

    attishno1

    Joined:
    Dec 6, 2016
    Posts:
    28
    The Visual Scripting solution works. Use Unity 2021 and everything will work fine. You might still notice some lag which you won't notice on Windows