Skip to content

Infinite loop on import into unity if another version of Mono Cecil is already included in project #72

@thestonefox

Description

@thestonefox

Environment

  • Code source: GitHub
  • Code version: 9.7.0
  • Platform version: 2020.2.7f1
  • 3rd party dependencies: "com.unity.nuget.mono-cecil": "1.10.1"

Not Recreatable in:

  • Unity 2019.4.36f1
  • Unity 2020.1.17f1

Steps to reproduce

  • Create a new Unity project in 2020.2.7f1 or above
  • Add "com.unity.nuget.mono-cecil": "1.10.1" to Packages/manifest.json
  • Let Unity install Mono-Cecil package
  • Update Packages/manifest.json to include Tilia scoped registry
    • "scopedRegistries": [ { "name": "npmjs", "url": "https://registry.npmjs.org/", "scopes": [ "io.extendreality" ] } ],
  • Add any Tilia package to Packages/manifest.json e.g. add "io.extendreality.tilia.camerarigs.trackedalias.unity": "1.9.0",
  • Let Unity install Tilia package

Note: You can just add Zinnia instead of a Tilia package to get the error: "io.extendreality.zinnia.unity": "1.47.1",
Just adding Malimbe "io.extendreality.malimbe": "9.7.0" isn't enough to get the error because no code is being weaved via Malimbe.

The problem is compounded when using a Unity package like "com.unity.netcode.gameobjects": "1.0.0-pre.6", as it has a dependency on the Unity version of Mono Cecil and will always pull in that third party dependency.

Expected behavior

All packages should install correctly

Current behavior

The Malimbe version of Mono Cecil is older than the current Unity installed version and therefore throws a bunch of errors then gets stuck in an infinite loop trying to import assets

The weaver assembly 'Malimbe.BehaviourStateRequirementMethod.Fody, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' references an out of date version of Mono.Cecil.dll. Expected strong name token of '50-CE-BF-1C-CE-B9-D0-5E' but got '1C-A0-91-87-7D-12-CA-03'. The weaver needs to update to at least version 3.0 of FodyHelpers.
UnityEngine.Logger:Log (UnityEngine.LogType,object)
Malimbe.FodyRunner.UnityIntegration.Logger:Log (Malimbe.FodyRunner.LogLevel,string)
Malimbe.FodyRunner.LogForwarder:Log (Malimbe.FodyRunner.LogLevel,string)
Malimbe.FodyRunner.LogForwarder:LogError (string)
ExceptionExtensions:LogException (ILogger,System.Exception)
InnerWeaver:Execute ()
Malimbe.FodyRunner.Runner/<>c__DisplayClass6_0:<RunAsync>b__0 ()
System.Threading._ThreadPoolWaitCallback:PerformWaitCallback ()
An infinite import loop has been detected. The following Assets were imported multiple times, but no changes to them have been detected. Please check if any custom code is trying to import them:
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/Documentation/HowToGuides/AddingATrackedAlias/assets/images/TrackedAliasInSceneWithExampleAvatarObjects.png(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.zinnia.unity/package.json(modified date 2022-03-15T20:42:31.9119998Z)
Packages/io.extendreality.zinnia.unity/Runtime/Data/Operation/Extraction/GameObjectExtractor.cs - (Force Reimport)(modified date 2022-03-15T20:42:31.9119998Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/Documentation/API/TrackedAliasFacade.LinkedAliasAssociationCollectionUnityEvent.md(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/Documentation/API/TrackedAliasConfigurator.md(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/Runtime/SharedResources/Scripts/TrackedAliasFacade.cs - (Force Reimport)(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/Documentation/HowToGuides/AddingATrackedAlias/assets/images/DragAndDropSpatialSimulatorIntoTrackedAlias.png(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/LICENSE.md(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/docfx.json(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/Editor/Utility/PrefabCreator.cs - (Force Reimport)(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.malimbe/package.json(modified date 2021-11-30T09:23:25.704Z)
Packages/io.extendreality.malimbe/README.md(modified date 2021-11-30T09:23:25.704Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/package.json(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.zinnia.unity/CHANGELOG.md(modified date 2022-03-15T20:42:31.9119998Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/CHANGELOG.md(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.malimbe/LICENSE.md(modified date 2021-11-30T09:23:25.704Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/Runtime/Prefabs/CameraRigs.TrackedAlias.prefab(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/Documentation/API/TrackedAliasFacade.md(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/README.md(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/Documentation/HowToGuides/AddingATrackedAlias/README.md(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/Documentation/API/README.md(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/Documentation/HowToGuides/AddingATrackedAlias/assets/images/DragAndDropUnityXRIntoTrackedAlias.png(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/FodyWeavers.xml(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.zinnia.unity/README.md(modified date 2022-03-15T20:42:31.9119998Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/Documentation/HowToGuides/AddingATrackedAlias/assets/images/UpdateTrackedAliasElementsSize.png(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/Documentation/HowToGuides/AddingATrackedAlias/assets/images/DisableUnityXRGameObject.png(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.malimbe/THIRD_PARTY_NOTICES.md(modified date 2021-11-30T09:23:25.704Z)
Packages/io.extendreality.malimbe/CHANGELOG.md(modified date 2021-11-30T09:23:25.704Z)
Packages/io.extendreality.zinnia.unity/FodyWeavers.xml(modified date 2022-03-15T20:42:31.9119998Z)
Packages/io.extendreality.tilia.camerarigs.trackedalias.unity/Documentation/HowToGuides/Installation/README.md(modified date 2022-03-22T15:35:24.842Z)
Packages/io.extendreality.zinnia.unity/LICENSE.md(modified date 2022-03-15T20:42:31.9119998Z)
Packages/io.extendreality.zinnia.unity/Editor/Data/Collection/ObservableListEditor.cs - (Force Reimport)(modified date 2022-03-15T20:42:31.9119998Z)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions