Deadline didn't treat warnings as an error in AfterEffects

Hi there.
I’m using Deadline to render.
Normally it works fine. However, it does not treat warnings from AfterEffects, such as when using effects that are not installed on the rendering machine, as errors.

I want Deadline to catch these warnings as errors and report the jobs as failed.
Here is a log of the job that ignored the warnings.
The part in problem is at 2023-02-16 15:49:17.
Note that sensitive parts (such as file names) are hidden under the name “myProject”.

=======================================================
Log
=======================================================
2023-02-16 15:48:52:  0: Loading Job's Plugin timeout is Disabled
2023-02-16 15:48:52:  0: SandboxedPlugin: Render Job As User disabled, running as current user 'render'
2023-02-16 15:48:56:  0: Executing plugin command of type 'Initialize Plugin'
2023-02-16 15:48:56:  0: INFO: Executing plugin script 'C:\ProgramData\Thinkbox\Deadline10\workers\render002n\plugins\63edd1d2d113a0667022f3b3\AfterEffects.py'
2023-02-16 15:48:56:  0: INFO: Plugin execution sandbox using Python version 3
2023-02-16 15:48:56:  0: INFO: Fail Without Finished Message set to: False
2023-02-16 15:48:56:  0: INFO: Fail on Existing After Effects process: False
2023-02-16 15:48:56:  0: INFO: About: After Effects Plugin for Deadline
2023-02-16 15:48:56:  0: INFO: The job's environment will be merged with the current environment before rendering
2023-02-16 15:48:56:  0: Done executing plugin command of type 'Initialize Plugin'
2023-02-16 15:48:58:  0: Start Job timeout is disabled.
2023-02-16 15:48:58:  0: Task timeout is disabled.
2023-02-16 15:48:58:  0: Loaded job: myProject.aep - myProject (63edd1d2d113a0667022f3b3)
2023-02-16 15:48:58:  0: Executing plugin command of type 'Start Job'
2023-02-16 15:48:58:  0: DEBUG: S3BackedCache Client is not installed.
2023-02-16 15:48:58:  0: INFO: Executing global asset transfer preload script 'C:\ProgramData\Thinkbox\Deadline10\workers\render002n\plugins\63edd1d2d113a0667022f3b3\GlobalAssetTransferPreLoad.py'
2023-02-16 15:48:58:  0: INFO: Looking for legacy (pre-10.0.26) AWS Portal File Transfer...
2023-02-16 15:48:58:  0: INFO: Looking for legacy (pre-10.0.26) File Transfer controller in C:/Program Files/Thinkbox/S3BackedCache/bin/task.py...
2023-02-16 15:48:58:  0: INFO: Could not find legacy (pre-10.0.26) AWS Portal File Transfer.
2023-02-16 15:48:58:  0: INFO: Legacy (pre-10.0.26) AWS Portal File Transfer is not installed on the system.
2023-02-16 15:48:58:  0: Done executing plugin command of type 'Start Job'
2023-02-16 15:48:58:  0: Plugin rendering frame(s): 1-242
2023-02-16 15:48:58:  0: Executing plugin command of type 'Render Task'
2023-02-16 15:48:58:  0: INFO: Attempting to create "C:\Users\render\Documents\ae_render_only_node.txt" to force After Effects to run in Render Engine mode
2023-02-16 15:48:58:  0: INFO: Stdout Redirection Enabled: True
2023-02-16 15:48:58:  0: INFO: Stdout Handling Enabled: True
2023-02-16 15:48:58:  0: INFO: Popup Handling Enabled: True
2023-02-16 15:48:58:  0: INFO: QT Popup Handling Enabled: False
2023-02-16 15:48:58:  0: INFO: WindowsForms10.Window.8.app.* Popup Handling Enabled: False
2023-02-16 15:48:58:  0: INFO: Using Process Tree: True
2023-02-16 15:48:58:  0: INFO: Hiding DOS Window: True
2023-02-16 15:48:58:  0: INFO: Creating New Console: False
2023-02-16 15:48:58:  0: INFO: Running as user: render
2023-02-16 15:48:58:  0: INFO: Executable: "C:\Program Files\Adobe\Adobe After Effects 2022\Support Files\aerender.exe"
2023-02-16 15:48:58:  0: INFO: Failing on warning messages
2023-02-16 15:48:58:  0: INFO: Argument: -project "\\myProject\myProject.aep" -v ERRORS_AND_PROGRESS -close DO_NOT_SAVE_CHANGES -sound OFF
2023-02-16 15:48:58:  0: INFO: Full Command: "C:\Program Files\Adobe\Adobe After Effects 2022\Support Files\aerender.exe" -project "\\myProject\myProject.aep" -v ERRORS_AND_PROGRESS -close DO_NOT_SAVE_CHANGES -sound OFF
2023-02-16 15:48:58:  0: INFO: Startup Directory: "C:\Program Files\Adobe\Adobe After Effects 2022\Support Files"
2023-02-16 15:48:58:  0: INFO: Process Priority: BelowNormal
2023-02-16 15:48:58:  0: INFO: Process Affinity: default
2023-02-16 15:48:58:  0: INFO: Process is now running
2023-02-16 15:48:58:  0: INFO: Submitted from After Effects version: 22.6.4x3
2023-02-16 15:48:58:  0: WARNING: Worker's After Effects version is NOT the same as the After Effects version that was used to submit this job! Unexpected results may occur!
2023-02-16 15:48:58:  0: STDOUT: aerender version 22.5x53
2023-02-16 15:49:17:  0: STDOUT: PROGRESS: Launching After Effects...
2023-02-16 15:49:17:  0: STDOUT: WARNING:After Effects 警告: Grouped_Message_{このプロジェクトには、見つからないエフェクトへの参照があります。復元するには次のエフェクトをインストールしてください。|||このプロジェクトには、見つからないエフェクトへの参照があります。復元するには次のエフェクトをインストールしてください。###@0 個のエフェクトが見つかりません。}「Chromatic Aberration」
2023-02-16 15:49:17:  0: STDOUT: WARNING:After Effects 警告: Grouped_Message_{このプロジェクトには、見つからないエフェクトへの参照があります。復元するには次のエフェクトをインストールしてください。|||このプロジェクトには、見つからないエフェクトへの参照があります。復元するには次のエフェクトをインストールしてください。###@0 個のエフェクトが見つかりません。}「F's CellGrad」
2023-02-16 15:49:17:  0: STDOUT: WARNING:After Effects 警告: Grouped_Message_{このプロジェクトには、見つからないエフェクトへの参照があります。復元するには次のエフェクトをインストールしてください。|||このプロジェクトには、見つからないエフェクトへの参照があります。復元するには次のエフェクトをインストールしてください。###@0 個のエフェクトが見つかりません。}「F's Max_Kasumi」
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  2023/02/16 15:49:21 : コンポジション゙myProject゙の開始
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  レンダリング設定 : 最良設定16bpc(23.976fps)
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  画質 : 最高
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  解像度 : フル画質
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  サイズ : 1920 x 1080
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  プロキシ : 現在の設定
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  エフェクト : 現在の設定
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  ディスクキャッシュ : 読み取り専用
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  色深度 : 16
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  フレームブレンド : チェックしたレイヤーをオン
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  フィールドレンダリング : オフ
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  プルダウン : オフ
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  モーションブラー : チェックしたレイヤーをオン
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  ソロ : 現在の設定
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  時間範囲 : ワークエリア
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  開始 : 00001
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  終了 : 00241
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  デュレーション : 00242
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  フレームレート : 23.976 
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  ガイドレイヤー : すべてオフ
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  既存ファイルをスキップ : オフ
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  出力モジュール : DNxHD10bit
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  出力先 : \\myProject\myProject.mov
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  形式 : QuickTime
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  出力情報 : DNxHR / DNxHD
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  埋め込み : -
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  オーディオ出力 : オフ
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  チャンネル : RGB
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  深度 : 数百万色
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  カラー : 合成チャンネル
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  サイズ変更 : -
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  クロップ : -
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  最終サイズ : 1920 x 1080
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  プロファイル : -
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  レンダリング後の処理 : なし
2023-02-16 15:49:21:  0: STDOUT: PROGRESS:  
2023-02-16 15:49:33:  0: STDOUT: PROGRESS:  00001 (1): 12 秒
2023-02-16 15:49:34:  0: STDOUT: PROGRESS:  00002 (2): 0 秒
2023-02-16 15:49:34:  0: STDOUT: PROGRESS:  00003 (3): 0 秒

~~~~~~~skip this too long part~~~~~~~

2023-02-16 16:04:10:  0: STDOUT: PROGRESS:  00240 (240): 1 秒
2023-02-16 16:04:11:  0: STDOUT: PROGRESS:  00241 (241): 1 秒
2023-02-16 16:04:16:  0: STDOUT: PROGRESS:  00242 (242): 5 秒
2023-02-16 16:04:16:  0: STDOUT: PROGRESS:  2023/02/16 16:04:16 : コンポジション゙myProject゙の終了
2023-02-16 16:04:16:  0: STDOUT: PROGRESS:  合計経過時間 : 14 分 55 秒
2023-02-16 16:04:18:  0: INFO: Process exit code: 0
2023-02-16 16:04:18:  0: INFO: Checking for file "C:\Users\render\Documents\ae_render_only_node.txt"
2023-02-16 16:04:18:  0: INFO: Attempting to delete "C:\Users\render\Documents\ae_render_only_node.txt" to allow After Effects to run in the workstation environment
2023-02-16 16:04:18:  0: INFO: Skipping output file size check because a specific comp isn't being rendered or Multi-Machine rendering is enabled
2023-02-16 16:04:18:  0: Done executing plugin command of type 'Render Task'

=======================================================
Details
=======================================================
Date: 02/16/2023 16:04:19
Frames: 1-242
Job Submit Date: 02/16/2023 15:48:51
Job User: tani
Average RAM Usage: 11231266816 (33%)
Peak RAM Usage: 12867829760 (38%)
Average CPU Usage: 62%
Peak CPU Usage: 98%
Used CPU Clocks (x10^6 cycles): 7445210
Total CPU Clocks (x10^6 cycles): 12008404

=======================================================
Worker Information
=======================================================
Worker Name: worker
Version: v10.1.23.6 Release (773a6289d)
Operating System: Windows 10 Pro
Running As Service: No
Machine User: render
IP Address: 192.168.3.197
MAC Address: 18:60:24:AC:47:3D
CPU Architecture: x64
CPUs: 4
CPU Usage: 67%
Memory Usage: 18.9 GB / 31.9 GB (59%)
Free Disk Space: 52.417 GB (52.330 GB on C:\, 89.590 MB on F:\)
Video Card: Microsoft Remote Display Adapter

Hello!

The issue is that our After Effects plugin doesn’t account for errors being written in Chinese, we’ve only got support for English built in. You can either run AfterEffects in English or add additional standard output handlers for Chinese errors.

Adding standard output handlerse involves modifying the After Effects application plugin code, so copy the DeadlineRepository10/plugins/AfterEffects folder into DeadlineRepository10/custom/plugins so you have a backup AfterEffects in case your changes fail.

In the AfterEffects.py file at line 122 (assuming Deadline 10.2) is the English version of the handler for After Effects warnings. Copy it, and replace the regex with the Chinese equivalent. Then the Worker will be able to recognize the warnings and behave correctly.

I can’t write the script for you as you should own your own customizations, but I can help out with any issues so let us know!

Thank you for your reply.

I added the following text to line 123 as advised.

self.AddStdoutHandlerCallback( "WARNING:(After Effects 警告 .*)" ).HandleCallback += self.HandleStdoutWarning #日本語

However, when I checked the monitor, I got the following error output It seems that the characters could not be decoded.
How can I solve this?

SyntaxError : ("(unicode error) 'utf-8' codec can't decode byte 0x8c in position 23: invalid start byte", ('C:\\ProgramData\\Thinkbox\\Deadline10\\workers\\worker\\plugins\\63ef34a3d36c894b4cd2fc53\\AfterEffects.py', 123, 39, '        self.AddStdoutHandlerCallback( "WARNING:(After Effects 警告 .*)" ).HandleCallback += self.HandleStdoutWarning #日本語\n'))

Alrighty, I’ve tested adding that line to my own test farm and it works without issue. And Python 3 should be just fine dealing with those characters.

Is this running on the same render node as before? Deadline 10.1.23 shouldn’t have any issues with that, so I’d make sure the render node is at least running 10.1.23. You can check the version number at the bottom of the task report where you saw the error.

Let me know if that’s not the case and I’ll try to figure out what else could be wrong.

Sorry for the late reply.
The render node is using v10.1.23.6.
Here is a log.

=======================================================
Error
=======================================================
SyntaxError : ("(unicode error) 'utf-8' codec can't decode byte 0x8c in position 23: invalid start byte", ('C:\\ProgramData\\Thinkbox\\Deadline10\\workers\\worker\\plugins\\63f2ea4de3f17b87f49c9715\\AfterEffects.py', 123, 39, '        self.AddStdoutHandlerCallback( "WARNING:(After Effects 警告 .*)" ).HandleCallback += self.HandleStdoutWarning #日本語\n'))

=======================================================
Type
=======================================================
RenderPluginException

=======================================================
Stack Trace
=======================================================
   at Deadline.Plugins.SandboxedPlugin.d(DeadlineMessage bgj, CancellationToken bgk)
   at Deadline.Plugins.SandboxedPlugin.Initialize(Job job, CancellationToken cancellationToken)
   at Deadline.Slaves.SlaveRenderThread.e(String ajs, Job ajt, CancellationToken aju)
   at Deadline.Slaves.SlaveRenderThread.b(TaskLogWriter ajo, CancellationToken ajp)

=======================================================
Log
=======================================================
2023-02-20 12:34:38:  0: Loading Job's Plugin timeout is Disabled
2023-02-20 12:34:38:  0: SandboxedPlugin: Render Job As User disabled, running as current user 'render'
2023-02-20 12:34:42:  0: Executing plugin command of type 'Initialize Plugin'
2023-02-20 12:34:42:  0: INFO: Executing plugin script 'C:\ProgramData\Thinkbox\Deadline10\workers\worker\plugins\63f2ea4de3f17b87f49c9715\AfterEffects.py'
2023-02-20 12:34:42:  0: Encountered an error while executing plugin command of type 'Initialize Plugin'

=======================================================
Details
=======================================================
Date: 02/20/2023 12:34:46
Frames: 1-104
Elapsed Time: 00:00:00:07
Job Submit Date: 02/20/2023 12:34:37
Job User: tani
Average RAM Usage: 23972839424 (70%)
Peak RAM Usage: 28568334336 (84%)
Average CPU Usage: 79%
Peak CPU Usage: 100%
Used CPU Clocks (x10^6 cycles): 1654381
Total CPU Clocks (x10^6 cycles): 2094152

=======================================================
Worker Information
=======================================================
Worker Name: worker
Version: v10.1.23.6 Release (773a6289d)
Operating System: Windows 10 Pro
Running As Service: No
Machine User: render
IP Address: xxx.xxx.xxx.xxx
MAC Address: xxxxxxxxxxx
CPU Architecture: x64
CPUs: 4
CPU Usage: 0%
Memory Usage: 27.0 GB / 31.9 GB (84%)
Free Disk Space: 60.807 GB 
Video Card: NVIDIA Quadro K420


Some quick thoughts:

  1. Is the file saved as ASCII instead of UTF-8?
  2. Does adding the UTF-8 hint work?

I’m not sure if our Python3 hinting with #!/usr/bin/python3 will play nice with it. We’re not actually invoking an interpreter with it but using it as a hint for ourselves. I’d make sure the second option there comes after the #! if you’re not using Python3 by default.

Hope that helps!

Thanks for the answer.
I wrote # -*- encoding: utf-8 -*- after #!/usr/bin/env python3, it worked correctly!

Thanks to Justin and eamsler for their help. I really appreciate it.

1 Like