AWS Thinkbox Discussion Forums

VRay 6, Max 2024, & VRaySpawner not working

Hello all,

I manage a farm of ~25 workstations and nodes, and I am in the process of installing and testing Deadline on our system to replace our current render queue manager (Pulze).

I have the repository and RCS running properly, and I have the Deadline client installed and running properly on a few render nodes and 1 workstation.

The one final thing I cannot seem to get working is a simple DBR rendering using V-ray 6 & Max 2024. A DBR job is submitted easily, and a master node is assigned properly, but the render nodes are attempting to load “vrayspawner2024.exe” from the wrong path. This is the error in the render node when it is added to the job as a slave:

Exception Details
2024-04-12 15:46:14:  RenderPluginException -- Error: Error: V-Ray DBR: V-Ray Spawner executable does not exist: C:\Program Files\Autodesk\3ds Max 2024\vrayspawner2024.exe
2024-04-12 15:46:14:     at Deadline.Plugins.PluginWrapper.RenderTasks(Task task, String& outMessage, AbortLevel& abortLevel)
2024-04-12 15:46:14:  RenderPluginException.Cause: JobError (2)
2024-04-12 15:46:14:  RenderPluginException.Level: Major (1)
2024-04-12 15:46:14:  RenderPluginException.HasSlaveLog: True
2024-04-12 15:46:14:  RenderPluginException.SlaveLogFileName: C:\ProgramData\Thinkbox\Deadline10\logs\deadlineslave_renderthread_0-N42-0000.log
2024-04-12 15:46:14:  Exception.TargetSite: Deadline.Slaves.Messaging.PluginResponseMemento d(Deadline.Net.DeadlineMessage, System.Threading.CancellationToken)
2024-04-12 15:46:14:  Exception.Data: ( )
2024-04-12 15:46:14:  Exception.Source: deadline
2024-04-12 15:46:14:  Exception.HResult: -2146233088
2024-04-12 15:46:14:    Exception.StackTrace: 
2024-04-12 15:46:14:     at Deadline.Plugins.SandboxedPlugin.d(DeadlineMessage bgu, CancellationToken bgv)
2024-04-12 15:46:14:     at Deadline.Plugins.SandboxedPlugin.RenderTask(Task task, CancellationToken cancellationToken)
2024-04-12 15:46:14:     at Deadline.Slaves.SlaveRenderThread.c(TaskLogWriter ajz, CancellationToken aka)

There have been a few forum threads on the same topic:

And my issue is the same as the topics of those posts, but there aren’t any solutions available.

I’m sure this has been fixed, and I’m sure it’s possible to render a DBR job with 3dsMax 2024 and V-ray 6 using Deadline, but I cannot for the life of me figure out what piece of code to edit.

I’ve added entries for the 2024 VraySpawner executable in the VraySpawner.param and Vrayspawner.py files, and I’ve sync’d the scripts with all the workers and workstations. But still, the nodes are looking in the wrong location for the VraySpawner2024.exe file. Even though the vrayspawner.param file clearly shows an entry like this:


[VRaySpawnerExecutable_Max2024]
Type=multilinemultifilename
Label=3ds Max 2024 Spawner Executable
Category=V-Ray Spawner Executables for 3ds Max
CategoryOrder=0
CategoryIndex=7
Default=C:\ProgramData\Autodesk\ApplicationPlugins\VRay3dsMax2024\bin\vrayspawner2024.exe
Description=The path to the V-Ray Spawner executable file for 3ds Max 2024. Enter alternative paths on separate lines.

The worker still tries to load the 3dscmd command with a vrayspawner2024.exe path value like:

C:\Program Files\Autodesk\3ds Max 2024\vrayspawner2024.exe

So the version number (2024) and the vrayspawner2024.exe file are both populated properly, but the rest of the path is being defined somewhere else, and I cannot figure out where in the chain of plugin scripts & dependencies I should look to force this path value to update accordingly.

Can a developer at Thinkbox or at least someone who has a working setup with V-ray 6 & Max 2024 please throw me a bone and point me in the right direction for getting this to work? Thank you!

We are using Deadline repository v.10.3.1.3

As a stop-gap I’d use the SMTD submitter instead of 3dsCMD unless you really need 3dsCMD for some reason, I haven’t gotten any reports that it fails to find vrayspawner.exe yet.

Where is vrayspawner2024.exe located now? We’re operating under the assumption that it’s alongside 3dsMax but if that’s changed I’d like to know so we can get that fixed.

If you’ve got to use 3dsCMD for some reason, put the attached 3dsCmd into your DeadlineRepository10/custom/plugins directory so there’s a DeadlineRepository10/custom/plugins/3dsCMD that will override the version shipped with Deadline. This assumes you’re running Deadline 10.1.20 or later.

Once that’s in place, in the Monitor under Tools → Configure Plugins → 3dsCMD at the bottom will be a place to list where vray spawner is installed on your render nodes.

I don’t have a local setup to test with, so let me know how it works, and if there are issues I’ve overlooked.

3dsCmd.zip (23.5 KB)

Thanks for the info and the code! However, I want to make sure the problem is understood before I use the code you provided.

I am using the SMTD submitter, and it’s entirely possible I’m doing something wrong here, but this is what I’m doing:

I set up my scene as usual, check the box for “distributed rendering” in the render setup, and open the SMTD submission window. I check the box for “V-Ray DBR (offload)”, and submit the job. The Deadline Monitor shows the job in the queue, and it gets assigned to a master node and reserves a Spawner node. The master node loads the file, and the Deadline Worker on the “slave” node tries to start the vrayspawner2024.exe, but it is trying to load it from the wrong location (as explained above).

Where is vrayspawner2024.exe located now? We’re operating under the assumption that it’s alongside 3dsMax but if that’s changed I’d like to know so we can get that fixed.

It’s installed at the location shown in the Vrayspawner.param file I quoted above:

C:\ProgramData\Autodesk\ApplicationPlugins\VRay3dsMax2024\bin\vrayspawner2024.exe

The repo version I installed is 10.3, and none of the 3dsMax/VRay plugin files included in that installation show paths for any version of Max later than 2022, and the default path for the VRaySpawner2022.exe is the same as the one for 2024 (the C:\Program data\ location, NOT the C;\Program Files… location), so I would expect it to work. However, the same error occurs for Max 2022 - the spawner nodes try to load vrayspawner2022.exe from the wrong location even though I’ve modified the .exe paths in the VraySpawner.param file.

So, to clarify, the correct path for the VraySpawner2024.exe location is:

C:\ProgramData\Autodesk\ApplicationPlugins\VRay3dsMax2024\bin\vrayspawner2024.exe

But deadline is still trying to load it from a C:\Program Files… location EVEN THOUGH I’ve changed the path location in the .param file, and the correct path shows up in the Configure Plugins > VRaySpawner window. If the code you provided is the fix, that’s great! But Let me know if this information changes anything about your recommendation.

Also, please let me know if I’m doing something completely wrong or if there is an easy way to edit the parameter files for the VRaySpawner to work. Thank you!

Alright, so I have more information now.

The fix provided in the 3dsCmd plugin folder does not work. It results in an error when the master node runs the command to start the job. The error looks like this:

2024-04-16 09:30:26:  0: Executing plugin command of type 'Initialize Plugin'
2024-04-16 09:30:26:  0: INFO: Executing plugin script 'C:\ProgramData\Thinkbox\Deadline10\workers\n42\plugins\661cf06d1e518595e15a14e4\3dsCmd.py'
2024-04-16 09:30:26:  0: INFO: Plugin execution sandbox using Python version 3
2024-04-16 09:30:26:  0: Encountered an error while executing plugin command of type 'Initialize Plugin'
2024-04-16 09:30:27:  0: Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
2024-04-16 09:30:27:  0:    at Deadline.Plugins.DeadlinePlugin.CancelTask()
2024-04-16 09:30:27:  0:    at Deadline.Plugins.PluginWrapper.CancelTask()
2024-04-16 09:30:27:  0:    at Deadline.Slaves.CommandListener.e(String ais)
2024-04-16 09:30:27:  0:    at Deadline.Slaves.CommandListener.d(Object air)
2024-04-16 09:30:27:  0:    at Deadline.Slaves.CommandListener.b(DeadlineMessage aip, Exception aiq)
2024-04-16 09:30:27:  0:    at Deadline.Net.DeadlineMessageUtils.a.a(IAsyncResult bht)
2024-04-16 09:30:27:  0:    at System.Threading.Tasks.TaskToApm.TaskAsyncResult.InvokeCallback()
2024-04-16 09:30:27:  0:    at System.Threading.Tasks.AwaitTaskContinuation.<>c.<.cctor>b__17_0(Object state)
2024-04-16 09:30:27:  0:    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
2024-04-16 09:30:27:  0: --- End of stack trace from previous location ---
2024-04-16 09:30:27:  0:    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
2024-04-16 09:30:27:  0:    at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
2024-04-16 09:30:27:  0: --- End of stack trace from previous location ---
2024-04-16 09:30:27:  0:    at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)
2024-04-16 09:30:27:  0:    at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
2024-04-16 09:30:27:  0:    at System.Threading.ThreadPoolWorkQueue.Dispatch()
2024-04-16 09:30:27:  0:    at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
2024-04-16 09:30:27:  0:    at System.Threading.Thread.StartCallback()
2024-04-16 09:30:30:  Scheduler Thread - Render Thread 0 threw a major error: 
2024-04-16 09:30:30:  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2024-04-16 09:30:30:  Exception Details
2024-04-16 09:30:30:  RenderPluginException -- The Deadline Plugin was not properly initialized. Application plugins must explicitly call `super().__init__()` in the Python constructor: `def __init__()`.
2024-04-16 09:30:30:  RenderPluginException.Cause: JobError (2)
2024-04-16 09:30:30:  RenderPluginException.Level: Major (1)
2024-04-16 09:30:30:  RenderPluginException.HasSlaveLog: True
2024-04-16 09:30:30:  RenderPluginException.SlaveLogFileName: C:\ProgramData\Thinkbox\Deadline10\logs\deadlineslave_renderthread_0-N42-0000.log
2024-04-16 09:30:30:  Exception.TargetSite: Deadline.Slaves.Messaging.PluginResponseMemento d(Deadline.Net.DeadlineMessage, System.Threading.CancellationToken)
2024-04-16 09:30:30:  Exception.Data: ( )
2024-04-16 09:30:30:  Exception.Source: deadline
2024-04-16 09:30:30:  Exception.HResult: -2146233088
2024-04-16 09:30:30:    Exception.StackTrace: 
2024-04-16 09:30:30:     at Deadline.Plugins.SandboxedPlugin.d(DeadlineMessage bgu, CancellationToken bgv)
2024-04-16 09:30:30:     at Deadline.Plugins.SandboxedPlugin.Initialize(Job job, CancellationToken cancellationToken)
2024-04-16 09:30:30:     at Deadline.Slaves.SlaveRenderThread.e(String akb, Job akc, CancellationToken akd)
2024-04-16 09:30:30:     at Deadline.Slaves.SlaveRenderThread.b(TaskLogWriter ajx, CancellationToken ajy)
2024-04-16 09:30:30:  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

So I did some digging, and modified the original “default” 3dsCmd plugin to force the VRaySpawner executable path to be correct. The lines I had to change are contained in the RenderExecutable function in the 3dsCmd.py file. The relevant change is here (line 1464):

    def RenderExecutable( self ):
        # type: () -> str
        version = self.Plugin.GetIntegerPluginInfoEntry( "Version" )
        if( version < 2010 ):
            self.Plugin.FailRender( self.Plugin.Prefix + "Only 3dsmax 2010 and later is supported" )

        isMaxDesign = self.Plugin.GetBooleanPluginInfoEntryWithDefault( "IsMaxDesign", False )
        forceBuild = self.Plugin.GetPluginInfoEntryWithDefault( "MaxVersionToForce", "none" ).lower()
        if( version > 2013 ):
            forceBuild = "none"
        
        # Figure out the render executable to use for rendering.
        vraySpawnerExecutable = r"C:\ProgramData\Autodesk\ApplicationPlugins\VRay3dsMax2024\bin\vrayspawner2024.exe"
        if self.IsRt:
            if( forceBuild == "64bit" ):
                exeList = r"C:\Program Files\Chaos Group\V-Ray\RT for 3ds Max " + str(version) + r" for x64\bin\vrayrtspawner.exe"
                vraySpawnerExecutable = FileUtils.SearchFileList( exeList )
            elif( forceBuild == "32bit" ):
                exeList = r"C:\Program Files\Chaos Group\V-Ray\RT for 3ds Max " + str(version) + r" for x86\bin\vrayrtspawner.exe;C:\Program Files (x86)\Chaos Group\V-Ray\RT for 3ds Max " + str(version) + r" for x86\bin\vrayrtspawner.exe"
                vraySpawnerExecutable = FileUtils.SearchFileList( exeList )
            else:
                exeList = r"C:\Program Files\Chaos Group\V-Ray\RT for 3ds Max " + str(version) + r" for x64\bin\vrayrtspawner.exe;C:\Program Files\Chaos Group\V-Ray\RT for 3ds Max " + str(version) + r" for x86\bin\vrayrtspawner.exe;C:\Program Files (x86)\Chaos Group\V-Ray\RT for 3ds Max " + str(version) + r" for x86\bin\vrayrtspawner.exe"
                vraySpawnerExecutable = FileUtils.SearchFileList( exeList )
                
            if( vraySpawnerExecutable == "" ):
                self.Plugin.FailRender( self.Plugin.Prefix + "Could not find V-Ray Spawner executable in the following locations: " + exeList )
        else:
            renderExecutableKey = "CmdRenderExecutable" + str(version)
            prettyName = "3ds Max %s" % str( version )
            if isMaxDesign:
                renderExecutableKey = renderExecutableKey + "Design"
                prettyName = "3ds Max Design %s" % str( version )
     
            maxRenderExecutable = self.Plugin.GetRenderExecutable( renderExecutableKey, prettyName )
                    
            self.Plugin.LogInfo( self.Plugin.Prefix + "3ds Max executable: %s" % maxRenderExecutable )
            vraySpawnerExecutable = r"C:\ProgramData\Autodesk\ApplicationPlugins\VRay3dsMax2024\bin\vrayspawner2024.exe"
           #vraySpawnerExecutable = PathUtils.ChangeFilename( maxRenderExecutable, "vrayspawner" + str(version) + ".exe" )
            if not File.Exists( vraySpawnerExecutable ):
                self.Plugin.FailRender( self.Plugin.Prefix + "V-Ray Spawner executable does not exist: " + vraySpawnerExecutable )

        self.Plugin.LogInfo( self.Plugin.Prefix + "Spawner executable: %s" % vraySpawnerExecutable )

The commented-out piece is the original, and I’ve forced the path by hard-coding it using a raw string. Of course, this is just a hack and should be written correctly, but I have not the time nor the inclination to write a fix because it would require handling multiple path location options depending on what the system needs. So that would be up to a dev to do properly.

Still, I am puzzled by why this is an issue at all, given that Chaos started installing the VRaySpawner in the /AppData location starting in 2022. I know others have run into this issue (in my original post I linked to a few examples), but the reports are few and far between. This makes me wonder if I’m doing something wrong, very differently, or if Max & VraySpawner use cases are just rare when it comes to Deadline users. There’s obviously been a lot of work put into the Max/VRay plugins, so I would have thought this issue would have been noticed and fixed long ago.

Anyway, documenting here for anyone else who runs into the same issue and needs a quick fix.

I’ll keep an eye on this thread in hopes of a full fix sometime soon!

1 Like

Thanks for this, I’m hitting this same problem and will give this a go. Amazed the plugin hasn’t been updated since 2020

Good stuff, report back if you find anything noteworthy. FWIW, if you uncheck the box for “Use 3dsCMD” next to the VRay DBR off-load, Deadline will use the 3dsMax plugin to launch the Master node and the slave nodes. So, you will need to change the code in the 3dsmax.py file as well - it’s written the same way, and the relevant line in that file is line 3676 (see the # comments):

else:
            renderExecutableKey = "RenderExecutable" + str(version)
            prettyName = "3ds Max %s" % str(version)
            if isMaxDesign:
                renderExecutableKey = renderExecutableKey + "Design"
                prettyName = "3ds Max Design %s" % str(self.Version)

            maxRenderExecutable = self.Plugin.GetRenderExecutable(renderExecutableKey, prettyName)

            self.Plugin.LogInfo(self.Plugin.Prefix + "3ds Max executable: %s" % maxRenderExecutable)
            #vraySpawnerExecutable = PathUtils.ChangeFilename(maxRenderExecutable, "vrayspawner" + str(version) + ".exe")
            #JUST A DUMB HARD-CODED PATH BELOW
            vraySpawnerExecutable = r"C:\ProgramData\Autodesk\ApplicationPlugins\VRay3dsMax2024\bin\vrayspawner2024.exe"
            if not os.path.isfile(vraySpawnerExecutable):
                self.Plugin.FailRender(
                    self.Plugin.Prefix + "V-Ray Spawner executable does not exist: " + vraySpawnerExecutable)

What is interesting to me as well is that the tooltip for that checkbox is recommending that it stay checked to avoid causing the Master node to use a workstation license, but in my testing so far, the Master node still loads Max in Server mode. I still need to verify that it’s not taking a Workstation license, but it seems like that tooltip/caveat is deprecated.

In my limited experience with Deadline I’ve found that the documentation is overall very good and it’s an easy program to work with, but this seems like a piece of the program’s functionality that has accumulated some cobwebs and could use some re-working. Again, I don’t know if I’m just doing things completely backwards or whether Max/V-Ray users are not also using Deadline. But I know for a fact this isn’t the case, so I’m just a big dumb dumb fumbling through lines of python to figure out some apparently obscure problem.

1 Like

EDIT1: Alright we have narrowed down to a network issue - currently with infra trying to sort it out. I’ll update here for future reference once we solve it.

Hi,

I’ve been troubleshooting the exact same thing for a few days now.

I have managed to get Spawner to run with both the 3dsCMD by hardcoding the path as you suggested and with the Vray DBR submitter plugin by changing the VraySpawner.params to include 2024’s new location on Program Data.

Upon reserving machines for the job, the slave’s logs seem to start the VraySpawner correctly:

2024-04-19 17:25:43:  0: INFO: DR Auto Timeout: Wait for first render: True
2024-04-19 17:25:43:  0: INFO: Starting monitored managed process VraySpawner
2024-04-19 17:25:43:  0: INFO: V-Ray Spawner/Standalone job starting...
2024-04-19 17:25:43:  0: INFO: Stdout Redirection Enabled: True
2024-04-19 17:25:43:  0: INFO: Stdout Handling Enabled: True
2024-04-19 17:25:43:  0: INFO: Popup Handling Enabled: True
2024-04-19 17:25:43:  0: INFO: QT Popup Handling Enabled: False
2024-04-19 17:25:43:  0: INFO: WindowsForms10.Window.8.app.* Popup Handling Enabled: False
2024-04-19 17:25:43:  0: INFO: Using Process Tree: True
2024-04-19 17:25:43:  0: INFO: Hiding DOS Window: True
2024-04-19 17:25:43:  0: INFO: Creating New Console: False
2024-04-19 17:25:43:  0: INFO: Running as user: RenderNodes
2024-04-19 17:25:43:  0: INFO: Executable: "C:\ProgramData\Autodesk\ApplicationPlugins\VRay3dsMax2024\bin\vrayspawner2024.exe"
2024-04-19 17:25:43:  0: INFO: Argument: 
2024-04-19 17:25:43:  0: INFO: Full Command: "C:\ProgramData\Autodesk\ApplicationPlugins\VRay3dsMax2024\bin\vrayspawner2024.exe"
2024-04-19 17:25:43:  0: INFO: Startup Directory: "C:\ProgramData\Autodesk\ApplicationPlugins\VRay3dsMax2024\bin"
2024-04-19 17:25:43:  0: INFO: Process Priority: BelowNormal
2024-04-19 17:25:43:  0: INFO: Process Affinity: default
2024-04-19 17:25:43:  0: INFO: Process is now running
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: ========================== Starting new session ==========================
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: Got this module name: C:\ProgramData\Autodesk\ApplicationPlugins\VRay3dsMax2024\bin\vrayspawner2024.exe
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: Got this INI file name: C:\ProgramData\Autodesk\ApplicationPlugins\VRay3dsMax2024\bin\VRaySpawner.ini
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: *** ALERT! Could not open INI file: "C:\ProgramData\Autodesk\ApplicationPlugins\VRay3dsMax2024\bin\VRaySpawner.ini". Using defaults.
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: Dumping current settings...
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: 	VRaySpawner temp dir: "C:\Users\RENDER~1\AppData\Local\Temp"
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: 	Application name (MAX/VIZ): "C:\Program Files\Autodesk\3ds Max 2024\3dsmax.exe"
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: 	Listening port(s): default
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: --
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: System configuration:
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: 	Group aware processor detection:
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: 	Processor group 0
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: 		NUMA node 0, mask 0xFFFFF, used: true
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: 		NUMA node 1, mask 0xFFFFF00000, used: true
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: --
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: Using system default affinity
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: Process id is 11508 (0x2cf4)
2024-04-19 17:25:44:  0: STDOUT: SPAWNER: Executing ""C:\Program Files\Autodesk\3ds Max 2024\3dsmax.exe" -server C:\Users\RENDER~1\AppData\Local\Temp\vraydummy2024.max "
2024-04-19 17:25:44:  0: STDOUT: VRAY: ============================================================
2024-04-19 17:25:44:  0: STDOUT: VRAY: Console created, V-Ray 6.20.06 for x64 from Mar 29 2024, 19:35:25
2024-04-19 17:25:44:  0: STDOUT: VRAY: ============================================================
2024-04-19 17:25:44:  0: STDOUT: VRAY: Compiled with Microsoft Visual C++ compiler, version 19.24
2024-04-19 17:25:44:  0: STDOUT: VRAY: Host is 3ds Max, version 26
2024-04-19 17:25:44:  0: STDOUT: VRAY: V-Ray DLL version is 6.20.06
2024-04-19 17:25:44:  0: STDOUT: VRAY: Using folder "C:\Users\RENDER~1\AppData\Local\Temp\vray_assets_cache" for caching assets for DR.
2024-04-19 17:25:44:  0: STDOUT: VRAY: Using file "C:\Users\RENDER~1\AppData\Local\Temp\vray_assets_cache/cache_info_20204.txt" for storing assets cache information.
2024-04-19 17:25:44:  0: STDOUT: VRAY: Broadcasting TM_SERVER_STARTED after render

On the host machine, under Vray-DR settings, I can see the slaves are online and appear ready. Deadline reports no errors, yet the slaves never actually start rendering. Only the master machine is doing any rendering.

When I attempt to run the job exclusively on the farm, without using a workstation as a master node, the master node starts the job without issue. However, the same problem persists with the slaves; they still do not start the job.

I’m completely stumped on what could be causing this issue. Any insights at all?

Ps: Out of curiosity, why did you move away from Pulze’s Render Manager? We might make the switch to it later this year.

Hello Karpreet,

Yes Chaos has changed the location of V-Ray, and all of their plugins to the following location: C:\ProgramData\Autodesk\ApplicationPlugins

This changed probably around 3ds Max 2020/2021.

I have noticed that using V-RayDR through the 3ds Max SMTD submitter does not work due to this issue as well. The submitter is looking for it next to the 3dsmax.exe as it has been for ages.

I haven’t been able to fix this manually, and notice a few lines and variables in the code that probably need to be adjusted for this.

We haven’t fully decided whether to move away from Pulze yet - it’s a really good program for small render farms using Max exclusively. Unfortunately, I spend more time managing faults and hang-ups than I should because Pulze itself will freeze and does not recover. Major credit to the developers of course - it’s a good program with all the features you’d want, the interface is slick, and it feels much more modern and intuitive than Deadline. But modern and slick only get you so far, and right now I want a dependable tractor that I don’t have to manage directly.

Pulze has told me that they are going to be releasing a new “re-written” version of Pulze later this year that should solve a lot of issues, but right now it’s a burden and I don’t want to make a decision based on promises of future updates.

The hurdle for me and the studio I work in right now is transitioning our illustrators to a new pipeline workflow and making that transition as seamless as possible. So I’m setting up Deadline to run in parallel with Pulze and we will try both.

One thing I will say about Pulze that is a major bonus over Deadline is its dead-simple job handling/distribution algorithms. Each job has 4 possible priority levels, and the queue is sorted by submission time. And you can define how all your “workers” (nodes) are distributed across the queue. FIFO, balanced, weighted towards the top, etc…

It’s just way simpler to control and understand what’s happening as far as node distribution. Deadline has a number of settings on this topic, and I’m sure I can achieve a similar level of control & understanding, but so far that’s been the biggest difference between the two pieces of software - how easily you can manage the farm’s resources. That’s why I feel like Pulze is better suited for smaller, simpler farms, whereas Deadline is much more powerful when it comes to handling large numbers of workstations, nodes, and software packages.

That’s completely reasonable—I previously used Pulze RM about three years ago at a different studio, it was a smallish setup and I didn’t encounter any major issues.

I suggested trying it out in my current workplace, but after chatting with the devs over email, I found out about the upcoming update. So, I decided to hold off until the new version rolls out before we start using it in our workflow.

Deadline is great, but it might be a bit much for our small 10 node farm, especially since it hasn’t had an update on the Max side since Amazon took over Thinkbox and made it free.

Update on this: Something on our infra was blocking communications between VraySpawneers over their port - even tho they were open.

Adding 3dsMax2024.exe + VraySpawner2024.exe to the firewall whitelist seems to have solved the issue.

Privacy | Site terms | Cookie preferences