Maya 2012 Semaphore Issues

août 17, 2011
Recently I had the pleasure of installing Maya 2012 in a lab environment. To qualify "lab", it is a non-admin multi-user lab.


Maya 2012 seems to have a bit of an issue with cleaning itself up after running. Someone much more informed on the subject has guided me through the discovery of the issues and how to deal with them.


In a nutshell, Maya is leaving Semaphore ipc instances after quiting the program, which also persist after a user logs out! A reboot of the system will clear the semaphore, but it asking a little too much to have a user reboot after quitting Maya 2012.


So, how do I know this? After launching Maya 2012 (Or Mudbox 2012), try running this command:


$ ipcs -b
IPC status from as of Fri Aug 12 14:41:35 EDT 2011
T ID KEY MODE OWNER GROUP QBYTES
Message Queues:


T ID KEY MODE OWNER GROUP SEGSZ
Shared Memory:


T ID KEY MODE OWNER GROUP NSEMS
Semaphores:
s 327680 0xb3536107 --ra-r--r-- rzm102 psuguest 3


You can see it's being left there even after log out! To remove it, you need to pass the ID to the ipcrm command:


$ ipcrm -s 327680


That will clear the semaphore ipc and allow Maya to once again launch. I've noticed that the error in the console about "ACE_SV_Semaphore_Complex: Permission denied" still occurs, but has no effect on Maya launching.


To fix this for the labs, I'm suggesting having the logout hook clean this up using this code:


IPCSUCKS=`ipcs -b | grep -A 1 -i semaphores|tail -1|awk '{print $2}'`
sudo ipcrm -s "$IPCSUCKS"


This should clear the instance of the ipc from Semaphores. I'm not sure this is the best solution because there could be multiple ipc's from semaphore or it could be for something other than Maya. However, I'm running out of time this semester and I need to move on.


A bug report needs to be filled with Autodesk to ask them to change the permissions on the semaphore so that other non-admin users can overwrite that instance. As Frogor from ##osx-server explained: "They need to be setting it up as --ra-ra-r--".


This is a quick and dirty blog post, please forgive the assumptions, spelling mistakes, grammar mistakes, and overall vagueness.


For more information on IPC and Semaphores, check out wikipedia:


And if you are more knowledgeable about these issues, please post in the comments so we may all learn!


Share this

Related Posts

Previous
Next Post »