tari-project / universe

Other
7 stars 22 forks source link

Critical Error (Non-zero exit code) due to missing VC++ Redistributable #620

Open uforiaio opened 1 week ago

uforiaio commented 1 week ago

//* Noticed someone else reported it and thought I would expand since I experienced it myself. It may already be patched, but in my case a simple reinstall fixed it.

Describe the bug

When attempting to launch the Tari Universe application, it fails with a critical error showing a non-zero exit code Some(-1073741515). This error was identified as being caused by the absence of the necessary VC++ Redistributable version. The application will still launch but will generate an error similar to Critical Error #616 when the redistributable are missing.

Suggestion?

image

To Reproduce

Steps to reproduce the behavior:

Expected Behavior

The application should either notify the user of the missing VC++ Redistributables or automatically install the required version during setup. Alternatively, if the redistributables are missing, the application should not launch and provide a clear message about the missing dependencies.

Screenshots

If applicable, attach a screenshot of the error message. Here's an example of the error encountered:

Grabbed this image from #616, which I also ran into in an earlier version.

image

Desktop

OS & Version: Windows 11 Version 23H2 (OS Build 22631.4169) GPUs: Nvidia RTX 4090 (on affected systems), AMD 7900 XTX (issue was reproduced intentionally) GPU Drivers: Nvidia and AMD (Tried newest drivers, as well as two older drivers) Browser & Version: All browsers Smartphone: n/a

Additional Context /** From my example, not sure if it is identical to #616

Using Process Explorer, it was confirmed that the absence of the VC++ Redistributable leads to this critical error. The installer or application should check for this dependency before launching. It may also be useful to display the currently installed VC++ Redistributable version under the application's "Versions" section for easy debugging.

uforiaio commented 6 days ago

FYI, I had four machines that are all in isolated vlans. Noticed they didn't have the latest windows rollup, so I updated them. Typical Windows Update stuff, nothing special.

As you can see, MS has terrible garbage collection and normalization. All of these machines have the VC++ redist manually installed. All are from the same image, lol. Might want to look at using Get-WmiObject or an equivalent to validate VC++ redist. I ran into issues on two machines with VC++ redist. These machines are setup as a test environment, so I was not thrilled to see four different results.

Two of the machines wouldnt start correctly. Based on chat, this is likely not isolated to me. To be completely honest, this surprised me. Now on two of the machines they have Steam installed, but they are the ones with only four results.


First machine that was updated and not that old # k M:

Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -like "Microsoft Visual C++*" } | Select-Object Name, Version

Name Version


Microsoft Visual C++ 2022 X86 Minimum Runtime - 14.40.33810 14.40.33810 Microsoft Visual C++ 2010 x64 Redistributable - 10.0.40219 10.0.40219 Microsoft Visual C++ 2005 Redistributable (x64) 8.0.61000 Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219 10.0.40219 Microsoft Visual C++ 2013 x86 Minimum Runtime - 12.0.21005 12.0.21005 Microsoft Visual C++ 2013 x86 Additional Runtime - 12.0.21005 12.0.21005 Microsoft Visual C++ 2013 x64 Additional Runtime - 12.0.21005 12.0.21005 Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.6161 9.0.30729.6161 Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.6161 9.0.30729.6161 Microsoft Visual C++ 2013 x64 Minimum Runtime - 12.0.21005 12.0.21005 Microsoft Visual C++ 2012 x64 Additional Runtime - 11.0.61030 11.0.61030 Microsoft Visual C++ 2022 X86 Additional Runtime - 14.40.33810 14.40.33810 Microsoft Visual C++ 2022 X64 Minimum Runtime - 14.40.33810 14.40.33810 Microsoft Visual C++ 2012 x86 Additional Runtime - 11.0.61030 11.0.61030 Microsoft Visual C++ 2005 Redistributable 8.0.61001 Microsoft Visual C++ 2012 x64 Minimum Runtime - 11.0.61030 11.0.61030 Microsoft Visual C++ 2012 x86 Minimum Runtime - 11.0.61030 11.0.61030 Microsoft Visual C++ 2022 X64 Additional Runtime - 14.40.33810 14.40.33810


Second machine, about the same age # k D:

Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -like "Microsoft Visual C++*" } | Select-Object Name, Version

Name Version


Microsoft Visual C++ 2022 X64 Additional Runtime - 14.36.32532 14.36.32532 Microsoft Visual C++ 2022 X86 Additional Runtime - 14.36.32532 14.36.32532 Microsoft Visual C++ 2022 X86 Minimum Runtime - 14.36.32532 14.36.32532 Microsoft Visual C++ 2022 X64 Minimum Runtime - 14.36.32532 14.36.32532


Third machine, relatively old # k L :

Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -like "Microsoft Visual C++*" } | Select-Object Name, Version

Name Version


Microsoft Visual C++ 2022 X86 Minimum Runtime - 14.40.33810 14.40.33810 Microsoft Visual C++ 2022 X86 Additional Runtime - 14.40.33810 14.40.33810 Microsoft Visual C++ 2022 X64 Minimum Runtime - 14.40.33810 14.40.33810 Microsoft Visual C++ 2022 X64 Additional Runtime - 14.40.33810 14.40.33810

Fourth machine, relatively old # k B :

Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -like "Microsoft Visual C++*" } | Select-Object Name, Version

Name Version


Microsoft Visual C++ 2022 X64 Minimum Runtime - 14.40.33810 14.40.33810 Microsoft Visual C++ 2019 X86 Minimum Runtime - 14.28.29325 14.28.29325 Microsoft Visual C++ 2019 X86 Additional Runtime - 14.28.29325 14.28.29325 Microsoft Visual C++ 2022 X64 Additional Runtime - 14.40.33810 14.40.33810