topmostRect failure

Issue #271 resolved
Former user created an issue

Hello! By using Sirenix.OdinInspector; I get following problem:

I have Unity 2017.3.0.f3.

ArgumentException: Last member of path 'topmostRect' contains type 'Rect', which is not assignable to expected type 'Rect'.
Rethrow as TypeInitializationException: An exception was thrown by the type initializer for Sirenix.Utilities.Editor.GUIClipInfo
Rethrow as OdinPropertyException: This error occurred while being drawn by Odin.
Odin Property Path: orbitObject
Odin Drawer Chain: PropertyContextMenuDrawer<Transform>, ReferencePathConflictDrawer<Transform>, ReferenceValueConflictDrawer<Transform>, UnityObjectDrawer<Transform>.

Comments (12)

  1. Bjarke Elias

    I've not been able to reproduce this one, I've tried in multiple versions of 2017.3, GUIClipInfo seems to work fine. Do you have some steps to reproduces it? Or does it happen always?

    I've improved the error message so it now gives full type names, and made GUIClipInfo provide more information about any potential Unity API changes.

  2. Clement Melendez

    Having the same issue whenever it tries to display lists. The lists will not show any items under their header, both in other scripts (e.g. list of players in Rewired Standalone Input component) or in the Odin settings "Editor Types" tab.

    Attaching the log of what happens if I just open that Editor Types tab.

    Unity 2017.3.0f3 Personal

    "Type","Log","Time","Frame","Log","Stack"
    "Exception","ArgumentException: Last member of path 'topmostRect' contains type 'Rect', which is not assignable to expected type 'Rect'.
    Rethrow as TypeInitializationException: An exception was thrown by the type initializer for Sirenix.Utilities.Editor.GUIClipInfo
    Rethrow as OdinPropertyException: This error occurred while being drawn by Odin.
    Odin Property Path: drawingConfig
    Odin Drawer Chain: PropertyContextMenuDrawer<InspectorTypeDrawingConfig>, ReferenceDrawer<InspectorTypeDrawingConfig>, FixUnityNullDrawer<InspectorTypeDrawingConfig>, ReferencePathConflictDrawer<InspectorTypeDrawingConfig>, ReferenceValueConflictDrawer<InspectorTypeDrawingConfig>, NullableReferenceDrawer<InspectorTypeDrawingConfig>, InspectorTypeDrawingConfigDrawer, CompositeDrawer.","None","None","ArgumentException: Last member of path 'topmostRect' contains type 'Rect', which is not assignable to expected type 'Rect'.
    Rethrow as TypeInitializationException: An exception was thrown by the type initializer for Sirenix.Utilities.Editor.GUIClipInfo
    Rethrow as OdinPropertyException: This error occurred while being drawn by Odin.
    Odin Property Path: drawingConfig
    Odin Drawer Chain: PropertyContextMenuDrawer<InspectorTypeDrawingConfig>, ReferenceDrawer<InspectorTypeDrawingConfig>, FixUnityNullDrawer<InspectorTypeDrawingConfig>, ReferencePathConflictDrawer<InspectorTypeDrawingConfig>, ReferenceValueConflictDrawer<InspectorTypeDrawingConfig>, NullableReferenceDrawer<InspectorTypeDrawingConfig>, InspectorTypeDrawingConfigDrawer, CompositeDrawer.","DeepReflection.GetMemberPath()    C:/Sirenix/Sirenix Solution/Sirenix.Utilities/Misc/DeepReflection.cs:698
    DeepReflection.CreateValueGetter[Rect]()    C:/Sirenix/Sirenix Solution/Sirenix.Utilities/Misc/DeepReflection.cs:242
    Sirenix.Utilities.Editor.GUIClipInfo..cctor()    C:/Sirenix/Sirenix Solution/Sirenix.Utilities.Editor/GUI/GUIClipInfo.cs:20
    EditorIcon.Draw()    C:/Sirenix/Sirenix Solution/Sirenix.Utilities.Editor/EditorIcons/EditorIcon.cs:215
    EditorIcon.Draw()    C:/Sirenix/Sirenix Solution/Sirenix.Utilities.Editor/EditorIcons/EditorIcon.cs:175
    SirenixEditorGUI.ToolbarButton()    C:/Sirenix/Sirenix Solution/Sirenix.Utilities.Editor/GUI/SirenixEditorGUI.cs:892
    ListDrawer`2[System.Int32[],System.Int32].DrawToolbar()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Value Drawers/Vector2Drawer.cs:64
    ListDrawer`2[System.Int32[],System.Int32].DrawPropertyLayout()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Value Drawers/Vector2Drawer.cs:59
    OdinValueDrawer`1[System.Int32[]].DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:1065
    OdinValueDrawer`1[System.Int32[]].DrawPropertyImplementation()
    OdinDrawer.DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:283
    OdinDrawer.CallNextDrawer()
    NullableReferenceDrawer`1[System.Int32[]].DrawPropertyLayout()
    OdinValueDrawer`1[System.Int32[]].DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:1065
    OdinValueDrawer`1[System.Int32[]].DrawPropertyImplementation()
    OdinDrawer.DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:283
    OdinDrawer.CallNextDrawer()
    ReferenceValueConflictDrawer`1[System.Int32[]].DrawPropertyLayout()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/PropertyContextMenuDrawer.cs:302
    OdinValueDrawer`1[System.Int32[]].DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:1065
    OdinValueDrawer`1[System.Int32[]].DrawPropertyImplementation()
    OdinDrawer.DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:283
    OdinDrawer.CallNextDrawer()
    ReferencePathConflictDrawer`1[System.Int32[]].DrawPropertyLayout()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/PropertyContextMenuDrawer.cs:249
    OdinValueDrawer`1[System.Int32[]].DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:1065
    OdinValueDrawer`1[System.Int32[]].DrawPropertyImplementation()
    OdinDrawer.DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:283
    OdinDrawer.CallNextDrawer()
    TooltipAttributeDrawer.DrawPropertyLayout()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Value Drawers/TwoDimensionalArrayDrawer.cs:428
    Sirenix.OdinInspector.Editor.OdinAttributeDrawer`1[TAttribute].DrawPropertyImplementation()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:103
    OdinDrawer.DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:283
    OdinDrawer.CallNextDrawer()
    OdinDrawer.CallNextDrawer()
    FixUnityNullDrawer`1[System.Int32[]].DrawPropertyLayout()
    OdinValueDrawer`1[System.Int32[]].DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:1065
    OdinValueDrawer`1[System.Int32[]].DrawPropertyImplementation()
    OdinDrawer.DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:283
    OdinDrawer.CallNextDrawer()
    ReferenceDrawer`1[System.Int32[]].DrawPropertyLayout()
    OdinValueDrawer`1[System.Int32[]].DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:1065
    OdinValueDrawer`1[System.Int32[]].DrawPropertyImplementation()
    OdinDrawer.DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:283
    OdinDrawer.CallNextDrawer()
    OdinDrawer.CallNextDrawer()
    PropertyContextMenuDrawer`1[System.Int32[]].DrawPropertyLayout()
    OdinValueDrawer`1[System.Int32[]].DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:1065
    OdinValueDrawer`1[System.Int32[]].DrawPropertyImplementation()
    OdinDrawer.DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:283
    InspectorUtilities.DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:601
    Debug.LogException()
    InspectorUtilities.DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:601
    InspectorUtilities.DrawProperty()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:527
    InspectorUtilities.DrawPropertiesInTree()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/Infos/InspectorPropertyInfo.cs:520
    PropertyTree.Draw()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Utilities/Persistent/PersistentContextCache.cs:182
    Sirenix.OdinInspector.Editor.ConfigMenuItem.DrawConfig()
    SirenixPreferencesWindow.DrawRightMenu()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Value Drawers/DictionaryDrawer.cs:330
    SirenixPreferencesWindow.OnGUI()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Value Drawers/DictionaryDrawer.cs:235
    GUIUtility.ProcessEvent()"
    "Exception","ArgumentException: Getting control 1's position in a group with only 1 controls when doing Repaint
    Aborting
    Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.","None","None","ArgumentException: Getting control 1's position in a group with only 1 controls when doing Repaint
    Aborting
    Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.","GUILayoutGroup.GetNext()    C:/buildslave/unity/build/Runtime/IMGUI/Managed/LayoutGroup.cs:115
    GUILayoutUtility.DoGetRect()    C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayoutUtility.cs:454
    GUILayoutUtility.GetRect()    C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayoutUtility.cs:429
    GUILayout.Space()    C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayout.cs:272
    SirenixPreferencesWindow.DrawRightMenu()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Value Drawers/DictionaryDrawer.cs:330
    SirenixPreferencesWindow.OnGUI()    C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Value Drawers/DictionaryDrawer.cs:235
    MonoMethod.Invoke()    /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222
    MonoMethod.Invoke()    /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232
    MethodBase.Invoke()    /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115
    HostView.Invoke()    C:/buildslave/unity/build/Editor/Mono/HostView.cs:295
    HostView.Invoke()    C:/buildslave/unity/build/Editor/Mono/HostView.cs:288
    HostView.InvokeOnGUI()    C:/buildslave/unity/build/Editor/Mono/HostView.cs:255"
    
  3. Bjarke Elias

    Hey Clement, thanks for the log. Are you willing to test a new build with the improved error messages so we can get closer to solving this one? Could you send us an email with the Odin invoice id included? Then we'll reply with the build.

  4. Denis VILLENEUVE

    Same here, just updated to 2017.3.0.f3. I have few usage for odin, just some generic lists shown in inspector (but lots of them). Argh! Should not have updated....

    Edit : just so to know, is there a quick fix, as i have 1000 errors per minutes when selecting a object which uses Odin, meaning it is impossible to do anything...

    Edit : wow the issue is dated !!!december!!! How can i just disable Odin without uninstalling it so i don't have to mess with lots of code or go back to Unity 5.6 ? Sorry for insinsting but of all my assets some quite old, Odin is the only one not working in an impressive and very impactful way

    Edit : ok so :

    • it seems there is no way to access by code the topmostRect problem and bypass it or correct it on our own.

    • the problem has been going on for 16 days with barely no follow up.

    • i believe there is no way to deactivate Odin without plain uninstalling it (i tried but perhaps not hard enough you'll tell me).

    => as a result there is no way around this problem by design for who knows how much longer.

    => can't work without uninstalling and correcting own code

    => if there is another future problem unrelated to this one but of the same impact we will be stuck the same way.

    Correct me if i'm wrong but being totally objective it is a huge problem (for people impacted) with absolutely no way around. If so my review won't please you at all. If there is an easy way to deactivate it, and i'm just dumb for not seeing it i will, and i'm already apologizing for being short sighted.

    You'll tell me.

  5. Bjarke Elias

    Hey Denis,

    Sorry for about the delay on this issue, there has just not been the information necessary for us to reproduce it on our end. But today, after a bit back and forth with Clement, it seems to be fixed now. At least for him, but it needs to be verified, as we still can't reproduce it. Could you send us an email via sirenix.net with your Odin Invoice ID, then I'll send you the latest build right away. It would be great to verify that it is solved as well.

  6. Bjarke Elias

    Thanks, do you have an email I can send the build to? Bitbucket doesn't have private messaging.

  7. Denis VILLENEUVE

    Ok so they provide me with a fix in the hour and it worked immediatly so my message is ridiculous and i was wrong.

    It's like when there is a man which is angry, and someone says, hey man, keep calm, here take some tea, and by the way here is your solution. And the man apologize because there is a complicated situation with wife and kids at home that explains everything etc etc..

  8. Log in to comment