There are 2 process that Anim Recovery runs through Maya Standalone sessions. A standalone session is a Maya session like any other, with the exception that it doesn't load any UI, so it runs in the background and can only be seen thru the OS task manager. 


Anchor Checkpoints


One of those processes saves the current scene "anchor checkpoints". That process launches the current Maya scene on a Standalone Maya session and save the current animation state, by saving animation curves and attribute values of pretty much everything in the scene. This is needed, so that a user can roll back to a state before any changes were made. As of version 1.3.0 this can be disabled at user level under Anim Recovery right click menu, or across the board by setting this variable on config.json - "disabledTools": ["animRecoverySaveAnchorCheckpoints"] - (Enterprise Edition only).


Checkpoints cleanup


This process will launch a blank Maya scene on a Standalone Maya session and do a clean up job by removing old checkpoints and merging checkpoints together, with the intention of saving disk space and speeding up the process of loading those checkpoints when needed. As of version 1.3.0 this can be disabled at user level under Anim Recovery right click menu, or across the board by setting this variable on config.json - "disabledTools": ["animRecoveryCleanupCheckpoints"] - (Enterprise Edition only).


Limitations of this system



Because a Standalone Maya session doesn't support User Interface (UI), if any UI is launched by ANY tool, it will crash or freeze that Maya session. This is a Maya limitation, not animBot limitation. Unfortunately Maya is not smart enough to prevent this, so programmers need to implement this by themselves on their tools. Usually big studios take care of those things, but not always, since most of the time users don't use Maya Standalone sessions, unless they use Batch Render or anything specific. 


So, what happens when the Standalone Maya session crashes?


In a nutshell, Anim Recovery won't work. In addition to that, if those sessions are freezing in the background, they could still be taking a lot of memory and could even freeze the whole system or make it very slow.



Short term solution


Make sure no UI is triggered when Maya is in standalone mode. 


  1. Start by uninstalling or disabling any custom tool that launches at Maya startup, such as pickers and aTools.
  2. Launch your OS activity monitor/task manager, so you can see all processes.
  3. Launch Maya and open an animation scene.
  4. Activate Anim Recovery.
  5. You will notice a new process "mayapy" or "python interpreter" spawned. That's a Maya background session.
  6. Keep an eye on this process for a while, it should go away within a few minutes, roughly  "time to open that scene" + 10 minutes.
  7. Keep an eye on CPU and memory usage, see if there's any anomaly.



If the process get stuck and never go away, it means the Maya background session is crashing and/or freezing. Because many of those sessions is spawned over time, if all get stuck your OS will have troubles handling it.



Long term solution


For the near future, my plan is to simplify this tool and get rid of using Maya Standalone sessions altogether. The drawback is that the ability of rolling animation backwards will need to me removed, only ability to recover from a crash will remain. I believe it's worth the trade, as it will make it more robust towards a recovery, which is the main purpose anyways.