AWS Thinkbox Discussion Forums

Modo.py Fail on irradiance cache load - Fixed

– UPDATE –
If a local LXI file is specified and that scene saved and sent to render, rendernodes will not find the file and fail. If a network UNC path is specified, the below posts are void and the cache file is found and used when rendering.

–UPDATE 2–

Solution found for irradiance cache files being overlooked for path massaging as posted in this thread on page 3

–Original posts below–

Modo plugin is failing after scene.open when an irradiance.LXI file is used in the scene and loaded from disk at render time.

2015-12-17 10:38:16: 0: STDOUT: Received command: EXECUTE: !scene.open {C:\Users\Tim.EMP3D\AppData\Local\Thinkbox\Deadline7\slave\emp3d_hp-emp3d_hp_b\jobsData\56728fa16d54772c8483dbcf\thread0_tempNxS6I0\Sprite_trees_bundled.lxo} normal 2015-12-17 10:38:16: 0: STDOUT: ! (messageDialogs) [Yes/No/No To All] - File Not Found | imported_images/4sprites.LXI not found; select alternate file?

I think an adaption of the Luxology suggested code would might help here:-
Lines 708-726 Modo.py

# this next if/else clause is where the new file path for the image # is added set. The original script was intended to update/replace # the root path alias to/from 'asset:' to another alias. You'll # need to change the whole clause for your own uses but in a # network rendering environment it's advisable to use a path alias # as the 'root' location with images stored relative to that. #if not value.startswith(prefix): # fpath = os.path.dirname(value) # idx = fpath.rfind('/Images/') # value = prefix + value[idx+1:] # stream.write(build_chns_subchunk(value).getvalue()) # deadlinePlugin.LogInfo( " Updated to: %s" % value ) if RepositoryUtils.PathMappingRequired( value ): value = str(RepositoryUtils.CheckPathMapping( value )) stream.write(build_chns_subchunk(value).getvalue()) deadlinePlugin.LogInfo( " Updated to: %s" % value ) elif repack: itemchunk.seek(0) repack_subchunk(stream, scID, itemchunk.chunksize, itemchunk)

In particular the commented out line 716:-

                #    idx = fpath.rfind('/Images/')

Modo packs dependencies, textures etc. into a created folder where the scene file is saved. The folder is called imported_images when consolidating the scene for network rendering is performed, from the File menu in Modo. I think the line above should be used, but with the actual folder path Modo creates:-

                #    idx = fpath.rfind('/imported_images/')

Ryan are you able to suggest how this can be added please?

Perhaps an option that if the LXI file is not found, then the render does not fail, but produces it’s own irradiance pass as per normal when one is not produced before rendering. If no file is specified in the scene, then the render runs and the irradiance pass is produced on the fly before the main render pass begins.

Cheers,

Tim.

JUst a quick update:-

If the irradiance cache option is unchecked but there is still a filepath and name in the Modo dialogue, the render will still fail. Both Load and Save dialogues have to be empty for the render to process, otherwise Modo/DL puligin trys to find the file via the written path.

I guess Thinkbox/Deadline team are on holiday, two days with no replies from the gurus. Will keep updating this thread in the meantime.

–EDIT-- Testing the same scene with Deadline 6.2 there are no problems, if irradiance cache.lxi file is specified and included in the imported_images folder, then Modo finds it and loads correctly. So something is deffinitley wrong with 7.2 modo.py

Tim.

Ah, it is possible we have a regression there. We’ll take a look to see where the problem lies.

I actually do not have a lot of experience with irradiance caches in Modo. If you have some step-by-step instructions that would help us reproduce the problem (or even a scene file), that would be very helpful.

Hi Conrad, here’s a sample Modo scene. I’ve pre-rendered the irradiance cache and set it to load before the render starts.

Modo>Shader panel>Click Render at the top>Properties panel>Global Illumination>Irradiance caching section

Modo 801 SP5 lxo scene

Cheers,

Tim.
Alien.7z (3.24 MB)

Thanks! We’ll have a look.

Hi Conrad, have you made any progress with this?

Cheers,

Tim.

This is what I tested:

  • I open the scene, and repathed the displacement map JPG and irradience map LXI. Then I saved it, and submitted it to Deadline. It rendered without error.
  • Then I reloaded the original scene, and selecting “Save Irradience after render”. When I did a local render, a new LXI file appeared.
  • Using this file, changed it to “Load Irradience before render”, and selected my newly created LXI file.
  • Saved the scene to something new.
  • Performed a “Consolidate Scene”. NOTE: The LXI file was NOT part of the consolidated scene that Modo saved. Is it supposed to be?

I’m not 100% sure how you want this to work. Can you please step-by-step me through the steps you used that resulted in: “File Not Found | [filename].LXI not found;”? I don’t really understand what you’re requesting just yet, or how to reproduce it.

Hi Conrad.

To clarify I’m rendering across a local network using 10 slaves using DL monitor and not using Modo GUI locally:-

  1. This is not using Deadline from inside Modo, there are no issues there I can see. The problem is when using Deadline either through custom job creation calling Modo.py or using the same submission plugin script from DL Monitor Submit Job>.

  2. Submitting the exact same scene using DL6.2.1 monitor submission script, the LXI file (irradiance cache) which is located in the imported_images folder is automatically found and the render does not fail.

  3. Not using or specifying an irradiance cache file, means Modo will render in ‘Brute force’ mode which forces each render node to run the irradiance cache from scratch before the render starts. Loading a pre-rendered irradiance cache file will speed up this pre-render process which on a 12k x 8k pixel image can save 10-15mins or more per frame.

  4. You are quite right, the LXI is not consolidated automatically, this needs to be copied to the imported_images folder manually after running the scene consolidator.

  5. I’ve remade the same scene and consolidated it and attached it, I also manually placed the saved irradiance cache file in there.

The upper part of the image below, shows the scene settings for the irradiance cache when the scene is opened in Modo GUI.
When commandline rendering ModoCl tries to load the file using the location in the file path fields, it can’t find it as it’s not stored locally as per the filepath saved in the scenefile. The current script does not rewrite the filepath because the irradiance cache file is not classed as a ‘VideoStill’, hence it fails.
The lower part of the image shows how the scene needs to be saved for the file to render using DL7.2.
If either load or save fields have a filepath/filename.lxi, irrespective of whether they are turned on or off, then Modo tries to find the file when the render starts. Obviously if it’s turned off the user has not specified for one to be used, however it still thinks it’s needed so the fields need to be blank.

So what should happen and what The Foundry should have produced is a total scene dependency check instead of just an image check as per their donated code for image checking, in Modo.py. This would then of course account for the irradiance cache file and any other external dependencies being queried and their filepaths updated as well.
The image checking section of the current dependency/sanity check in the DL Monitor plugin Modo.py file as donated by The Foundry:-

\DeadlineRepository7\plugins\Modo\Modo.py Lines 488 to 766
This method relies solely on looking for the ‘VideoStill’ attribute to locate image files used in the scene. I presume, but have not tested yet, that a movie file used as a texture would be missed as it is not a video still. Neither is an Irradiance cache file, tagged as a ‘VideoStill’ file.

What is strange in their method for re-referencing images (scene dependencies) does not just query the scene and locate the files then submit the filepath with the render, it actually rewrites the modified file paths back into the LXO scene file and submits that. What if the current method corrupts the scene file, when the Python script is writing the updated chunk data to the file, for example?

The Maxwell Render plugin, for example, does not do any type of dependency check and I have to use a custom Python file which is launched by Maxwell, checks the scene file and copies any dependency files to the scene folder, not writing any scene data back to the scene file.
I’m working on a Python dependency/sanity check version for Modo as well, which replaces the need to modify scene files as used in the current script, but it’s still a work in progress.

The easiest two methods I can see are:-

  1. Query the Modo scene, checking for ‘VideoStill’ ‘VideoSequence’ ‘VideoClip’ irradiance cache file and their respective file locations, then copy (consolidate) these to the scene folder, or to the imported_images folder created by Modo when consolidating the scene.
  2. Send the '/imported_images/ folder path to the commandline argument for ModoCl.exe. This way all consolidated files, plus any manually pasted files, will be located when the render starts.

Both methods remove the need to rewrite an updated scene file, which will mean the monitor computer will not have to query the scene and rewrite any updates, which on a huge scene with over a hundred image files, is not going to be a quick process.

So I am requesting that Modo doesn’t fail when using DL7.2 to render a scene with a pre-rendered irradiance cache, because said file can not be found. (Or any other dependent file required for the render to be produced.)

I think we need to update the Modo.py dependency checks to account for all external files, either continuing to use The Foundry’s current method or by implementing a better method.

I’ll add more posts with ideas and solutions if I find any.

Tim.
Alien.7z (3.49 MB)

Thanks so much for the detailed reply! I’ll digest this and see what can be done shortly.

Hi Conrad, I’ve been working on the current Modo script and adding more checking functions to the existing method but may run this as a standalone python check:-

Not in a working state yet due to missing code, but the correct functions & calls are there. These can be entered in the Command window inside Modo’s Undo/Command pallette and correct syntax etc can be checked. This method needs Modo/cl running and the scene file loaded which is what happens in current script in repository.

[code]
‘’’
Check if Irradiance cache file is specified to be loaded from file location
‘’’

Send command to select the render item. Important! irradiance cache options can not be accessed without this

select.itemType polyRender

Query if irradiance cache is enabled

item.channel polyRender$irrLEnable ?

Return filepath & filename if cache is enabled

if item.channel polyRender$irrLEnable == ‘True’
irr_name = item.channel polyRender$irrLName ?
return (irr_name)

Set cache path to new location - # Needs completing

item.channel polyRender$irrSName “\server\jobs\JOBID” + cache-filename.lxi

#save changes to scene file with path re-write - Chunks may need identifying and updating similar to paths for videostill item chunks
To do[/code]

The ‘?’ at the end queries the item.
polyRender$irrLEnable = Use irr cache load button. Returns true or false when queried
polyRender$irrSEnable = Use irr cache save button. Returns true or false when queried
polyRender$iirLName = text in file load dialogue for irr cache load
polyRender$iirSName = text in file save dialogue for irr cache save

Will post more when I’ve added to it and tested.

Tim.

Thank you! This is very helpful.

Update:-

Hi Conrad, I’ve been in talks with The Foundry about this and have a new function that runs inside Modo to give all image file paths, irradiance cache filepaths, mdd filepaths etc etc. It doesn’t work for referenced objects/scenes but they are working on that.

I’ll be integrating this today and will post my results.

def GetAllPaths():
    paths = []
    num_items = lx.eval("query sceneservice item.n ?")
    for item_idx in range(num_items):
        item_id = lx.eval("query sceneservice item.id ? %s" % item_idx)
        num_chans = lx.eval("query sceneservice channel.n ?")
        for chan_idx in range(num_chans):
            chan_name = lx.eval("query sceneservice channel.name ? %s" % chan_idx)
            chan_subT = lx.eval("query sceneservice channel.subType ? %s" % chan_idx)
            if chan_subT != "filepath":
                continue

            chan_value = lx.eval1("item.channel item:{%s} name:{%s} value:?" % (item_id, chan_name))
            if not chan_value:
                continue

            paths.append((item_id, chan_name, chan_value))

    return paths

Tim.

Tiny code update to send filepath output string to the event log:-
If it’s saved as a .py, this can be run from inside Modo for clarification using SHIFT+F5 with a scene open.

def GetAllPaths():
    paths = []
    num_items = lx.eval("query sceneservice item.n ?")
    for item_idx in range(num_items):
        item_id = lx.eval("query sceneservice item.id ? %s" % item_idx)
        num_chans = lx.eval("query sceneservice channel.n ?")
        for chan_idx in range(num_chans):
            chan_name = lx.eval("query sceneservice channel.name ? %s" % chan_idx)
            chan_subT = lx.eval("query sceneservice channel.subType ? %s" % chan_idx)
            if chan_subT != "filepath":
                continue

            chan_value = lx.eval1("item.channel item:{%s} name:{%s} value:?" % (item_id, chan_name))
            if not chan_value:
                continue

            paths.append((item_id, chan_name, chan_value))

    return paths
    
lx.out(GetAllPaths())

Example of output string from Modo Event window, Scripts log:-

Scripts Fri Jan 29 11:04:21 2016 Info C:\Users\Tim.EMP3D\AppData\Roaming\Luxology\Scripts\get all paths.py Fri Jan 29 11:04:21 2016 Info [('note:videoStill001', 'filename', '\\\\server\\Jobs\\c7248738-24b4-4eb4-be3b-1e743639265a\\imported_images\\note.psd'), ('dirt_afternoon_SR:videoStill001', 'filename', '\\\\server\\Jobs\\c7248738-24b4-4eb4-be3b-1e743639265a\\imported_images\\dirt_afternoon_SR.png'), ('dirt_morning_SR:videoStill001', 'filename', '\\\\server\\Jobs\\c7248738-24b4-4eb4-be3b-1e743639265a\\imported_images\\dirt_morning_SR.png'), ('dirt_blank:videoStill001', 'filename', '\\\\server\\Jobs\\c7248738-24b4-4eb4-be3b-1e743639265a\\imported_images\\dirt_blank.png'), ('mappedGraphics:videoStill001', 'filename', '\\\\server\\Jobs\\c7248738-24b4-4eb4-be3b-1e743639265a\\imported_images\\mappedGraphics.png'), ('bodypaint_bump:videoStill001', 'filename', '\\\\server\\Jobs\\c7248738-24b4-4eb4-be3b-1e743639265a\\imported_images\\bodypaint_bump.png'), ('video_icon01:videoStill001', 'filename', '\\\\server\\Jobs\\c7248738-24b4-4eb4-be3b-1e743639265a\\imported_images\\video_icon01.png'), ('video_icon02:videoStill001', 'filename', '\\\\server\\Jobs\\c7248738-24b4-4eb4-be3b-1e743639265a\\imported_images\\video_icon02.png'), ('bonneville_day:videoStill001', 'filename', '\\\\server\\Jobs\\c7248738-24b4-4eb4-be3b-1e743639265a\\imported_images\\bonneville_day.jpg'), ('bonneville_pre_dawn_a:videoStill001', 'filename', '\\\\server\\Jobs\\c7248738-24b4-4eb4-be3b-1e743639265a\\imported_images\\bonneville_pre_dawn_a.jpg'), ('deformMDD2147', 'file', '\\\\server\\Jobs\\c7248738-24b4-4eb4-be3b-1e743639265a\\mdd.mdd')], ('polyRender205', 'irrLName', '\\\\server\\Jobs\\c7248738-24b4-4eb4-be3b-1e743639265a\\imported_images\\Drive_by_Cache.LXI')]

Note the elusive Irradiance cache filename at the end and also a scene included mdd animation file, both of which would have been missed by the current Modo.py method of relying on ‘videostill’ only for sanity check.
If the cache file missing pop up dialogue was auto suppressed and also the mdd file pop up, when Modo can’t find them, then the render would run but would be missing the mdd animation applied to it’s object in the scene.
The irradiance cache would be pre-rendered by the slave if the pop up is suppressed for the missing file which I think is happening with Deadline V6 as per the plugin settings per job.

I’ll be adding another version with stdout later.

Tim.

Thanks again Tim. This is very helpful for us!

Thanks Tim, did you have any more updates to your custom Modo plugin?

Would you be willing to send us your latest version of your your updated Modo.py plugin script? ([root]\plugins\Modo\Modo.py)

I’ll have to have another look at this Conrad, I’ve had to shelve it due to work load.

I have been working with Simon Lundberg at The Foundry on this and we were making progress. I’ll check out where I got to and post back.

Tim.

First test with DL 7.2.2.1. External files are now being detected and path massaging is being performed on them using the specified scene folder however we still have the same problem with irradiance cache files not being found when the scene loads. See second line in log below:-

2016-03-03 11:38:44:  0: STDOUT: Received command: EXECUTE: !scene.open {C:\Users\EMP3D\AppData\Local\Thinkbox\Deadline7\slave\r01-16-31\jobsData\56d821e13d27c9472c5e47a4\thread0_tempfOLZG0\Car_bundled_blur-anim_bundled.lxo} normal
2016-03-03 11:38:44:  0: STDOUT: ! (messageDialogs) [Yes/No/No To All] - File Not Found | /imported_images/Drive_by_Cache.LXI not found; select alternate file?
2016-03-03 11:38:44:  0: STDOUT: ! (selection) All Vertices
2016-03-03 11:38:44:  0: STDOUT: ! (selection) All Vertices
2016-03-03 11:38:44:  0: STDOUT: ! (selection) All Vertices
2016-03-03 11:38:44:  0: STDOUT: ! (selection) All Vertices
2016-03-03 11:38:44:  0: STDOUT: Sending ack: SUCCESS
2016-03-03 11:38:45:  0: STDOUT: Received command: PATHMAPPING: START
2016-03-03 11:38:45:  0: STDOUT: Render output item ID: renderOutput200
2016-03-03 11:38:45:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:45:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:45:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:45:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:45:  0: STDOUT: Render output item ID: renderOutput201
2016-03-03 11:38:45:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:45:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:45:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:45:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:45:  0: STDOUT: Render output item ID: renderOutput430
2016-03-03 11:38:45:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:45:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:45:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:45:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:45:  0: STDOUT: Sending ack: FINISHED
2016-03-03 11:38:45:  0: Plugin rendering frame(s): 6
2016-03-03 11:38:45:  0: INFO: Using automatic render threads
2016-03-03 11:38:45:  0: STDOUT: Received command: EXECUTE: pref.value render.autoThreads true
2016-03-03 11:38:45:  0: STDOUT: Sending ack: SUCCESS
2016-03-03 11:38:46:  0: INFO: Auto geometry cache detection enabled
2016-03-03 11:38:46:  0: INFO: Geometry cache buffer is 4000 MB
2016-03-03 11:38:46:  0: INFO: Available system memory is 90640 MB
2016-03-03 11:38:46:  0: INFO: Setting geometry cache to 86640 MB
2016-03-03 11:38:46:  0: STDOUT: Received command: EXECUTE: pref.value render.cacheSize 90848624640
2016-03-03 11:38:46:  0: STDOUT: Sending ack: SUCCESS
2016-03-03 11:38:46:  0: STDOUT: Received command: EXECUTE: select.itemType polyRender
2016-03-03 11:38:46:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:46:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:46:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:46:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:46:  0: STDOUT: Sending ack: SUCCESS
2016-03-03 11:38:47:  0: STDOUT: Received command: EXECUTE: item.channel polyRender$region [true]
2016-03-03 11:38:47:  0: STDOUT: Sending ack: SUCCESS
2016-03-03 11:38:47:  0: STDOUT: Received command: EXECUTE: item.channel polyRender$regX0 [75.0]
2016-03-03 11:38:47:  0: STDOUT: Sending ack: SUCCESS
2016-03-03 11:38:48:  0: STDOUT: Received command: EXECUTE: item.channel polyRender$regX1 [87.5]
2016-03-03 11:38:48:  0: STDOUT: Sending ack: SUCCESS
2016-03-03 11:38:48:  0: STDOUT: Received command: EXECUTE: item.channel polyRender$regY0 [0.0]
2016-03-03 11:38:48:  0: STDOUT: Sending ack: SUCCESS
2016-03-03 11:38:49:  0: STDOUT: Received command: EXECUTE: item.channel polyRender$regY1 [20.0]
2016-03-03 11:38:49:  0: STDOUT: Sending ack: SUCCESS
2016-03-03 11:38:49:  0: STDOUT: Received command: EXECUTE: select.itemType polyRender
2016-03-03 11:38:49:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:49:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:49:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:49:  0: STDOUT: ! (selection) No Items
2016-03-03 11:38:49:  0: STDOUT: Sending ack: SUCCESS
2016-03-03 11:38:50:  0: STDOUT: Received command: EXECUTE: item.channel outPat "[<pass>][<output>][<LR>]_<FFFF>"
2016-03-03 11:38:50:  0: STDOUT: Sending ack: SUCCESS
2016-03-03 11:38:50:  0: STDOUT: Received command: EXECUTE: item.channel first 12
2016-03-03 11:38:50:  0: STDOUT: Sending ack: SUCCESS
2016-03-03 11:38:51:  0: STDOUT: Received command: EXECUTE: item.channel last 12
2016-03-03 11:38:51:  0: STDOUT: Sending ack: SUCCESS
2016-03-03 11:38:51:  0: STDOUT: Received command: EXECUTE: !render.animation {\\server\Render\Modo\Tests\Deadline_7_pass-tests\DL_7-2-2-1\DL_7221_test_001_tile_7x1_8x5_} openexr_tiled
2016-03-03 11:38:52:  0: STDOUT: ! (renderProgress) Initalizing Render | @:Thu Mar 03 11:38:52 2016
2016-03-03 11:38:52:  0: STDOUT: ! (renderProgress) Info | i:cleaningUp [Cleaning up...]| @:Thu Mar 03 11:38:52 2016
2016-03-03 11:38:52:  0: STDOUT: Command '!render.animation {\\server\Render\Modo\Tests\Deadline_7_pass-tests\DL_7-2-2-1\DL_7221_test_001_tile_7x1_8x5_} openexr_tiled' failed with -2147483641
2016-03-03 11:38:53:  0: An exception occurred: Error: Command '!render.animation {\\server\Render\Modo\Tests\Deadline_7_pass-tests\DL_7-2-2-1\DL_7221_test_001_tile_7x1_8x5_} openexr_tiled' failed with -2147483641. Check the meaning of this error code in the modo error codes message table, resource:msglxresult.cfg
2016-03-03 11:38:53:     at Deadline.Plugins.ScriptPlugin.RenderTasks(String taskId, Int32 startFrame, Int32 endFrame, String& outMessage, AbortLevel& abortLevel) (Deadline.Plugins.RenderPluginException)
2016-03-03 11:38:53:  0: Unloading plugin: Modo
2016-03-03 11:38:54:  Scheduler Thread - Render Thread 0 threw a major error: 
2016-03-03 11:38:54:  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2016-03-03 11:38:54:  Exception Details
2016-03-03 11:38:54:  RenderPluginException -- Error: Command '!render.animation {\\server\Render\Modo\Tests\Deadline_7_pass-tests\DL_7-2-2-1\DL_7221_test_001_tile_7x1_8x5_} openexr_tiled' failed with -2147483641. Check the meaning of this error code in the modo error codes message table, resource:msglxresult.cfg
2016-03-03 11:38:54:     at Deadline.Plugins.ScriptPlugin.RenderTasks(String taskId, Int32 startFrame, Int32 endFrame, String& outMessage, AbortLevel& abortLevel)
2016-03-03 11:38:54:  RenderPluginException.Cause: JobError (2)
2016-03-03 11:38:54:  RenderPluginException.Level: Major (1)
2016-03-03 11:38:54:  RenderPluginException.HasSlaveLog: True
2016-03-03 11:38:54:  RenderPluginException.SlaveLogFileName: C:\ProgramData\Thinkbox\Deadline7\logs\deadlineslave_16-31_renderthread_0-R01-0000.log
2016-03-03 11:38:54:  Exception.Data: ( )
2016-03-03 11:38:54:  Exception.TargetSite: Void RenderTask(System.String, Int32, Int32)
2016-03-03 11:38:54:  Exception.Source: deadline
2016-03-03 11:38:54:  Exception.HResult: -2146233088
2016-03-03 11:38:54:    Exception.StackTrace: 
2016-03-03 11:38:54:     at Deadline.Plugins.Plugin.RenderTask(String taskId, Int32 startFrame, Int32 endFrame)
2016-03-03 11:38:54:     at Deadline.Slaves.SlaveRenderThread.a(TaskLogWriter A_0)
2016-03-03 11:38:54:  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Log up to first line in log above:-

2016-03-03 11:38:39: 0: Got task! 2016-03-03 11:38:39: Constructor: Modo 2016-03-03 11:38:39: 0: Loaded plugin Modo (\\SERVER\Deadline7_Repository\plugins\Modo) 2016-03-03 11:38:39: 0: Start Job timeout is disabled. 2016-03-03 11:38:39: 0: Task timeout is disabled. 2016-03-03 11:38:39: 0: Loaded tile job: Car passes test 7-2-2-1 (56d821e13d27c9472c5e47a4) 2016-03-03 11:38:39: 0: INFO: Executing plugin script C:\Users\administrator.EMP3D\AppData\Local\Thinkbox\Deadline7\slave\r01-16-31\plugins\56d821e13d27c9472c5e47a4\Modo.py 2016-03-03 11:38:39: 0: INFO: About: modo Plugin for Deadline 2016-03-03 11:38:39: 0: INFO: The job's environment will be merged with the current environment before rendering 2016-03-03 11:38:39: 0: INFO: Performing path mapping on '\\server\Modo_Repository\Test_Scenes\Car_Anim_rebundled_22-13-29\Car_bundled_blur-anim_bundled.lxo' 2016-03-03 11:38:39: 0: INFO: Found group 2016-03-03 11:38:39: 0: INFO: Found group 2016-03-03 11:38:39: 0: INFO: Found group 2016-03-03 11:38:39: 0: INFO: Found group 2016-03-03 11:38:39: 0: INFO: Found group 2016-03-03 11:38:39: 0: INFO: Found group 2016-03-03 11:38:39: 0: INFO: Found group 2016-03-03 11:38:39: 0: INFO: Found locator 2016-03-03 11:38:39: 0: INFO: Found locator 2016-03-03 11:38:39: 0: INFO: Found locator 2016-03-03 11:38:39: 0: INFO: Found locator 2016-03-03 11:38:39: 0: INFO: Found locator 2016-03-03 11:38:39: 0: INFO: Found locator 2016-03-03 11:38:39: 0: INFO: Found locator 2016-03-03 11:38:39: 0: INFO: Found locator 2016-03-03 11:38:39: 0: INFO: Found locator 2016-03-03 11:38:39: 0: INFO: Found locator 2016-03-03 11:38:39: 0: INFO: Found locator 2016-03-03 11:38:39: 0: INFO: Found locator 2016-03-03 11:38:39: 0: INFO: Found locator 2016-03-03 11:38:39: 0: INFO: Found locator 2016-03-03 11:38:39: 0: INFO: Found locator 2016-03-03 11:38:39: 0: INFO: Found mesh 2016-03-03 11:38:39: 0: INFO: Found mesh 2016-03-03 11:38:39: 0: INFO: Found mesh 2016-03-03 11:38:39: 0: INFO: Found mesh 2016-03-03 11:38:39: 0: INFO: Found mesh 2016-03-03 11:38:39: 0: INFO: Found mesh 2016-03-03 11:38:39: 0: INFO: Found mesh 2016-03-03 11:38:39: 0: INFO: Found mesh 2016-03-03 11:38:39: 0: INFO: Found mesh 2016-03-03 11:38:39: 0: INFO: Found mesh 2016-03-03 11:38:39: 0: INFO: Found mesh 2016-03-03 11:38:39: 0: INFO: Found camera 2016-03-03 11:38:39: 0: INFO: Found meshInst 2016-03-03 11:38:39: 0: INFO: Found meshInst 2016-03-03 11:38:39: 0: INFO: Found meshInst 2016-03-03 11:38:39: 0: INFO: Found meshInst 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found txtrLocator 2016-03-03 11:38:39: 0: INFO: Found environment 2016-03-03 11:38:39: 0: INFO: Found environment 2016-03-03 11:38:39: 0: INFO: Found backdrop 2016-03-03 11:38:39: 0: INFO: Found backdrop 2016-03-03 11:38:39: 0: INFO: Found backdrop 2016-03-03 11:38:39: 0: INFO: Found backdrop 2016-03-03 11:38:39: 0: INFO: Found actionclip 2016-03-03 11:38:39: 0: INFO: Found actionclip 2016-03-03 11:38:39: 0: INFO: Found actionclip 2016-03-03 11:38:39: 0: INFO: Found actionclip 2016-03-03 11:38:39: 0: INFO: Found actionclip 2016-03-03 11:38:39: 0: INFO: Found actionclip 2016-03-03 11:38:39: 0: INFO: Found actionclip 2016-03-03 11:38:39: 0: INFO: Found actionclip 2016-03-03 11:38:39: 0: INFO: Found actionclip 2016-03-03 11:38:39: 0: INFO: Found actionclip 2016-03-03 11:38:39: 0: INFO: Found groupLocator 2016-03-03 11:38:39: 0: INFO: Found groupLocator 2016-03-03 11:38:39: 0: INFO: Found groupLocator 2016-03-03 11:38:39: 0: INFO: Found groupLocator 2016-03-03 11:38:39: 0: INFO: Found groupLocator 2016-03-03 11:38:39: 0: INFO: Found groupLocator 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found translation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found rotation 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scale 2016-03-03 11:38:39: 0: INFO: Found scene 2016-03-03 11:38:39: 0: INFO: Found videoStill 2016-03-03 11:38:39: 0: INFO: With file name: imported_images/note.psd 2016-03-03 11:38:39: 0: WARNING: Relative path imported_images/note.psd detected 2016-03-03 11:38:39: 0: WARNING: Replace relative path with new path //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/imported_images/note.psd 2016-03-03 11:38:39: 0: INFO: Raw path: imported_images/note.psd 2016-03-03 11:38:39: 0: INFO: Massaged path: imported_images/note.psd 2016-03-03 11:38:39: 0: INFO: Found videoStill 2016-03-03 11:38:39: 0: INFO: With file name: imported_images/dirt_afternoon_SR.png 2016-03-03 11:38:39: 0: WARNING: Relative path imported_images/dirt_afternoon_SR.png detected 2016-03-03 11:38:39: 0: WARNING: Replace relative path with new path //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/imported_images/dirt_afternoon_SR.png 2016-03-03 11:38:39: 0: INFO: Raw path: imported_images/dirt_afternoon_SR.png 2016-03-03 11:38:39: 0: INFO: Massaged path: imported_images/dirt_afternoon_SR.png 2016-03-03 11:38:39: 0: INFO: Found videoStill 2016-03-03 11:38:39: 0: INFO: With file name: imported_images/dirt_morning_SR.png 2016-03-03 11:38:39: 0: WARNING: Relative path imported_images/dirt_morning_SR.png detected 2016-03-03 11:38:39: 0: WARNING: Replace relative path with new path //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/imported_images/dirt_morning_SR.png 2016-03-03 11:38:39: 0: INFO: Raw path: imported_images/dirt_morning_SR.png 2016-03-03 11:38:39: 0: INFO: Massaged path: imported_images/dirt_morning_SR.png 2016-03-03 11:38:39: 0: INFO: Found videoStill 2016-03-03 11:38:39: 0: INFO: With file name: imported_images/dirt_blank.png 2016-03-03 11:38:39: 0: WARNING: Relative path imported_images/dirt_blank.png detected 2016-03-03 11:38:39: 0: WARNING: Replace relative path with new path //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/imported_images/dirt_blank.png 2016-03-03 11:38:39: 0: INFO: Raw path: imported_images/dirt_blank.png 2016-03-03 11:38:39: 0: INFO: Massaged path: imported_images/dirt_blank.png 2016-03-03 11:38:39: 0: INFO: Found videoStill 2016-03-03 11:38:39: 0: INFO: With file name: imported_images/mappedGraphics.png 2016-03-03 11:38:39: 0: WARNING: Relative path imported_images/mappedGraphics.png detected 2016-03-03 11:38:39: 0: WARNING: Replace relative path with new path //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/imported_images/mappedGraphics.png 2016-03-03 11:38:39: 0: INFO: Raw path: imported_images/mappedGraphics.png 2016-03-03 11:38:39: 0: INFO: Massaged path: imported_images/mappedGraphics.png 2016-03-03 11:38:39: 0: INFO: Found videoStill 2016-03-03 11:38:39: 0: INFO: With file name: imported_images/bodypaint_bump.png 2016-03-03 11:38:39: 0: WARNING: Relative path imported_images/bodypaint_bump.png detected 2016-03-03 11:38:39: 0: WARNING: Replace relative path with new path //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/imported_images/bodypaint_bump.png 2016-03-03 11:38:39: 0: INFO: Raw path: imported_images/bodypaint_bump.png 2016-03-03 11:38:39: 0: INFO: Massaged path: imported_images/bodypaint_bump.png 2016-03-03 11:38:39: 0: INFO: Found videoStill 2016-03-03 11:38:39: 0: INFO: With file name: imported_images/video_icon01.png 2016-03-03 11:38:39: 0: WARNING: Relative path imported_images/video_icon01.png detected 2016-03-03 11:38:39: 0: WARNING: Replace relative path with new path //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/imported_images/video_icon01.png 2016-03-03 11:38:39: 0: INFO: Raw path: imported_images/video_icon01.png 2016-03-03 11:38:39: 0: INFO: Massaged path: imported_images/video_icon01.png 2016-03-03 11:38:39: 0: INFO: Found videoStill 2016-03-03 11:38:39: 0: INFO: With file name: imported_images/video_icon02.png 2016-03-03 11:38:39: 0: WARNING: Relative path imported_images/video_icon02.png detected 2016-03-03 11:38:39: 0: WARNING: Replace relative path with new path //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/imported_images/video_icon02.png 2016-03-03 11:38:39: 0: INFO: Raw path: imported_images/video_icon02.png 2016-03-03 11:38:39: 0: INFO: Massaged path: imported_images/video_icon02.png 2016-03-03 11:38:39: 0: INFO: Found videoStill 2016-03-03 11:38:39: 0: INFO: With file name: imported_images/bonneville_day.jpg 2016-03-03 11:38:39: 0: WARNING: Relative path imported_images/bonneville_day.jpg detected 2016-03-03 11:38:39: 0: WARNING: Replace relative path with new path //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/imported_images/bonneville_day.jpg 2016-03-03 11:38:39: 0: INFO: Raw path: imported_images/bonneville_day.jpg 2016-03-03 11:38:39: 0: INFO: Massaged path: imported_images/bonneville_day.jpg 2016-03-03 11:38:39: 0: INFO: Found videoStill 2016-03-03 11:38:39: 0: INFO: With file name: imported_images/bonneville_pre_dawn_a.jpg 2016-03-03 11:38:39: 0: WARNING: Relative path imported_images/bonneville_pre_dawn_a.jpg detected 2016-03-03 11:38:39: 0: WARNING: Replace relative path with new path //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/imported_images/bonneville_pre_dawn_a.jpg 2016-03-03 11:38:39: 0: INFO: Raw path: imported_images/bonneville_pre_dawn_a.jpg 2016-03-03 11:38:39: 0: INFO: Massaged path: imported_images/bonneville_pre_dawn_a.jpg 2016-03-03 11:38:39: 0: INFO: Found shaderFolder 2016-03-03 11:38:39: 0: INFO: Found shaderFolder 2016-03-03 11:38:39: 0: INFO: Found shaderFolder 2016-03-03 11:38:39: 0: INFO: Found shaderFolder 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found advancedMaterial 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found mask 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found imageMap 2016-03-03 11:38:39: 0: INFO: Found defaultShader 2016-03-03 11:38:39: 0: INFO: Found defaultShader 2016-03-03 11:38:39: 0: INFO: Found defaultShader 2016-03-03 11:38:39: 0: INFO: Found renderOutput 2016-03-03 11:38:39: 0: INFO: With file name: 2016-03-03 11:38:39: 0: WARNING: Relative path detected 2016-03-03 11:38:39: 0: WARNING: Unable to find file //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/ 2016-03-03 11:38:39: 0: WARNING: Not able to fix relative path 2016-03-03 11:38:39: 0: INFO: Raw path: 2016-03-03 11:38:39: 0: INFO: Massaged path: 2016-03-03 11:38:39: 0: INFO: Found renderOutput 2016-03-03 11:38:39: 0: INFO: With file name: 2016-03-03 11:38:39: 0: WARNING: Relative path detected 2016-03-03 11:38:39: 0: WARNING: Unable to find file //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/ 2016-03-03 11:38:39: 0: WARNING: Not able to fix relative path 2016-03-03 11:38:39: 0: INFO: Raw path: 2016-03-03 11:38:39: 0: INFO: Massaged path: 2016-03-03 11:38:39: 0: INFO: Found renderOutput 2016-03-03 11:38:39: 0: INFO: With file name: 2016-03-03 11:38:39: 0: WARNING: Relative path detected 2016-03-03 11:38:39: 0: WARNING: Unable to find file //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/ 2016-03-03 11:38:39: 0: WARNING: Not able to fix relative path 2016-03-03 11:38:39: 0: INFO: Raw path: 2016-03-03 11:38:39: 0: INFO: Massaged path: 2016-03-03 11:38:39: 0: INFO: Found dots 2016-03-03 11:38:39: 0: INFO: Found noise 2016-03-03 11:38:39: 0: INFO: Found noise 2016-03-03 11:38:39: 0: INFO: Found noise 2016-03-03 11:38:39: 0: INFO: Found polyRender 2016-03-03 11:38:39: 0: INFO: Found lightMaterial 2016-03-03 11:38:39: 0: INFO: Found envMaterial 2016-03-03 11:38:39: 0: INFO: Found envMaterial 2016-03-03 11:38:39: 0: INFO: Found sunLight 2016-03-03 11:38:39: 0: INFO: Found cmIntersect 2016-03-03 11:38:39: 0: INFO: Found cmIntersect 2016-03-03 11:38:39: 0: INFO: Found cmTransformConstraint 2016-03-03 11:38:39: 0: INFO: Found cmDynamicParent 2016-03-03 11:38:39: 0: INFO: Found cmDynamicParent 2016-03-03 11:38:39: 0: INFO: Found cmDynamicParent 2016-03-03 11:38:39: 0: INFO: Found cmDynamicParent 2016-03-03 11:38:39: 0: INFO: Found cmDynamicParent 2016-03-03 11:38:39: 0: INFO: Found cmDynamicParent 2016-03-03 11:38:39: 0: INFO: Found cmDynamicParent 2016-03-03 11:38:39: 0: INFO: Found cmDynamicParent 2016-03-03 11:38:39: 0: INFO: Found cmDynamicParent 2016-03-03 11:38:39: 0: INFO: Found cmRevolve 2016-03-03 11:38:39: 0: INFO: Found cmRevolve 2016-03-03 11:38:39: 0: INFO: Found cmRevolve 2016-03-03 11:38:39: 0: INFO: Found cmRevolve 2016-03-03 11:38:39: 0: INFO: Found cmMeasureDistance 2016-03-03 11:38:39: 0: INFO: Found cmMeasureDistance 2016-03-03 11:38:39: 0: INFO: Found cmMatrixCompose 2016-03-03 11:38:39: 0: INFO: Found cmMatrixCompose 2016-03-03 11:38:39: 0: INFO: Found cmMatrixCompose 2016-03-03 11:38:39: 0: INFO: Found cmMatrixCompose 2016-03-03 11:38:39: 0: INFO: Found cmMatrixCompose 2016-03-03 11:38:39: 0: INFO: Found cmMatrixCompose 2016-03-03 11:38:39: 0: INFO: Found cmMatrixCompose 2016-03-03 11:38:39: 0: INFO: Found cmMatrixCompose 2016-03-03 11:38:39: 0: INFO: Found cmMatrixCompose 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Found schmNode 2016-03-03 11:38:39: 0: INFO: Starting monitored process: modo0 2016-03-03 11:38:39: 0: INFO: Starting monitored managed process modo0 2016-03-03 11:38:39: 0: INFO: Stdout Redirection Enabled: True 2016-03-03 11:38:39: 0: INFO: Stdout Handling Enabled: True 2016-03-03 11:38:39: 0: INFO: Popup Handling Enabled: True 2016-03-03 11:38:39: 0: INFO: QT Popup Handling Enabled: False 2016-03-03 11:38:39: 0: INFO: WindowsForms10.Window.8.app.* Popup Handling Enabled: False 2016-03-03 11:38:39: 0: INFO: Using Process Tree: True 2016-03-03 11:38:39: 0: INFO: Hiding DOS Window: True 2016-03-03 11:38:39: 0: INFO: Creating New Console: False 2016-03-03 11:38:39: 0: INFO: Running as user: administrator 2016-03-03 11:38:39: 0: INFO: Enforcing 64 bit build of modo 2016-03-03 11:38:39: 0: INFO: Executable: "C:/Program Files/Luxology/modo/801_SP5/modo_cl.exe" 2016-03-03 11:38:39: 0: INFO: Argument: -cmd:"@\"C:\Users\administrator.EMP3D\AppData\Local\Thinkbox\Deadline7\slave\r01-16-31\plugins\56d821e13d27c9472c5e47a4\render.pl\" \"C:\Users\administrator.EMP3D\AppData\Local\Thinkbox\Deadline7\slave\r01-16-31\jobsData\56d821e13d27c9472c5e47a4\job0.txt\" \"C:\Users\administrator.EMP3D\AppData\Local\Thinkbox\Deadline7\slave\r01-16-31\jobsData\56d821e13d27c9472c5e47a4\ack0.txt\"" 2016-03-03 11:38:39: 0: INFO: Startup Directory: "C:\Program Files\Luxology\modo\801_SP5" 2016-03-03 11:38:39: 0: INFO: Process Priority: BelowNormal 2016-03-03 11:38:39: 0: INFO: Process Affinity: default 2016-03-03 11:38:39: 0: INFO: Process is now running 2016-03-03 11:38:39: 0: INFO: Waiting until modo is ready 2016-03-03 11:38:41: Scheduler - Notifying Pulse of job start progress... 2016-03-03 11:38:42: 0: STDOUT: @start modo_cl [86254] Luxology LLC 2016-03-03 11:38:42: 0: STDOUT: Job filename: C:\Users\administrator.EMP3D\AppData\Local\Thinkbox\Deadline7\slave\r01-16-31\jobsData\56d821e13d27c9472c5e47a4\job0.txt 2016-03-03 11:38:42: 0: STDOUT: Ack filename: C:\Users\administrator.EMP3D\AppData\Local\Thinkbox\Deadline7\slave\r01-16-31\jobsData\56d821e13d27c9472c5e47a4\ack0.txt 2016-03-03 11:38:42: 0: STDOUT: Sending ack: READY 2016-03-03 11:38:42: 0: STDOUT: Received command: EXECUTE: log.toConsole true 2016-03-03 11:38:42: 0: STDOUT: Sending ack: SUCCESS 2016-03-03 11:38:43: 0: STDOUT: Received command: EXECUTE: log.toConsoleRolling true 2016-03-03 11:38:43: 0: STDOUT: Sending ack: SUCCESS 2016-03-03 11:38:43: 0: STDOUT: Received command: QUERY: query platformservice path.path ? resource 2016-03-03 11:38:43: 0: STDOUT: Sending ack: C:\Program Files\Luxology\modo\801_SP5\resrc 2016-03-03 11:38:44: 0: INFO: LxResult config filename: C:\Program Files\Luxology\modo\801_SP5\resrc\msglxresult.cfg

Path mapping looked fine up to here, where something in the renderOutput is missing:-

2016-03-03 11:38:39: 0: INFO: Found renderOutput 2016-03-03 11:38:39: 0: INFO: With file name: 2016-03-03 11:38:39: 0: WARNING: Relative path detected 2016-03-03 11:38:39: 0: WARNING: Unable to find file //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/ 2016-03-03 11:38:39: 0: WARNING: Not able to fix relative path 2016-03-03 11:38:39: 0: INFO: Raw path: 2016-03-03 11:38:39: 0: INFO: Massaged path: 2016-03-03 11:38:39: 0: INFO: Found renderOutput 2016-03-03 11:38:39: 0: INFO: With file name: 2016-03-03 11:38:39: 0: WARNING: Relative path detected 2016-03-03 11:38:39: 0: WARNING: Unable to find file //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/ 2016-03-03 11:38:39: 0: WARNING: Not able to fix relative path 2016-03-03 11:38:39: 0: INFO: Raw path: 2016-03-03 11:38:39: 0: INFO: Massaged path: 2016-03-03 11:38:39: 0: INFO: Found renderOutput 2016-03-03 11:38:39: 0: INFO: With file name: 2016-03-03 11:38:39: 0: WARNING: Relative path detected 2016-03-03 11:38:39: 0: WARNING: Unable to find file //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/ 2016-03-03 11:38:39: 0: WARNING: Not able to fix relative path 2016-03-03 11:38:39: 0: INFO: Raw path: 2016-03-03 11:38:39: 0: INFO: Massaged path:

These specific renderOutputs are enabled in the scene but do not have a filename specified. Set the filenames/paths in the scene and the problem gets worse:-

2016-03-03 12:10:41:  0: INFO:     Found renderOutput
2016-03-03 12:10:41:  0: INFO:     With file name: Car_Final_Colour.png
2016-03-03 12:10:41:  0: WARNING: Relative path Car_Final_Colour.png detected
2016-03-03 12:10:41:  0: WARNING: Unable to find file  //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/Car_Final_Colour.png
2016-03-03 12:10:41:  0: WARNING: Not able to fix relative path Car_Final_Colour.png
2016-03-03 12:10:41:  0: INFO:         Raw path: Car_Final_Colour.png
2016-03-03 12:10:41:  0: INFO:         Massaged path: Car_Final_Colour.png
2016-03-03 12:10:41:  0: INFO:     Found renderOutput
2016-03-03 12:10:41:  0: INFO:     With file name: Car_Main_Alpha.png
2016-03-03 12:10:41:  0: WARNING: Relative path Car_Main_Alpha.png detected
2016-03-03 12:10:41:  0: WARNING: Unable to find file  //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/Car_Main_Alpha.png
2016-03-03 12:10:41:  0: WARNING: Not able to fix relative path Car_Main_Alpha.png
2016-03-03 12:10:41:  0: INFO:         Raw path: Car_Main_Alpha.png
2016-03-03 12:10:41:  0: INFO:         Massaged path: Car_Main_Alpha.png
2016-03-03 12:10:41:  0: INFO:     Found renderOutput
2016-03-03 12:10:41:  0: INFO:     With file name: Car_Materials_Alpha.png
2016-03-03 12:10:41:  0: WARNING: Relative path Car_Materials_Alpha.png detected
2016-03-03 12:10:41:  0: WARNING: Unable to find file  //server/Modo_Repository/Test_Scenes/Car_Anim_rebundled_22-13-29/Car_Materials_Alpha.png
2016-03-03 12:10:41:  0: WARNING: Not able to fix relative path Car_Materials_Alpha.png
2016-03-03 12:10:41:  0: INFO:         Raw path: Car_Materials_Alpha.png
2016-03-03 12:10:41:  0: INFO:         Massaged path: Car_Materials_Alpha.png

These are render outputs, so the files are not produced until the render completes and saves them to disk. No idea why it’s trying to find them before the render even begins.
Most users will probably leave these outputs blank anyway, so the master render output filename, location and extension are used.

I think the render failed due to the irradiance cache file not being found though, as seen at the top of the first log at the top of this post.

So we need to account for that, using the python method I posted previously and incorporate that to the script. Will see if I can implement it.

More to come,

Tim.

Handling the missing irradiance cache (having it regenerate) is definitely something we could add to the plugin if it would be handy.

Added to an internal issue now. Not sure when it’ll happen, but we’ve got a record.

Conrad, if it’s missing then yes having Modo create it from scratch would be a good solution.

It might be due to a pop up restriction, ie the yes, no, yes to all, no to all pop up. These are usually ignored due to the plugin settings as per 3dmax plugin> Suppress event pop ups I think it’s called.
If the pop up is automatically closed with a no, that might force the lxi to be generated from scratch.

I’ll see if I can get this to work.
Here the log entries for pop up handling in 7.2.2.1 for a Monitor submitted Modo job:-

2016-03-03 12:11:33: 0: INFO: Popup Handling Enabled: True 2016-03-03 12:11:33: 0: INFO: QT Popup Handling Enabled: False 2016-03-03 12:11:33: 0: INFO: WindowsForms10.Window.8.app.* Popup Handling Enabled: False
Perhaps this last entry is the clue. Will see if I can hard code it to be enabled…

However, going back to my original findings with The Foundry, this code finds all including the .lxi:-

def GetAllPaths():
    paths = []
    num_items = lx.eval("query sceneservice item.n ?")
    for item_idx in range(num_items):
        item_id = lx.eval("query sceneservice item.id ? %s" % item_idx)
        num_chans = lx.eval("query sceneservice channel.n ?")
        for chan_idx in range(num_chans):
            chan_name = lx.eval("query sceneservice channel.name ? %s" % chan_idx)
            chan_subT = lx.eval("query sceneservice channel.subType ? %s" % chan_idx)
            if chan_subT != "filepath":
                continue

            chan_value = lx.eval1("item.channel item:{%s} name:{%s} value:?" % (item_id, chan_name))
            if not chan_value:
                continue

            paths.append((item_id, chan_name, chan_value))

    return paths
    
lx.out(GetAllPaths())

So I still think this could be used with the current method and write back the massaged path for the lxi into the scene using the set project directory in the plugin.

Tim.

Privacy | Site terms | Cookie preferences