Under review

UMotion projects get corrupted multiple times a day

Benji 4 months ago updated by Peter - Soxware Developer 3 months ago 3

I've been working with UMotion about the past week and a half, and multiple times each day my project gets corrupted, causing me to have to revert work I have done and redo it. Most often these corruptions lead the transforms for joints to apparently get disconnected from the joints themselves. The position and rotation controls when a joint is selected are offset from the joint itself, and moving them does not move the joint, but rather just the outline of an unknown cube shape. See video here: https://streamable.com/lhje74

Additionally, these corruptions sometimes cause UMotion to crash repeatedly (clicking the button to relaunch UMotion causes it to relaunch and then immediately crash indefinitely), and sometimes Unity as a whole to crash (trying to open UMotion's Clip Editor window causes Unity to crash every time until I revert to a prior commit).

There are two of us working on animations with UMotion. The other member of my team never has these issues, although we are doing roughly the same kind of work.

An example of steps that led to such corruption:

  1. Import clip into UMotionInteractions
  2. Rename clip
  3. Add Additive layer
  4. Set positions of fingers
  5. Set initial keyframes for fingers and hands
  6. Move playhead to new position
  7. Select IK_Hand_R : Position

Which my teammate says are steps he has taken tens or hundreds of times with no problem.

UMotion Version:
1.22p06
Unity Version:
2020.1.1f1
Under review

Hi Benji,

thank you very much for your bug report.

Please try to update your UMotion version to the latest version V1.22p08.

Which my teammate says are steps he has taken tens or hundreds of times with no problem.

It's often the small details that can cause a bug (and might be different between you and your teammate). I have a few questions:

  1. Do your teammates also use a Mac, or are they on Windows or Linux?
  2. Do your teammates work on the same Unity project file (that you share via version control for example)?

A potential cause of this issue can be third party editor extension assets (it looks like your hierarchy for example is modified by such a third party asset). Does this issue also happen for you if you animate in a "fresh" Unity project with no additional editor extensions?

An example of steps that led to such corruption:

Could you create a minimal project where you still get this error reproduced and send it to me? Usually the easiest way is to duplicate your Unity project where this issue appears, then start removing things that should be unrelated to the issue (your custom sounds, unrelated models, textures, scenes scripts). Before sending the project, please ensure that the issue is still happening. Then delete the "Library" folder (also the "Temp" and "obj" folder if existent) from the project and *.zip it. This should get the project down to a reasonable size. Then send it to me via the email support form (you can also request a link to my Dropbox via email in case file size is too big). Please also included a detailed description or video how I can reproduce the issue using your attached project.

Thank you very much and I'm very sorry for the inconvenience.

Best regards,
Peter

Hi Peter, and thanks for your thorough response.

We have upgraded to V1.22p08 (and Unity 2020.1.2f), but the issue persists. I'm not certain if it's due to the project already having been corrupted from the last version, or if the new version does not fix the issue.

My teammate and I are both using macOS. We are working on the same Unity project. We are using Git for version control.

It's extremely difficult for me to follow your instructions to create a minimum reproducible use case. This is because if I open Unity I will either get into an infinite loop of error messages (https://streamable.com/c2y06t) if UMotion Clip Editor is docked as a tab, or if Unity has recently been forced close due to this infinite loop, the tab will be closed when I launch the project, but trying to reopen the tab will cause Unity to crash immediately with the following error:

Application Specific Information:
*** Terminating app due to uncaught exception 'NSGenericException', reason: 'NSRunInformationalAlertPanel may not be invoked inside of transaction begin/commit pair, or inside of transaction commit (usually this means it was invoked inside of a view's -drawRect: method.)'
abort() called
terminating with uncaught exception of type NSException

Application Specific Backtrace 1:
0   CoreFoundation                      0x00007fff3605cb57 __exceptionPreprocess + 250
1   libobjc.A.dylib                     0x00007fff6eea35bf objc_exception_throw + 48
2   CoreFoundation                      0x00007fff3605c9b5 +[NSException raise:format:] + 189
3   AppKit                              0x00007fff33ae5307 _NSRunModal + 152
4   AppKit                              0x00007fff3380f1b4 NSRunInformationalAlertPanel + 467
5   Unity                               0x00000001136bde0f _Z20DisplayDialogComplexRKN4core12basic_stringIcNS_20StringStorageDefaultIcEEEES5_S5_S5_S5_ + 1583
6   Unity                               0x00000001126d000a _Z41EditorUtility_CUSTOM_DisplayDialogComplexP37ScriptingBackendNativeStringPtrOpaqueS0_S0_S0_S0_ + 890
7   ???                                 0x000000032f0d88dc 0x0 + 13674318044

I would like to send you our UMotion project (UMotionInteractions.asset mentioned above) to see if you can tell anything strange about the project file. I will do so via the email support form.

I've looked into your "UMotionInteractions.asset" but found nothing suspicious (I can open it without getting any errors).

I will either get into an infinite loop of error messages (https://streamable.com/c2y06t) if UMotion Clip Editor is docked as a tab, or if Unity has recently been forced close due to this infinite loop, the tab will be closed when I launch the project, but trying to reopen the tab will cause Unity to crash immediately with the following error:

When you get the error the first time (after a fresh Unity restart), please click on "Issue a Bug Report". Fill out the bug report form and click on send. This will send me the exact error message and stack trace.

Please try to remove all files in the "Assets/UMotionEditor/Data" folder before you open UMotion for the first time. This should break the error loop and should give you the chance to follow my previous instructions to get a Unity project that I can use to reproduce this error.

Regarding the crash message: It looks like UMotion just wants to display a dialog box (using EditorUtility.DisplayDialogComplex) but this causes the Untiy editor to crash. This might be a Mac OS related Unity bug (as UMotion is pure C# it should in theory never be able to crash/force quit Unity; crashes are a typical sign of a native code bug). There are quite a few editor GUI related bugs/crashes on the Mac OS version of Unity (I already reported several of those in the past). For a more stable experience I would recommend Unity on Windows (never had Unity's editor UI crash on Unity Windows). But to be clear, this is a side-effect of the real problem you are having which might be a different problem (probably caused by UMotion itself).

Best regards,
Peter