Search Unity

Question [Solved] Upgrading from HDRP 7.1.8 to 7.2.0 crashes editor

Discussion in 'High Definition Render Pipeline' started by Bordeaux_Fox, Feb 11, 2020.

  1. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    Hello,

    I just try to upgrade my projects from HDRP 7.1.8 to HDRP 7.2.0 and I encountered a nasty bug.
    After all RP assets got imported, the editor prompts that all HDRP materials have to automatically updated.
    Then I click on "Ok", it refreshes some materials, but the progress bar is not even at quarter and then Unity crashes. So Unity crashes in the middle of the update progress, which is really bad.
    When I now try to open my project again, it will crashes too. So I guess the update procress corrupted my project, completely.

    So that means, until the auto update for the materials is not fixed, I cannot go to HDRP 7.2.0 or I have start completely from beginning.

    That project used DirectX12 and DXR. But the error log proves me one time again that DirectX12 in Unity is completely unstable.

    After upgrading other projects, it seems it only fails with DirectX12 and DXR enabled.

    ========== OUTPUTTING STACK TRACE ==================

    0x00007FF7C733936C (Unity) D3D12Fence::Wait
    0x00007FF7C736035C (Unity) AsyncReadbackDataD3D12::Update
    0x00007FF7C73A9EA5 (Unity) GfxDeviceWorker::RunCommand
    0x00007FF7C73B131B (Unity) GfxDeviceWorker::RunExt
    0x00007FF7C73B16D8 (Unity) GfxDeviceWorker::RunGfxDeviceWorker
    0x00007FF7C823BA83 (Unity) Thread::RunThreadWrapper
    0x00007FF804B97BD4 (KERNEL32) BaseThreadInitThunk
    0x00007FF80656CED1 (ntdll) RtlUserThreadStart
     

    Attached Files:

    Last edited: Feb 11, 2020
    konsic likes this.
  2. FGallorini

    FGallorini

    Joined:
    Aug 2, 2018
    Posts:
    28
    same issue after open existing scene Unity Freeze and crash
     
    Last edited: Feb 11, 2020
  3. harry_js

    harry_js

    Joined:
    Jan 22, 2020
    Posts:
    139
    Same; although it manifests in my case with a test project build with 7.1.8, switched to DX12, upgraded to 7.2.0 and now cannot load the default HDRP sample scene, instantly takes Unity down.
     
  4. nehvaleem

    nehvaleem

    Joined:
    Dec 13, 2012
    Posts:
    436
    same here. I don't even use DX12 / DXR tho
     
  5. keeponshading

    keeponshading

    Joined:
    Sep 6, 2018
    Posts:
    937
    Same issue here by upgrading
    3 different DX12 DXR projects projects on all included scenes from 7.1.8 to 7.2.0
    in Unity 2019.3.0f6 and 2020.1.0a22.
    Editor crashes after opening a scene after HDRP upgrade.
     
    Last edited: Feb 12, 2020
  6. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    Since you mentioned it happens on DXR, make sure you wipe LocalPackages folder and remove the hdrp-config package from your manifest and try to run HDRP wizard again once it opens.

    What happens now (afaik anyway) is that if you upgrade HDRP, it doesn't update the config package that was copied to local folder and modified there by HDRP wizard on the earlier version (local copy only gets created with HDRP + DXR combo). If you don't force the upgrade for this manually, you'll have mismatching setup.
     
  7. nehvaleem

    nehvaleem

    Joined:
    Dec 13, 2012
    Posts:
    436
    that makes sense, but not everyone with this issue is using DXR/DX12
     
  8. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    I just tested this with fresh HDRP Template that is set to 7.1.8 by default. I can't repro the crash without DXR being setup (it upgraded to 7.2.0 just fine for me). But once I had DXR setup it does crash the editor when trying to upgrade.

    If I wipe library folder it'll reset the default scene on startup and it lets me open the editor again but once I try to open the upgraded scene, it'll crash again.
     
    keeponshading likes this.
  9. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    Doing further experiments on this, the crash DXR users see is related to DX12 being enabled and to the upgraded scene from older version.

    Even if you don't conf HDRP for raytracing, it'll crash instantly when you open old scene with DX12 set as default renderer in Unity with HDRP 7.2. If you wipe the library and rebuild your scene again (from prefabs etc), it'll stay functional despite DX12 being enabled.

    When it crashes you get the same stack trace as in the original post here.
     
    Last edited: Feb 12, 2020
    keeponshading likes this.
  10. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    Really, rebuilding all scenes from scratch. There must be some way to upgrade the scenes.
    Deleting the library folder works, but as soon as I add a Physically Based Sky to a new scene, Unity crashes.
     
  11. chap-unity

    chap-unity

    Unity Technologies

    Joined:
    Nov 4, 2019
    Posts:
    765
    Hello Bordeaux_Fox,
    We are aware of the issue, it's been reported last week. It's not on the HDRP side.
    We need to do testing but the issue is supposedly fixed and will land soon on the editor side.
     
    harry_js likes this.
  12. ModelWorksLondon

    ModelWorksLondon

    Joined:
    Nov 10, 2015
    Posts:
    12
    I know that all last week the 7.2.0 was delayed for bugs etc but how can this be released when we cant even use our scenes? Ridiculous. Just stop saying when things are being released and release them when they work. So what do i do now that i cant even open my huge scene? Im not rebuilding it from scratch as its not feasible
     
  13. uMotiejus

    uMotiejus

    Unity Technologies

    Joined:
    May 13, 2019
    Posts:
    12
    We acknowledge this is a big issue. While were working on a fix please use manifes.json file to revert the HDRP version to 7.1.8

    Project->Packages->manifest.json
    change HDRP version back to 7.1.8
     
  14. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    If Unity is aware of this issue since last week, why not informing users, when announcing HDRP 7.2.0?
    Also, I really like to know why DirectX12 get not so much care from Unity devs.
     
  15. chap-unity

    chap-unity

    Unity Technologies

    Joined:
    Nov 4, 2019
    Posts:
    765
    It does get care from Unity devs, but keep in mind that DX12 is still experimental and in preview
     
  16. keeponshading

    keeponshading

    Joined:
    Sep 6, 2018
    Posts:
    937
    Would be nice to know how many auto crash reports Unity received yesterday.)
    From my side around 50 during 6 hours trying to update some projects with any tricks i could imagine).

    Such extreme bugs are vasting lots of dollars when you multiply it with working time invested by unity alpha and beta testers.
     
  17. SebLagarde

    SebLagarde

    Unity Technologies

    Joined:
    Dec 30, 2015
    Posts:
    934
    Hi,

    The DX12 fix for this crash fixes will be available in 2019.3.1f2 (next week)
    The vulkan and Metal crash fixes will be available in 2019.3.1f1 (tomorrow)

    DX12 and DXR are still in preview with a lot of issues. DX12 will have more insight from dev for 2020.2 to be out of preview with improve performance as right now DX12 is slower than DX11.

    We have take the decision to release the package without waiting for DX12 fixes as we have other customer that need to make progress on non-DX12 API. Regarding the issue with Metal / Vulkan, sadly it is a problem of synchronization between the binary version and the package release. Binary with fixes is available tomorrow (or even maybe today). But the decoupling packages / binary is not always simple to manage (and us developer we forget to setup the min version for this HDRP pacakge to only work with 2019.3.1f1).

    We are sorry for inconvenience.
     
  18. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    Yes, DirectX12 and DXR are very experimental, but I like to try out the new tech and give Unity feedback about it, despite I have the feeling you will not really care about it. But I cannot give feedback, if Unity simply crashes. It has to be stable at some point, like I can try things at least for one minute out before everything is crashing. At the moment, this is not the case. I think it was okay to release HDRP 7.2.0 anyway, because non DXR projects need it, like I also have projects that needed some HDRP fixed.

    But I kindly ask Unity to be more transparent about very huge bugs if Unity know them before. Now I feel a little bit like you knew everything and just waited for somebody to created a thread like that. Also, I must say this is not the first time.
    It really annoys me when I spend my time to report bugs to Unity, just to be informed later that Unity already knows about the bugs but hiding the Issue cases and remain silent.
    And if Unity constantly annoys the developers, Unity should not be surprised when devs leaving Unity completely and no longer be your alpha and beta testers. My time is very limited and if wasting time of known bugs can be avoided, I really like to get the chance.

    I really looking forward to try out the more stable DirectX12 and DXR. Thank you for the hard work.
     
    Last edited: Feb 13, 2020
    keeponshading and uMotiejus like this.
  19. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    Upgraded to Unity 2019.3.2f1 and now this:

    ========== OUTPUTTING STACK TRACE ==================

    0x00007FF6F5D80A06 (Unity) GfxDeviceD3D12::BuildTopLevelAccelerationStructure
    0x00007FF6F5DB5675 (Unity) GfxDeviceWorker::RunCommand
    0x00007FF6F5DC360C (Unity) GfxDeviceWorker::RunExt
    0x00007FF6F5DC39F8 (Unity) GfxDeviceWorker::RunGfxDeviceWorker
    0x00007FF6F6C51123 (Unity) Thread::RunThreadWrapper
    0x00007FFBF23A7BD4 (KERNEL32) BaseThreadInitThunk
    0x00007FFBF27ECED1 (ntdll) RtlUserThreadStart

    Guess it's the same random crash I get with DirectX12 since months. But atleast I can continue to work on my project and reach the build button, you just have to be very fast before the editor crashes. ;););)
    Now, DXR is also working in BUILD, even with reflections. So that is some progress.
    Nevertheless, you cannot work in the editor with DirectX12, because it can crash any seconds and will at some random point. But the funny thing is, the build with DirectX12 seems never to be crashing, it is just the editor, that is so unstable.

    So work on your project in DirectX11 mode, after work is done save, then switch graphic API to DirectX12, build, and test your changes. Working and testing in editor with DirectX12 is just an unstable waste of time. Sorry.
     
    Last edited: Feb 19, 2020
  20. keeponshading

    keeponshading

    Joined:
    Sep 6, 2018
    Posts:
    937
  21. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    Last edited: Feb 20, 2020
    soleron likes this.
  22. chap-unity

    chap-unity

    Unity Technologies

    Joined:
    Nov 4, 2019
    Posts:
    765
    @Bordeaux_Fox, could you attach the whole editor.log from the crash you had yesterday with the 2019.3.2f1 ? Are you using HDRP 7.2.1 ?

    Thanks !
     
  23. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    Not to rob the thread or anything, but why is DX12 still experimental and unstable? I feel like DX12 has been around long enough.

    Just googled it, It was released in July 2015 and there are videos and threads about Unity Dx12 in 2016...I am assuming it was in Unity5.4 beta?

    Regardless, I just feel DX12 should be production-ready by now...DX12 doesn't feel like a new thing anymore...
    Is there an underlying issue that we are not aware of regarding DX12?
     
    soleron likes this.
  24. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    I guess the usual "not the highest priority" issue and maybe they thought DirectX12 would not be that important? But now with DXR it is needed and they need to hurry with DirectX12 to satisfy the RTX owners and Nvidia as a partner ...

    Yes, I'm using HDRP 7.2.1 and the newest Unity version. Like I'm always told here from the support to get the latest bugfixes in order to run DXR. That is what I'm doing.

    Again, I asked several times, but can somebody from Unity clarify what Nvidia driver you are recommending for DXR?
    I'm using the latest Nvidia Studio driver. I heard that the newest ones are not so stable, had also issues with Denoising due to a bug, but I think Nvidia fixed it in february. That is the information I got from lightmapper forum.

    Regarding that Unreal is also crashing with their DXR demos, I suspect that it is either an issue on Nvidia's side or both engines fail in their implementation. But on the other side, I had zero issues with DXR in Adobe and blender.
     
    Last edited: Feb 20, 2020
  25. SebLagarde

    SebLagarde

    Unity Technologies

    Joined:
    Dec 30, 2015
    Posts:
    934
    Hi, we always use latest version of NVidia driver for DXR.
     
  26. Bordeaux_Fox

    Bordeaux_Fox

    Joined:
    Nov 14, 2018
    Posts:
    589
    Sure, here is the log.
     

    Attached Files:

    chap-unity likes this.
  27. soleron

    soleron

    Joined:
    Apr 21, 2013
    Posts:
    580
    Thank god I didn't bother upgrading then :D
     
  28. soleron

    soleron

    Joined:
    Apr 21, 2013
    Posts:
    580
    DX12 is not the default framework for most games. And there is no real reason why it should be. Performance is not better than DX11 and there are not really that many features that make it stand out. Even if there were, the benefits are small, and performance will always beat bells and whistles.

    Now with RT Raytrace coming into play, IF it becomes fully adopted by the industry fast, this might change.

    But when the most common graphics card on Steam is still 10xx (1060) series and even 9xx.. (970) it is hard to make that assumption.
     
    Last edited: Feb 21, 2020
    chap-unity likes this.
  29. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    I have to say that all the reasons you stated have nothing to do with DX12 being not ready after all these years.

    In fact, if I add my speculation...

    DX12 is not the default framework for most games -> for Unity yes, because it is still not ready, and for non Unity games, not really. Most new titles of scale are DX12 or plan to be.

    Performance is not better than DX11 and there are not really that many features that make it stand out -> Its a graphics API for improved/advanced features. Performance improvement is not what DX12 is for or for that matter any DX release. DX11 was slower than DX10. DX10 was slower than DX9 - at least that is how everyone felt. Its the latest standard set by Microsoft for windows platform. That standard, of course, aims to fulfill the modern needs of graphics. Also, even if I was wrong by a mile, it has nothing to do with DX12 readiness. It is not like DX11 will be damaged if DX12 is production-ready. DX11 and DX12 should be ready by now, regardless of one's opinion of which one is better.

    Now with RT Raytrace coming into play, IF it becomes fully adopted by the industry fast, this might change.-> I think with INTEL, AMD and NVIDIA working together for future Raytracing tech and also the fact that all next gen consoles have RT, the IF you stated has already happened.

    But when the most common graphics card on Steam is still 10xx (1060) series -> which supports DX12...
     
  30. soleron

    soleron

    Joined:
    Apr 21, 2013
    Posts:
    580

    I never said DX12 is not ready? :)

    Looks like you just made it up to just add your speculation anyway.
    You could do it without disproving things I never said. things never said can't be disproved anyway. :p

    I simply said not many use it because it does not offer anything groundbreaking that justifies the lower performance. ;)
     
  31. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    It kind of does when you quote my question of "why is it not ready?" and then your response is "its not the default because it's not really faster".

    Then I said, it being slow/faster(the API) has nothing to do with Unity's DX12 implementation speed.

    Then you said that you never said DX12 is not ready.

    I don't think we are talking about same things...
    Either way, I am still curious as to why DX12 is still experimental.
     
  32. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    2,361
    Because it's not as optimized as DX11 path is now? It's pretty clear that they put initially more focus on renderers that are most commonly used today. @SebLagarde gave estimate earlier that they will address the current DX12 perf issues on 2020.2, I don't know if that estimate is still valid.

    If you look at the HDRP release blog post: https://blogs.unity3d.com/2020/02/24/hdrp-out-of-preview-in-2019-3/
    and the supported platforms, they marked this on DX12:
     
    keeponshading likes this.