AWS Thinkbox Discussion Forums

png loading error

When reading in a sequence of png files written by Maxwell Render I’m getting this error (this example is from a custom script, but I get the same error in the examples included with Draft too):

[code]Constructor: Draft
0: Task timeout is disabled.
0: Loaded job: truck [DRAFT] (51474c2734c75d21dc528bda)
0: INFO: Executing plugin script C:\Users\Eric\AppData\Local\Thinkbox\Deadline6\slave\ERIC-PC\plugins\Draft.py
0: INFO: Found Draft python module at: ‘C:\Users\Eric\AppData\Local\Thinkbox\Deadline6\slave\ERIC-PC\Draft\Draft.pyd’
0: INFO: About: Draft Plugin for Deadline
0: INFO: The current environment will be used for rendering
0: Plugin rendering frame(s): 0
0: INFO: Draft job starting…
0: INFO: Stdout Handling Enabled: True
0: INFO: Popup Handling Enabled: False
0: INFO: Using Process Tree: True
0: INFO: Hiding DOS Window: True
0: INFO: Creating New Console: False
0: INFO: Looking for bundled python at: ‘C:\Program Files\Thinkbox\Deadline6\bin\dpython.exe’
0: INFO: Render Executable: “C:\Program Files\Thinkbox\Deadline6\bin\dpython.exe”
0: INFO: Render Argument: -u “M:\code\draft\spriteSheetBuilder.py” username=“Eric” entity=“truck” version="" inFile=“M:\jobs\2013-HYP002 Build Sight\renders\phase1\truck####.png” outFolder=“M:\jobs\2013-HYP002 Build Sight\renders\phase1\Draft” outFile=“M:\jobs\2013-HYP002 Build Sight\renders\phase1\Draft\truck.mov” startFrame=0 endFrame=119 frameList=“0-119” deadlineJobID=5144b14234c75d4334f2f1ef assetName=truck deadlineRepository="\nexus\brain\deadline6_repository"
0: INFO: Startup Directory: “C:\Users\Eric\AppData\Local\Thinkbox\Deadline6\slave\ERIC-PC\Draft”
0: INFO: Process Priority: BelowNormal
0: INFO: Process Affinity: default
0: INFO: Process is now running
0: STDOUT: Checking for license at @nexus
0: STDOUT: Draft 1.0.1.50572
0: STDOUT: Command line args:
0: STDOUT: username=Eric
0: STDOUT: entity=truck
0: STDOUT: version=
0: STDOUT: inFile=M:\jobs\2013-HYP002 Build Sight\renders\phase1\truck####.png
0: STDOUT: outFolder=M:\jobs\2013-HYP002 Build Sight\renders\phase1\Draft
0: STDOUT: outFile=M:\jobs\2013-HYP002 Build Sight\renders\phase1\Draft\truck.mov
0: STDOUT: startFrame=0
0: STDOUT: endFrame=119
0: STDOUT: frameList=0-119
0: STDOUT: deadlineJobID=5144b14234c75d4334f2f1ef
0: STDOUT: assetName=truck
0: STDOUT: deadlineRepository=\nexus\brain\deadline6_repository
0: STDOUT: -----------------Scanning Extents-----------------
0: STDOUT: Traceback (most recent call last):
0: STDOUT: File “M:\code\draft\spriteSheetBuilder.py”, line 41, in
0: STDOUT: frame = Draft.Image.ReadFromFile( currFile )
0: STDOUT: RuntimeError: .\src\file_io\magick_file_io.cpp@313.frantic_image::file_io::magick_file_io::read_file - Magick: UnableToOpenFile `M:\jobs\2013-HYP002 Build Sight\renders\phase1\truck0000.png’ @ error/png.c/ReadPNGImage/3733
0: INFO: Process exit code: 1
Scheduler Thread - Render Thread 0 threw a major error:

Exception Details
RenderPluginException – Error in CheckExitCode: Renderer returned non-zero error code, 1. Check the log for more information.
at Deadline.Plugins.ScriptPlugin.RenderTasks(String taskId, Int32 startFrame, Int32 endFrame, String& outMessage, AbortLevel& abortLevel)
RenderPluginException.Cause: JobError (2)
RenderPluginException.Level: Major (1)
RenderPluginException.HasSlaveLog: True
Exception.Data: ( )
Exception.TargetSite: Void RenderTask(System.String, Int32, Int32)
Exception.Source: deadline
Exception.StackTrace:
at Deadline.Plugins.Plugin.RenderTask(String taskId, Int32 startFrame, Int32 endFrame)
at Deadline.Slaves.SlaveRenderThread.a(TaskLogWriter A_0)
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
[/code]

Seems to work ok with the same images converted to tiffs though. Attached is an example of a file that triggers this error. Any hints about how to fix it?

thanks!

Thank you for your report!

The error message I got here is related to invalid color profile information (iCCP) in the PNG file. Draft currently treats this as an error, but we should probably just print a warning instead. I will log this as a bug for us to fix.

You might be able to work around this by:

  1. somehow disabling Maxwell from writing color profile information in PNG files, if this is possible, or
  2. stripping the iCCP information from the PNG files, by using a utility such as PNGCRUSH, or
  3. using a different image file format such as TIFF, as you suggested.

Is this problem urgent for you?

Thanks for the information Paul. It’s not a real big deal, I’ll just switch to tiffs for now.

FYI.
If this image is ever to be viewed in web browser, then you will want to strip any colour metadata from the PNG otherwise you risk having inconsistent colour by the various browsers out there…Oh the stories I could tell you about the fun and games with iCCP I’ve had recently… :slight_smile:

That’s good to know Mike, thanks for the tip.

So is it best to convert everything to sRGB and save without any color profile information?

Not necessarily. All depends on your final asset delivery.
Recommend reading this:
morris-photographics.com/photosh … gamma.html
PNG’s are good and bad :slight_smile:
I ended up writing a standalone py script, a custom submission script and custom deadline plugin as well as an event plugin to resolve everything we have going on when it comes to png’s!

Privacy | Site terms | Cookie preferences