AWS Thinkbox Discussion Forums

xNormal - error when deadline is running as service

Hi all,

We encountered a problem with the xNormal submitter (I know it’s probably barely used nowadays :smiley: ).

When the deadline is running not as service, everything works ok. When we run it as a service, xnormal gives us an error.

I also tried running the given command manually in the command line, and it works fine.

Do you think we can somehow make it work, or it’s xNormal’s problem?

Thanks a ton for any hint.

Log follows (I had to censor it a bit):
=======================================================
Error

Error: FailRenderException : Renderer returned non-zero error code 1. Check the renderer’s output.
at Deadline.Plugins.DeadlinePlugin.FailRender(String message) (Python.Runtime.PythonException)
File “C:\ProgramData\Thinkbox\Deadline10\workers\WORKER\plugins\6500cd1edb3edb79ccd45f0d\xNormal.py”, line 49, in CheckExitCode
self.FailRender( “Renderer returned non-zero error code %d. Check the renderer’s output.” % exitCode )
at Python.Runtime.Dispatcher.Dispatch(ArrayList args)
at __FranticX_GenericDelegate1`1[[System_Int32, System_Private_CoreLib, Version=6_0_0_0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]Dispatcher.Invoke(Int32 )
at FranticX.Processes.ManagedProcess.CheckExitCode(Int32 exitCode)
at Deadline.Plugins.DeadlinePlugin.CheckExitCode(Int32 exitCode)
at FranticX.Processes.ManagedProcess.Execute(Boolean waitForExit)
at Deadline.Plugins.PluginWrapper.RenderTasks(Task task, String& outMessage, AbortLevel& abortLevel)

=======================================================
Type

RenderPluginException

=======================================================
Stack Trace

at Deadline.Plugins.SandboxedPlugin.d(DeadlineMessage bgq, CancellationToken bgr)
at Deadline.Plugins.SandboxedPlugin.RenderTask(Task task, CancellationToken cancellationToken)
at Deadline.Slaves.SlaveRenderThread.c(TaskLogWriter ajv, CancellationToken ajw)

=======================================================
Log

2023-09-12 21:42:31: 0: Loading Job’s Plugin timeout is Disabled
2023-09-12 21:42:31: 0: WARNING: Python version for ‘xNormal’ plugin is not specified! Defaulting to Python 2.
2023-09-12 21:42:31: 0: SandboxedPlugin: Render Job As User disabled, running as current user ‘Deadline’
2023-09-12 21:42:39: 0: Executing plugin command of type ‘Initialize Plugin’
2023-09-12 21:42:39: 0: INFO: Executing plugin script ‘C:\ProgramData\Thinkbox\Deadline10\workers\WORKER\plugins\6500cd1edb3edb79ccd45f0d\xNormal.py’
2023-09-12 21:42:39: 0: INFO: Plugin execution sandbox using Python version 2
2023-09-12 21:42:39: 0: INFO: About: xNormal Plugin for Deadline
2023-09-12 21:42:39: 0: INFO: The job’s environment will be merged with the current environment before rendering
2023-09-12 21:42:39: 0: Done executing plugin command of type ‘Initialize Plugin’
2023-09-12 21:42:39: 0: Start Job timeout is disabled.
2023-09-12 21:42:39: 0: Task timeout is disabled.
2023-09-12 21:42:39: 0: Loaded job: xnormal test (6500cd1edb3edb79ccd45f0d)
2023-09-12 21:42:39: 0: Skipping O: because it is already mapped
2023-09-12 21:42:39: 0: Executing plugin command of type ‘Start Job’
2023-09-12 21:42:39: 0: DEBUG: S3BackedCache Client is not installed.
2023-09-12 21:42:39: 0: INFO: Executing global asset transfer preload script ‘C:\ProgramData\Thinkbox\Deadline10\workers\WORKER\plugins\6500cd1edb3edb79ccd45f0d\GlobalAssetTransferPreLoad.py’
2023-09-12 21:42:39: 0: INFO: Looking for legacy (pre-10.0.26) AWS Portal File Transfer…
2023-09-12 21:42:39: 0: INFO: Looking for legacy (pre-10.0.26) File Transfer controller in C:/Program Files/Thinkbox/S3BackedCache/bin/task.py…
2023-09-12 21:42:39: 0: INFO: Could not find legacy (pre-10.0.26) AWS Portal File Transfer.
2023-09-12 21:42:39: 0: INFO: Legacy (pre-10.0.26) AWS Portal File Transfer is not installed on the system.
2023-09-12 21:42:39: 0: INFO: Executing global job preload script ‘C:\ProgramData\Thinkbox\Deadline10\workers\WORKER\plugins\6500cd1edb3edb79ccd45f0d\GlobalJobPreLoad.py’
2023-09-12 21:42:39: 0: PYTHON: *** GlobalJobPreload start …
2023-09-12 21:42:39: 0: PYTHON: >>> Getting job …
2023-09-12 21:42:39: 0: PYTHON: — Job type - render 0
2023-09-12 21:42:39: 0: PYTHON: — Job type - publish 0
2023-09-12 21:42:39: 0: PYTHON: — Job type - remote 0
2023-09-12 21:42:39: 0: Done executing plugin command of type ‘Start Job’
2023-09-12 21:42:39: 0: Plugin rendering frame(s): 0
2023-09-12 21:42:40: 0: Executing plugin command of type ‘Render Task’
2023-09-12 21:42:40: 0: INFO: Stdout Redirection Enabled: True
2023-09-12 21:42:40: 0: INFO: Stdout Handling Enabled: False
2023-09-12 21:42:40: 0: INFO: Popup Handling Enabled: False
2023-09-12 21:42:40: 0: INFO: Using Process Tree: True
2023-09-12 21:42:40: 0: INFO: Hiding DOS Window: True
2023-09-12 21:42:40: 0: INFO: Creating New Console: False
2023-09-12 21:42:40: 0: INFO: Running as user: Deadline
2023-09-12 21:42:40: 0: INFO: Executable: “C:\Program Files\xNormal\3.19.3\x64\xNormal.exe”
2023-09-12 21:42:40: 0: INFO: Argument: “O:\project\XXX\XXX\XXX\XXX\XXX\XXX\XXX\XXX.xml”
2023-09-12 21:42:40: 0: INFO: Full Command: “C:\Program Files\xNormal\3.19.3\x64\xNormal.exe” “O:\project\XXX\XXX\XXX\XXX\XXX\XXX\XXX\XXX.xml”
2023-09-12 21:42:40: 0: INFO: Startup Directory: “C:\Program Files\xNormal\3.19.3\x64”
2023-09-12 21:42:40: 0: INFO: Process Priority: BelowNormal
2023-09-12 21:42:40: 0: INFO: Process Affinity: default
2023-09-12 21:42:40: 0: INFO: Process is now running
2023-09-12 21:42:42: 0: INFO: Process exit code: 1
2023-09-12 21:42:42: 0: Done executing plugin command of type ‘Render Task’

=======================================================
Details

Date: 09/12/2023 21:42:46
Frames: 0
Elapsed Time: 00:00:00:14
Job Submit Date: 09/12/2023 21:42:07
Job User: jjinda
Average RAM Usage: 5267353600 (8%)
Peak RAM Usage: 5267353600 (8%)
Average CPU Usage: 13%
Peak CPU Usage: 97%
Used CPU Clocks (x10^6 cycles): 57281
Total CPU Clocks (x10^6 cycles): 440618

=======================================================
Worker Information

Worker Name: WORKER
Version: v10.2.1.1 Release (094cbe890)
Operating System: Windows 10 Pro
Running As Service: Yes
Machine User: Deadline
IP Address: XXX
MAC Address: XXX
CPU Architecture: x64
CPUs: 24
CPU Usage: 0%
Memory Usage: 4.9 GB / 63.9 GB (7%)
Free Disk Space: 5.536 TB (327.343 GB on C:, 3.562 TB on D:, 1.654 TB on E:)
Video Card: NVIDIA GeForce RTX 3080

Hello @Jan_Jinda

Thanks for reaching out. I have not used xNormal myself so I will compare it with the other plugins I have worked with. Normally the exit code comes from the application itself.
I need following information:

  1. How did you run the command outside of Deadline?
  2. I am interested to know if you were logged in as same user (Deadline) which has failed and were you on the same machine too?
  3. Does it write the output anyway or not output is written?

Hi @zainali !

Thanks for your swift response.

I suspect it has something to do with UI being called by xNormal. It’s ancient piece of software :smiley:

Unfortunately, I could not replicate that crash. When I start it manually, it works fine and renders. The only difference is, I guess, running it from service.

  1. I ran the following command in the command line: [quote=“Jan_Jinda, post:1, topic:31132”]
    “C:\Program Files\xNormal\3.19.3\x64\xNormal.exe” “O:\project\XXX\XXX\XXX\XXX\XXX\XXX\XXX\XXX.xml”
    [/quote]

  2. I tried on the same machine using the same user (named Deadline)

  3. Nothing is written. You can see xnormal popping up in processing just for a few seconds.

I’m not programming power user, but could this be the issue/solution?

any suggestions @zainali? still cannot make it work :frowning:

It could be possible that the service user is failing to access the network drive and xNormal is failing to read the scene file while rendering.

You might have to stop the Worker to run in service context. Here is a documentation on uninstalling Launcher as a Service: Launcher — Deadline 10.3.0.10 documentation

Hi @karpreet, that all seems to work correctly. It works when I run the command from the command line under the service user. It opens and runs xnormal. All other renderers, software etc. are running ok, using the same network drive.

I think it’s xnormal inability to run without GUI, and the service won’t launch GUI. I’ll keep digging. Possibly making some custom scripts to get around that GUI issue, as mentioned above.

Privacy | Site terms | Cookie preferences