Deadline10 with fusion


#1

hi, I updated my deadline from 8 to 10.(So, I don’t tried DL9)
But blackmagic fusion7.7.1 get error and cannot render. I can submit, but fusion render node get error and don’t render.
Of cource it has no problem when I used DL8. And I didn’t any change for my render PCs without deadline client install.
I don’t know this is reason or no, but I get
“SCRIPT ERROR: eyeonScript made a connection in StartJon.eyeonscripts but fusion failed to get a license and finish setup in time”

And about new DL fusion submitter, it cannot save “Submit Draft Job On Completion” setting.
I want to save this setting

thanks


#2

Okay! Let’s get you rendering first here. I’ll open an issue for sticky settings in the mean time.

I don’t expect there is licensing issues, but would you be able to provide a full render log? I don’t expect we need filenames, so feel free to clean those out if you like. I just want to check for other errors.

I’ll also see if we’ve tested with Fusion 7 recently.


#3

OK, I found problem.
“Repository10\plugins\Fusion\StartJob.eyeonscript” has problem.
If I replace this to Deadline8 version of script, it works.

I think “df.CurrentComp” in your script back something strange.
I checked it on my fusion console, it get not nil, But at the render node, it may back nil???

thanks


#4

And I want you to support fusion9 in next release :wink:

thanks


#5

October 10, 2017 - docs.thinkboxsoftware.com/produ … ne-release

Emphasis mine. :slight_smile:

Cheers


#6

Download from here: downloads.thinkboxsoftware.com. :slight_smile:


#7

Morgan, Edwin,

fusion9 submitter does not have Draft function…!!!

And all DL10 draft submit function(Pipeline Tools) is really lazy.
Because I have to open Pipeline Tools window every time if I want to use Draft. I want to have “use Draft” check box for each submitter window. Especially composite/edit apps.


#8

MOREOVER!!

DL10.0.4 get error on fusion7.
I cannot open submit dialog on it.
This version is totally mess!!!

Just in case…
I replace old version of SubmitToDeadline.eyeonscript(from 10.0.3), it works again.
fusion7 and fusion8 has pretty different script rule.
I recommend you should divide submit script for before 7, 8, 9 and later.

BTW, actually fusion8 is a bit buggy for me, so, I’m still using fusion7.

thanks


#9

We’ve been discussing ways of better syncing information between that integration and the submitters. Thanks very much for the feedback there.

As far as the problems with the Fusion submitter, I’ve escalated it over here and we’ll get it tested and fixed. Are there any errors you could share? I may be able to do some testing despite not Fusion installed.


#10

We’re encountering this and a few other problems with Fusion 9.0.1 and Deadline 10.0.4.2 on Windows 10.

I did a fresh uninstall/reinstall of Fusion and the Fusion Render Node on my local machine for testing to be sure it’s got 9.0.1 in case there were problems they’ve fixed since 9.0.

The first problem I see in the log is this:

2017-11-17 10:52:06:  0: Could not kill process with name fuscript because: Access is denied (System.ComponentModel.Win32Exception)

Windows task manager shows both with status “Running” and User name “SYSTEM”. The Deadline slave is running under user accounts, not as a system service, and we do not have Render Job As User set. Are we meant to set something on these exe’s or or in Windows somewhere to allow Deadline to kill these?

2017-11-17 14:07:55: 0: Plugin will be reloaded because a new job has been loaded. 2017-11-17 14:07:55: 0: Loading Job's Plugin timeout is Disabled 2017-11-17 14:07:56: 0: Loaded plugin Fusion 2017-11-17 14:07:56: 0: Executing plugin command of type 'Sync Files for Job' 2017-11-17 14:07:56: 0: All job files are already synchronized 2017-11-17 14:07:56: 0: Plugin Fusion was already synchronized. 2017-11-17 14:07:56: 0: Done executing plugin command of type 'Sync Files for Job' 2017-11-17 14:07:57: 0: Executing plugin command of type 'Initialize Plugin' 2017-11-17 14:07:57: 0: INFO: Executing plugin script 'C:\Users\mplec\AppData\Local\Thinkbox\Deadline10\slave\nvr-vfx-mplec\plugins\5a0e20566c5b76093421c9d6\Fusion.py' 2017-11-17 14:07:57: 0: INFO: About: Fusion Plugin for Deadline 2017-11-17 14:07:57: 0: INFO: Render Job As User disabled, running as current user 'mplec' 2017-11-17 14:07:57: 0: INFO: The job's environment will be merged with the current environment before rendering 2017-11-17 14:07:57: 0: Done executing plugin command of type 'Initialize Plugin' 2017-11-17 14:07:57: 0: Start Job timeout is disabled. 2017-11-17 14:07:57: 0: Task timeout is disabled. 2017-11-17 14:07:57: 0: Loaded job: fusion 9 test (5a0e20566c5b76093421c9d6) 2017-11-17 14:07:57: 0: Executing plugin command of type 'Start Job' 2017-11-17 14:07:57: 0: INFO: Executing global job preload script 'C:\Users\mplec\AppData\Local\Thinkbox\Deadline10\slave\nvr-vfx-mplec\plugins\5a0e20566c5b76093421c9d6\GlobalJobPreLoad.py' 2017-11-17 14:07:57: 0: INFO: Looking for AWS Portal File Transfer... 2017-11-17 14:07:57: 0: INFO: Looking for File Transfer controller in C:/Program Files/Thinkbox/S3BackedCache/bin/task.py... 2017-11-17 14:07:57: 0: INFO: Could not find AWS Portal File Transfer. 2017-11-17 14:07:57: 0: INFO: AWS Portal File Transfer is not installed on the system. 2017-11-17 14:07:58: 0: INFO: ScriptExecutable 'C:\Program Files\Blackmagic Design\Fusion Render Node 9\fuscript.exe' is already running, attempting to kill it. 2017-11-17 14:07:58: 0: Could not kill process with name fuscript because: Access is denied (System.ComponentModel.Win32Exception) 2017-11-17 14:07:59: 0: Could not kill process with name fuscript because: Access is denied (System.ComponentModel.Win32Exception) [...] 2017-11-17 15:51:33: 0: Could not kill process with name fuscript because: Access is denied (System.ComponentModel.Win32Exception) 2017-11-17 15:51:34: 0: Could not kill process with name fuscript because: Access is denied (System.ComponentModel.Win32Exception) 2017-11-17 15:51:35: 0: Done executing plugin command of type 'Start Job' 2017-11-17 15:51:35: 0: An exception occurred: Error: Could not terminate existing ScriptExecutable process fuscript.exe 2017-11-17 15:51:35: at Deadline.Plugins.PluginWrapper.StartJob(String& outMessage, AbortLevel& abortLevel) (Deadline.Plugins.RenderPluginException) 2017-11-17 15:51:35: 0: Unloading plugin: Fusion 2017-11-17 15:51:37: Scheduler Thread - Render Thread 0 threw a major error: 2017-11-17 15:51:37: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2017-11-17 15:51:37: Exception Details 2017-11-17 15:51:37: RenderPluginException -- Error: Could not terminate existing ScriptExecutable process fuscript.exe 2017-11-17 15:51:37: at Deadline.Plugins.PluginWrapper.StartJob(String& outMessage, AbortLevel& abortLevel) 2017-11-17 15:51:37: RenderPluginException.Cause: JobError (2) 2017-11-17 15:51:37: RenderPluginException.Level: Major (1) 2017-11-17 15:51:37: RenderPluginException.HasSlaveLog: True 2017-11-17 15:51:37: RenderPluginException.SlaveLogFileName: C:\ProgramData\Thinkbox\Deadline10\logs\deadlineslave_renderthread_0-nvr-vfx-mplec-0000.log 2017-11-17 15:51:37: Exception.Data: ( ) 2017-11-17 15:51:37: Exception.TargetSite: Deadline.Slaves.Messaging.PluginResponseMemento SendMessageToSandbox(Deadline.Net.DeadlineMessage) 2017-11-17 15:51:37: Exception.Source: deadline 2017-11-17 15:51:37: Exception.HResult: -2146233088 2017-11-17 15:51:37: Exception.StackTrace: 2017-11-17 15:51:37: at Deadline.Plugins.SandboxedPlugin.SendMessageToSandbox(DeadlineMessage messageToSend) 2017-11-17 15:51:37: at Deadline.Plugins.SandboxedPlugin.StartJob(Job job) 2017-11-17 15:51:37: at Deadline.Slaves.SlaveRenderThread.RenderCurrentTask(TaskLogWriter tlw) 2017-11-17 15:51:37: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
(Note that I added the log line about attempting to kill it to see which one it’s on before it times out and gives the fail message.)

Even if I kill them manually from the task manager (which doesn’t require me to elevate to admin) they reappear a moment later and when I retry the task, as soon as the task gets into the starting state the log issues the failure to kill messages again. As far as I can tell from the Windows task manager Services panel, the fusion server get installed to startup at login and restart if it fails.

I commented out the bit of Fusion.py that does the check and kill on self.scriptExecutable and retried the task…

Now I get the problems Makoto Chiba is encountering:

SCRIPT ERROR: eyeonScript made a connection in StartJon.eyeonscript but fusion failed to get a license and finish setup in time

If I run stuff manually from the dos cmd prompt, first:

"C:\Program Files\Blackmagic Design\Fusion Render Node 9\FusionRenderNode.exe" /quiet /listen /verbose /log "C:\Users\mplec\AppData\Local\Thinkbox\Deadline10\slave\nvr-vfx-mplec\jobsData\5a0e20566c5b76093421c9d6\fusionLog_tempqbTAw0\fusion.log"

and then:

"C:\Program Files\Blackmagic Design\Fusion Render Node 9\fuscript.exe" "C:\Users\mplec\AppData\Local\Thinkbox\Deadline10\slave\nvr-vfx-mplec\plugins\5a0e20566c5b76093421c9d6\StartJob.eyeonscript" "C:\Users\mplec\AppData\Local\Thinkbox\Deadline10\slave\nvr-vfx-mplec\jobsData\5a0e20566c5b76093421c9d6\thread0_temp4ocxz0\arnold5_simple_vr_comp.comp" 30

I get the same StartJon error and nothing is printed to the log running the fuscript.exe after the last bit from the node startup (“Initialising Scripting Subsystem”). “fuscript” indeed.

Here’s what I get stepping through StartupJob.eyeonscript manually:

[code]C:\Users\mplec>“C:\Program Files\Blackmagic Design\Fusion Render Node 9\fuscript.exe” -i

Fusion Script Interpreter
Copyright © 2005 - 2017 Blackmagic Design Pty. Ltd.

Lua> df = Fusion(“127.0.0.1”)
Lua> print(df)
FusionUI (0x0000000000582030) [App: ‘Fusion’ on 127.0.0.1, UUID: 8f3b5a34-ed85-48ab-8801-4d40cb954824]
Lua> print(df.CurrentComp)
nil
Lua> io.flush()
Lua> fl = df:GetCompList()
Lua> for i=1, table.getn(fl) do
Lua>> print( "STARTJOB: Closing comp " … i )
Lua>> io.flush()
Lua>> fl[i]:Close()
Lua>> end
Lua>
Lua> print(table.getn(fl))
0
Lua> comp = df:LoadComp(“C:\Users\mplec\AppData\Local\Thinkbox\Deadline10\slave\nvr-vfx-mplec\jobsData\5a0e20566c5b76093421c9d6\thread0_temp4ocxz0\arnold5_simple_vr_comp.comp”, true)
Lua> print(comp)
Composition (0x000000000960EC00) [App: ‘Fusion’ on 127.0.0.1, UUID: 8f3b5a34-ed85-48ab-8801-4d40cb954824]
Lua> comp:Lock()
[/code]

That all looks ok so I removed the check for df.CurrentComp and retried the job but it failed with:

2017-11-17 19:06:25:  0: STDOUT: SCRIPT ERROR: Fusion failed to load the comp 'C:\Users\mplec\AppData\Local\Thinkbox\Deadline10\slave\nvr-vfx-mplec\jobsData\5a0e20566c5b76093421c9d6\thread0_templB0Vw0\arnold5_simple_vr_comp.comp'. This could be due to a missing or incompatible plugin.

So I put a few more prints in and df:LoadComp( arg[1], true ) is returning nil.

However, when I start the render node manually from the cmd prompt and then run the fuscript.exe with the same script it loads the comp ok.

I’m stumped for now so I’ll leave it here in case this rings bells for anyone and see if anything looks different Monday.


#11

Hi All,

After a lot of work to try and resolve this, I am stuck at the same error. Incompatible or missing plugin. Has there been any response to this, or have you had any luck? Thanks.


#12

One of our Devs discovered some issues.

  1. Fusion Node installs as a service by default which runs the fuscript. This is causing it to fail. This service needs to be stopped in order for Deadline to run the process itself.

  2. fuscript is connecting to the fusion render node before scripting systems are initialized which is causing the scene load to fail. We will need to do some additional development to get this working smoothly.

In the meantime to get this going we can add a wait in the startup script. This wait may have to be increased depending on how many plugins need to be loaded and how long they take.

To add the wait modify… “C:\DeadlineRepository10\plugins\Fusion\StartJob.eyeonscript”

Above…

---------------------------------------------------------------------------------
-- Connect to Fusion.
---------------------------------------------------------------------------------

add…

wait(10)

Regards,

Charles


#13

Hi Charles,

Thank you for this, but that change has not made any improvements for me yet.

I do think that having the fusion service running does cause a problem, but I am not convinced that is what is causing this specific error. I still have get
(this same error on machines that both have the service turned off, as well as machines that never had fusion installed locally( and thus, never had a service running on them), that were just launching fusion from a network location.

Looking forward to trying what is next…
Fred


#14

Thanks Charles, between that and a couple other changes this is working for me (so far…).

I also commented out one of the process check/kills in Fusion.py that always failed for me because of the permissions problems I mentioned earlier. Lines 148 & 149:

            # if ProcessUtils.IsProcessRunning( Path.GetFileName( self.scriptExecutable ) ) and not ProcessUtils.KillProcesses( Path.GetFileName( self.scriptExecutable ) ):
            #    self.FailRender( "Could not terminate existing ScriptExecutable process %s" % Path.GetFileName( self.scriptExecutable ) )

And in StartJob.eyeonscript I commented out 30-35:

--while( df.CurrentComp == nil and timeout > 0 ) do
--    wait(1)
--    timeout = timeout - 1
--    print( "Connection timeout in " .. timeout .. " seconds" )
--    io.flush()
--end

and 42-48:

--else
--    if ( df.CurrentComp == nil ) then
--            print( "SCRIPT ERROR: eyeonScript made a connection in StartJon.eyeonscript but fusion failed to get a license and finish setup in time" )
--            io.flush()
--            wait(5)
--            do return end
--    end

#15

I was wrong, Charles, thank you. That actually turns out to help a lot.

It does seem to help to stop the service from running on the nodes, and adding the timer did in fact help with the error “This could be due to a missing or incompatible plugin.” I think this was partially difficult to track down because it was multiple issues at the same time, and not just one.

Matt,
Did you have to comment out the Kill Process because your machines are configured to run WITH the system Service ‘FusionServer’ or was that because of something else?


#16

We just ran the Blackmagic installers for Fusion and for the render node at defaults on the artist workstations (all Windows) and ended up with FuScript and FusionServer exes running as SYSTEM user, which Deadline running as a regular user wasn’t able to kill. The artists have been using the built-in fusion render manager while we tried to figure out why the Deadline submits weren’t working.

Also – today we found it necessary to extend that wait time to 20, though it was ok at 10 on others of similar spec, so try that if startup/load fails reappear later…