Announcement

Collapse
No announcement yet.

VRAY_TERMINATE_ON_FRAME_END and Deadline

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • VRAY_TERMINATE_ON_FRAME_END and Deadline

    Hello,
    this envvar looks really handy because sometimes unloading RAM took even 20 minutes :/ So my question is do you have some experience with envrar together with Deadline? When we tried it Deadline fails the task on render end because 3ds Max was terminated due to this envvar. Any advice? I know this question is more for Thinkbox, but you are much faster in response
    Thanks

  • #2
    Hi, thanks for posting. I did a quick test and it seems this env. variable crashes 3ds max locally as well. I will look into this issue with a bit more details and get back to the thread.
    Vladimir Krastev | chaos.com
    Chaos Support Representative | contact us

    Comment


    • #3
      But this "crash" is intentional right? Deadline just cannot handle it properly.

      Comment


      • #4
        Yes you are correct. Terminating the 3ds Max together with V-Ray is expected. Sorry, my mistake.
        Last edited by vladimir_krastev; 25-04-2024, 06:21 AM.
        Vladimir Krastev | chaos.com
        Chaos Support Representative | contact us

        Comment


        • #5
          I looked into it a while ago and actually spoke to thinkbox support about it. It required modifying the deadline plugin to not fail the job if the renderer exited prematurely. However even with their help it did not work for us, as there were issues with their own code and we never managed to get it to work.
          Dmitry Vinnik
          Silhouette Images Inc.
          ShowReel:
          https://www.youtube.com/watch?v=qxSJlvSwAhA
          https://www.linkedin.com/in/dmitry-v...-identity-name

          Comment


          • #6
            I have modified deadline to ignore other specific errors. There is one where vray crashes on Linux after using specific OSL code. I modified deadline to ignore this since the rendered frame is actually written just fine.

            Do you see a unique exit code in the logs? If so, it should be easy to ignore. I believe I modified it for vray standalone (since that runs on Linux) but it should work for Max I should think. I know the logs are much less verbose with Max, though, which may complicate things.

            Is there anything in the log you see in deadline that is unique to this intentional crash? Either a unique exit code, or some other message from Vray saying it is terminating due to this env var? If not, might you be able to use a VRay Standalone workflow ( it’s a huge can of worms on complex scenes, but at least worth a quick try).
            Last edited by Joelaff; 25-04-2024, 10:27 AM.

            Comment


            • #7
              Thanks for this it's really helpful. I have to check Deadline logs more deeply, but in vray log there is record about vray and max termination by this envrar. I have to take a look and give it a try. Thanks again.

              Comment


              • #8
                Originally posted by frodopytlicek View Post
                Thanks for this it's really helpful. I have to check Deadline logs more deeply, but in vray log there is record about vray and max termination by this envvar. I have to take a look and give it a try. Thanks again.
                That sounds promising. If it is in the logs then it should easy enough to parse that in the python code. I did take a quick look at the max python code, and it is much more convoluted than the code for Standalone. It looks like it may still be possible, though. It looks like perhaps you would modify DeadlineRepository10\plugins\3dsmax\3dsmax.py to make the function MonitoredManagedProcessExit() not call self.FailRender() if you find the string indicating this intentional crash. But I could be completely wrong


                ​

                Comment


                • #9
                  Cool thanks for advice. If I'll be able to do it I post her how.

                  Comment


                  • #10
                    It partialy works and MonitoredManagedProcessExit() did not call self.FailRender() but then it hangs out and wont finish the task Not sure what I'm missing.

                    Comment


                    • #11
                      Frustrating. I will try to take a look later, but perhaps you missed a return value in a function somewhere?

                      Try to find the code path for successful renders and see why you are not getting there.

                      Their code is often so abstracted that it makes it hard for outsiders to debug.

                      Comment


                      • #12
                        .ExitWithSuccess() was the closeses I get,but apparently it doesnt exit with success

                        Comment


                        • #13
                          What is the last log entry? Maybe you can search for that string and find where it is terminating. Probably has something to do with the socket connection to Lightning closing unexpectedly.

                          Comment


                          • #14
                            I found it thats not a problem I also made an exception in MonitoredManagedProcessExit() when VRAY_TERMINATE_ON_FRAME_END is used but then im not able to mar the job complete and its just hanging there with 100% progress.

                            Comment

                            Working...
                            X