I’ve noticed that some jobs are missing some files when rendering using local render option which is enabled by default.
I have one job that renders all the passes but is missing 2 passes. And another job that doesn’t save any of the render frames.
Seems like the local render option is the problem, when I disable that option the files save fine.
Using 8.0.8.1 but we had this problem in the previous version 8.0.7
Here is the last bit of the log that seems to tell me that the files are not found on the local drive. All the other passes are found and copied. Not sure why Deadline doesn’t report that as an error when clearly there is a problem with finding these files.
2016-09-19 13:50:50: 0: INFO: Searching Vray Local Output folder for C:\Users\render.CICADA\AppData\Local\Thinkbox\Deadline8\slave\sm1523b\jobsData\57d96fc9e5fe461ba4c47821\VRayLocalOutput_tempzbtiR0\Vw12_ElevationBlockCDavenport_.VRayExtraTex_Map #8.0000.tga
2016-09-19 13:50:50: 0: INFO: Searching Vray Local Output folder for C:\Users\render.CICADA\AppData\Local\Thinkbox\Deadline8\slave\sm1523b\jobsData\57d96fc9e5fe461ba4c47821\VRayLocalOutput_tempzbtiR0\Vw12_ElevationBlockCDavenport_.VRayExtraTex_Map #9.0000.tga
2016-09-19 13:50:50: 0: Done executing plugin command of type 'Render Task'
I’m wondering then if the issue was copying the submitted files as opposed to copying them down to the machine.
Can you take a look in “[repo]/jobs/57d96fc9e5fe461ba4c47821” to see if those two files are missing? I’ve heard of this being a problem before, but it hasn’t been a widely reported problem.
I think I fixed this earlier today. If your running the latest 8.0.8.1 release, the patch in this thread post should hopefully fix this issue. Can you let us know if it indeed fixes it?
This didn’t work for me. Here is the job file if you want to look at it. Although setting the output to .exr seems to work fine. Maybe its the number of passes, is there a limit somewhere?
All I see in that directory is the max file. I don’t think that’s where the temp output for the job goes. It seems to be on the machines temp directory, I can see the files briefly before they get moved to the final destination on the server.
Actually, looking in the temp local directory on the render machine I can see the 2 missing files left behind with an .ms file, they didn’t get copied over. Almost like the copy function was triggered before all the passes where rendered.
Right, sorry, I totally missed that job log report in your first post. Thanks!
So, this issue is actually different to the patch file I linked to in my previous thread post for another client. The issue here is specifically the use of the “#” character in a V-Ray based RE when network rendering, in partnership with frame padding replacement via Deadline. Now, my memory is a little bit hazy here, so I will have to go away and find some more notes on this topic, but if you rename the RE’s in 3dsMax which contain a “#” character, that should solve this issue. We can also do it automatically via SMTD job submission, which is why this option was added to SMTD:
Purify Filenames: If checked, all render output including Render Elements will be purged of any illegal characters as defined by “PurifyCharacterCodes” in “SubmitMaxToDeadline_Defaults.ini” file.
hmm,
still not working. I renamed the passes to contain no # but the files are still not copied over to the final sever location. Still sitting on the local render machine.
I suspect that the function that copies the local file to the final destination has problems with spaces, and we already know # are a bad idea. I will let our developers take a closer look and explain why the copying fails silently - IMHO there should have been a message in the log saying that the copying was not possible or the expected file was not valid, or something along those lines.
In SMTD, we have a function that replaces both spaces and # with underscores in render element names to ensure auto-generated render element paths are built correctly. In addition, we have a purify function which removes invalid characters including #,!,? and * from the file name and replaces them with underscores. That function can be customized to include other special characters by ASCII code. The ASCII code 32 could be added to it to replace spaces.
Interesting! I’ll do some poking as we should be supporting file paths with a space in it. We must be swallowing the exception somewhere along the way…
ok, so I’m unable to reproduce this issue, as SMTD since at least 8.0 has been hard-wired during SMTD job submission to execute these functions in all cases:
SMTDFunctions.purifyRenderElementName()
where explicitly the characters in RE filenames: " " (a space character) or the “#” character are removed and swapped for an “_”.
I suspect you are submitting via a custom job submission which currently does not have this logic?
This explains why the RE file pathing looks perfect in the Deadline job once submitted by us via SMTD and no exception is shown, as technically, it is correct. It also explains why your original job submissions, showed in their 3dsmax job log reports a space character and a “#” character, which should have been purified if the job had been submitted via SMTD. Can you update your custom submission code to reference our current SMTD _Functions struct?
ok,
that makes sense.
Yeah, i am using a custom submission script, I see that the SMTDFunctions.fixRenderElementNames() is a function that fixes all the RE names but its within the SubmitJobFromUI function. Should I be using that instead of the old functions used in Deadline 6?
If you are using Deadline 8, then you should be referencing the _Functions file from that MAJOR version. There have been sooo many changes between Deadline 6 and 8, I wouldn’t even know where to start running a comparsion here, except suggest you read the release notes of every single release between 6 and 8 to obtain all the changes that have been made between these releases. So, I suggest you maybe review the “SubmitJobFromUI” function and cherry-pick the functions which might be of use to you and then call them directly, if you have already instantiated our struct in your custom submission code.
Hi,
I know I said the problem was solved but it seems to have come back again, so I figured I post in the same thread.
This time it’s happening with exr files. I checked the path for spaces and weird characters and none seem to be there.
I attached a job log, this is an animation so it’s not a machine dependent problem as none of the frames saved.
The only thing that looks weird is the mix of backslash and forward slash in the path but I don’t know if that makes any difference.
Using version 8.0.8.1
2016-10-27 23:13:57: 0: INFO: Searching Vray Local Output folder for C:/Users/render.CICADA/AppData/Local/Thinkbox/Deadline8/slave/sm1523b/jobsData/581248004fa9928b809351c9/VRayLocalOutput_temp56jgG0\s04-02_.0022.exr
Just to confirm this file that was rendered and failed to be copied back was just the V-Ray RAW file, right?
See below for the updated 3dsmax.py file, which is out of the 8.0.10.4 release, to save you having to deploy a complete update. This will allow you to hopefully test all is well.
Unzip and overwrite the same-named file here in your repo: (make a backup first, just in case)
“<your_repo>/plugins/3dsMax/3dsmax.py”
If it’s still not working, could you post the job log reports from the very first task that is rendered on a Slave that also fails to copy the rendered image file back and could you confirm what the exact output filename should be. Hopefully, we won’t need to do that and the above patch fixes it for you.