AWS Thinkbox Discussion Forums

Maya Freezes when trying to run submitter script

Maya 2019 is freezing when trying to run the Deadline Submitter plugin. The thing is, I can run the deadline submitter on another machine without an issue. But when I run it on this one, Maya freezes. I’ve tried resetting the preferences, I tried redownloading and reinstalling deadline submitter. I even reinstalled Maya 2019 from scratch and reinstalled deadline submitter, and when I run the script, Maya is still just freezing, and I have to force quit it from the task manager. I don’t know how to send a copy of the script editor since maya freezes and I can’t get into the script editor when the error occurs. Any ideas?
The version of Deadline is 10.1.13.1

Can you clarify WHEN exactly it freezes? It is unclear from your original post.
Is it when you press the icon in the Deadline shelf?
Or does the submitter open properly, but pressing the Submit Job button freezes Maya?

Debugging these two different cases would require different approaches.

Sorry for that.
Maya freezes when I click the icon in the deadline shelf.
It ran fine on this machine before. It just suddenly stopped working. I can’t figure out what caused it.
I’m attaching a screenshot of the script editor after I click the deadline icon in the shelf.
System Specs:
windows 10
processor: AMD Ryzen 5 5600X 6-core 3701 mhz
RAM: 32 GB
vid card: GeForce GTX 1660 Super

The whole log would be

SubmitJobToDeadline;
Grabbing submitter info...
running deadline command: -JSON -GetSubmissionInfo Pools Groups MaxPriority TaskLimit UserHomeDir RepoDir:submission/Maya/Main RepoDir:submission/Integration/Main RepoDir:submission/TileRendering/Main
Importing deadline_submission...
Importing deadline_maya...
running deadline command: -ExecuteScript "C:/DeadlineRepository10/submission/Integration/Main/JobWriter.py" Maya --status --scene-path "EmptyPath"

So from your screenshot it appears it gets to the Importing deadline_submission… and no further. That print comes from the SubmitMayaToDeadline.mel around line 9497:

proc TryImportDeadlineSubmission()
{
	print( "Importing deadline_submission...\n" );

	string $integrationPath = `getAttr "defaultRenderGlobals.DeadlineIntegrationRepoPath"`;
	python( "import sys" );
	python( "if not \"" + $integrationPath + "\" in sys.path:\n\tsys.path.append(\"" + $integrationPath + "\")" );
	int $loadSucceeded = !catch( python( "import deadline_submission" ) );
}

It is supposed to check what the integration path is (on my machine it is C:/DeadlineRepository10/submission/Integration/Main), and add that path to the sys.path if it is not there yet. Then try to import the deadline_submission module in python.

Can you add some debug prints in that function? For example, print the integration path and see if it looks right? Maybe print the content of the $loadSucceeded variable too?

proc TryImportDeadlineSubmission()
{
	print( "Importing deadline_submission...\n" );

	string $integrationPath = `getAttr "defaultRenderGlobals.DeadlineIntegrationRepoPath"`;
	print ($integrationPath+"\n");
	python( "import sys" );
	python( "if not \"" + $integrationPath + "\" in sys.path:\n\tsys.path.append(\"" + $integrationPath + "\")" );
	int $loadSucceeded = !catch( python( "import deadline_submission" ) );
    print ($loadSucceeded);
    print ("----------------------------\n");
}

After this function, the script calls the TryImportDeadlineMaya() function, which should print the next line in the log, Importing deadline_maya...
Since this does not happen for you, it appears that you are stuck in the TryImportDeadlineSubmission() function…

If it turns out that the integration path is not correct, we will have to check the GetSubmissionInfo() function where that value is grabbed and stuffed into an attribute.

Thanks.
So, there’s a new development in our issue. Deadline now isn’t working on both of our computers. So, it’s highly unlikely that it’s the hardware or maya issue. One is a desktop, one is a laptop (both PC). Deadline was working on both machines before.
I’ll be honest, I don’t understand a lot of what you are asking, in terms of adding debug prints and functions. I don’t have experience in coding, if you could explain in layman terms, it would help me.
However, something to note. I cannot find “DeadlineRepository” anywhere on either computer. I’ve checked the entire C: drive, and it doesn’t exist. Also, I cannot find “SubmitMayaToDeadline.mel” anywhere either. Maybe this is part of the issue?
Not sure if this is related, but I have had an issue on both computers with the userSetup.mel being randomly deleted from the script folder. I would have to paste a new copy of it in the scripts folder almost twice a day as it would be randomly missing. At one point, even after pasting a new userSetup.mel in the scripts folder, Maya still wouldn’t run the script, so I tried to reinstall the maya submission script. When trying to reinstall it, I would get this error:

“Could not detect the Deadline Repository Directory because there was an error running deadlinecommand.exe from C:\Program Files\Thinkbox\Deadline\bin
Check that the specified Deadline Client bin directory is correct.”

Someone in the forums mentioned to try: Right-click the exe and choose Troubleshoot Compatibility, Try Recommended Settings, Test the program. you should be able to access your Program Files.
After doing this, I was able to successfully reinstall the Maya submission script, but now we have this new problem where Maya freezes when clicking the icon in the shelf.
Should I try to uninstall deadline completely and reinstall it?

Sorry, I went a bit too deep into details - a lot of Maya users know some scripting, sorry for making assumptions :slight_smile:

The Deadline Repository is located where you installed the Deadline Repository - when you run the first installer from the download package, it deploys a MongoDB database, and a directory structure, on Windows the default is C:\DeadlineRepository10\. You do this only on one machine on the network, so if you have two computers, one of them must have the Repository installed, otherwise the Deadline Monitor and Workers would have nowhere to connect to.

The DeadlineRepository10 folder should then contain a \submission\ folder with sub-folders for all integrated submitters, including one called \Maya\ with subfolders like \Main, \Client, and \Installers. You run the Windows installer located in, say, “C:\DeadlineRepository10\submission\Maya\Installers\Maya-submitter-windows-installer.exe” and this deploys the Client scripts into Maya. When you click on the shelf icon inside of Maya, the Client script runs the actual submission script from the \Main\ folder - that is the SubmitMayaToDeadline.mel mentioned in my previous post.

This script is supposed to build the submitter UI, and perform all the submission actions. It also prints to the Maya Log. The last line that was written successfully to your log according to the screenshot was “Importing deadline_submission…”, so I went to find the function that printed that, and suggested that you replace it with the modified version in my post, so it would print out what the function was doing.

After this function, another function is supposed to load some more scripts and print “Importing deadline_maya…”, but that never happens, so the hickup is somewhere around line 9497 of the script file “C:\DeadlineRepository10\submission\Maya\Main\SubmitMayaToDeadline.mel”

Again, that script resides in the Repository on ONE machine that hosts the Deadline Repository, but all clients load it from there and run it when you click in the shelf icon in Maya. So modifying that script’s content (and restarting Maya) is all you need to add the extra logging to show us what might be going wrong.

It is a bit more complex than that but not by much.
Jonathan is using my render setup to render files. I’m helping him out with rendering. So I have a repository on my NAS and my server is also running a remote connection server as well.
He is connected on a remote repository and all that works perfectly fine, the launcher is running, the monitor is loaded and running. Submitting from the Deadline monitor is also fine, although it does take a bit longer than usual for the submission script to pop up.
I have never seen an issue like this, and I’m also connected remotely from my home to my small farm as well. And everything works fine, submitting from Maya, and monitoring all is good. Just Jonathan has this issue. As he said even a simple Maya scene as soon as you hit the deadline script icon it freezes maya. Any idea what else could cause it? aRemote connection works fine, I’m using it as well, and on his side evrything also wokred fine till recently, when it just stopped…

The size of the scene has absolutely nothing to do with it, as the hanging is happening when the Maya integrated submitter is still loading its (python) components.

When it is communicating with an RCS, the files of a submitter cannot be loaded directly over the connection. Instead, a local cache is created on your machine, and every file asked for is copied automatically from the Repository to the cache, and then the local copy is loaded.

You can check this by opening a command window and typing

deadlinecommand -GetRepositoryPath

If the Repository were on the local network and you were connected directly, you would get a share path. But if connected indirectly to an RCS, you get something else entirely. Here is an example from my system:

C:\Program Files\Thinkbox\Deadline10\bin>deadlinecommand -GetRepositoryPath
C:\DeadlineRepository10.1.13

C:\Program Files\Thinkbox\Deadline10\bin>deadlinecommand -GetRepositoryPath
10.0.0.42:4433/fs/folder/load/folder?subDirectory=

C:\Program Files\Thinkbox\Deadline10\bin>deadlinecommand -GetRepositoryPath submission/Maya/Main
C:\Users\bobop\AppData\Local\Thinkbox\Deadline10\cache\QC6Q1XV3ZclisdmBNCBAEbj6oc\submission/Maya/Main

This means that the Python libraries being loaded by the Integrated submitter must first make it to the local cache, then the path would be added to the PATH env. variable, and then imported from that path. Something goes wrong there.

I would love to have you inject some debug prints into YOUR Repository’s Maya submitter as explained in the previous posts, and launch the integrated submitter on your system, and then let Jonathan do the same. I would expect both to produce a similar result.

You could both call the above command line to resolve the local cache location AFTER running the integrated submitter, and check inside the folder to see if the required files were in fact copied over the RCS connection from the Repository to the local client.

Privacy | Site terms | Cookie preferences