Announcement

Collapse
No announcement yet.

Qt error with V-Ray 6.1

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

  • Qt error with V-Ray 6.1

    I used to get sporadic Qt errors with V-Ray 6.0 but was never able to reproduce it reliably. With 6.1 out I can reproduce it 100% of the time by just rendering an empty scene.

    Steps:
    1. Load up 3ds Max
    2. Click Render Settings
    3. Change renderer to V-Ray 6 Update 1
    4. Click Render

    3ds Max will then freeze momentarily while WerFault writes out the dump file.


    Here's the traceback I get:
    Click image for larger version

Name:	vray-qt-traceback.png
Views:	483
Size:	32.3 KB
ID:	1174258

    I'm using 3ds Max 2021.3.12 with V-Ray 6.10.20. No other plugins or versions installed.
    My 3ds Max doesn't like to make a minidump, only full size so all I have are full size files that are ~350 MB. I'm happy to send that along somewhere.


    Thanks!
    Rob

  • #2
    Hello,

    Yes a dump would be very helpful - if possible can you submit it through our support form (https://support.chaos.com/hc/requests/new) ?

    Best regards,
    Yavor
    Yavor Rubenov
    V-Ray for 3ds Max developer

    Comment


    • #3
      Ticket #91025 created. Let me know if there's anything other info I can provide.

      Comment


      • #4
        Hi Rob,

        Looking at the callstack and assuming it is not a custom Qt build, the only fatal error which Qt should be able to log in QObjectPrivate ctor is a mismatch in the version of the loaded plugin versus the Qt5Core version being compiled.
        So concretely, the loaded Qt5Svg plugin does not match the Qt5Core version. It should log(*) a fatal error like "Cannot mix incompatible Qt library (%d.%d.%d) with this library (%d.%d.%d)".
        (*) Assuming there is a properly installed message handler.
        From the dump you provided, I can see that the Qt5Svg.dll being loaded is 5.12.9 (which is the one from the VFB) while your 3dsmax uses Qt5Core.dll 5.12.5.8 so this mix won't work. You probably do not have Qt5Svg plugin in your package for whatever reasons.
        You will need to fix that somehow - if it's a semi-custom build so you will need to rebuild Qt5Svg plugin as well to match the same version as Qt5Core - or merely install/copy over the matching Qt5Svg plugin into the qt\plugins folder.
        Last edited by Christophe.Cot; 01-03-2023, 03:58 AM.
        Christophe COT
        Software Developer - Chaos
        christophe.cot@chaos.com

        Comment


        • #5
          We have a custom build of 3ds Max but for very specific non-Qt fixes, they should not be changing the Qt version in it. I'll do some digging and verify that is the case. I'll try and track down one of 2021.3.3202, 2021.0.0.915, 2021.3.2.3508 as stated in a separate email from you.

          Thank you for the insight.

          Comment


          • #6
            According to the SDK docs, it does indeed come with 5.12.5 but that should be a minimum version (within reason).
            https://help.autodesk.com/view/MAXDE...sdk_sdk_requir ements_html
            https://github.com/autodesk-forks/qtbase/releases

            I just downloaded "3ds Max 2021.3 Update" direct from Autodesk and the Qt5 DLLs are definitely showing as version 5.12.5.8.

            What I find strange though (and could be why it crashes) is that Qt5Svg.dll is the only DLL that is being loaded from where V-Ray is installed. All other Qt DLLs are being loaded from the root 3ds Max folder. Attached photo is what is actively loaded by the 3dsmax.exe process with the highlighted line being in the V-Ray directory.

            Click image for larger version

Name:	qt-versions.png
Views:	294
Size:	38.4 KB
ID:	1174512

            Comment


            • #7
              In your case, Qt5Svg is loaded from the VFB package because that's the first dll the loader is able to load. I don't have all the details but initially as I said I would assume the Qt5Svg coming with 3dsmax package was somehow missing (deleted or whatever). Definitely it should be part of the 3dsmax qt package.
              The versing check within Qt does require the exact same version if I recall correctly. It won't even allow a minor version diff. And then again when this check fails, it raises a fatal error which basically force end the process so it appears as a crash (it is not coming from either V-Ray or from the VFB, this is directly enforced within Qt so we cannot control it but it is a normal safety measure pointing a problem in your installation).
              Last edited by Christophe.Cot; 02-03-2023, 02:55 AM.
              Christophe COT
              Software Developer - Chaos
              christophe.cot@chaos.com

              Comment

              Working...
              X