Noesis.dll could not be loaded on Windows
Hello,
On some Windows PC I am having some trouble running our app with Unity because of this error
The version of Noesis is 3.2.1. I have looked at the dependencies for this dll and i got this
Thank you.
On some Windows PC I am having some trouble running our app with Unity because of this error
(the same is for 32 and 64 bit versions).Plugins: Failed to load .../Plugins\x86_64/Noesis.dll' because one or more of its dependencies could not be loaded
The version of Noesis is 3.2.1. I have looked at the dependencies for this dll and i got this
When looking at some older versions (I think it was 2.*) Noesis.dll has only this dependenciesImage has the following dependencies:
KERNEL32.dll
USER32.dll
SHELL32.dll
WS2_32.dll
DWrite.dll
VCRUNTIME140.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-time-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
api-ms-win-crt-utility-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
Is this some wrong version of dll that I am using (a dll used only in Unity Editor) or the issue is somewhere else?Image has the following dependencies:
KERNEL32.dll
USER32.dll
Thank you.
Re: Noesis.dll could not be loaded on Windows
Hi Ivan,
Have you tried installing Noesis 3.2.1 on a clean Unity project? Is this happening there also?
Could you provide the Unity version you are using, along with the OS version?
Thanks,
Mark
Have you tried installing Noesis 3.2.1 on a clean Unity project? Is this happening there also?
Could you provide the Unity version you are using, along with the OS version?
Thanks,
Mark
Re: Noesis.dll could not be loaded on Windows
With Noesis 3.X we started to dynamically compile the CRT in our C++ library (before, this was a static dependency). This was changed to reduce the size of our binary because the UCRT used by Visual Studio is part of the operating system in Windows 10+. This is the reason you are observing missing dependencies.
What version of Windows is this?
What version of Windows is this?
Re: Noesis.dll could not be loaded on Windows
Thank you jsantos for the detailed explanation. So far it seems happening only on Windows 10. We tested on 3 Windows 11 and on 2 Windows 10 version. The version of Unity that we use is 2022.2.18.
So far I have not tried to reproduce it on an empty project but will give it a try.
So far I have not tried to reproduce it on an empty project but will give it a try.
Re: Noesis.dll could not be loaded on Windows
I have tried to run it with a clean project and I get that the message that the program could not find MSVCP140.dll
https://1drv.ms/i/s!AvieguYgfXxmx1dvuSTu1p-TOL9K. I do not know of this is a dependency of one of the dll that Noesis depends on or just the settings in this sample projects were wrong.
https://1drv.ms/i/s!AvieguYgfXxmx1dvuSTu1p-TOL9K. I do not know of this is a dependency of one of the dll that Noesis depends on or just the settings in this sample projects were wrong.
Re: Noesis.dll could not be loaded on Windows
Sorry for the confusion. This is not related to Unity version or your project configuration at all.
Our library (Noesis.dll) is dynamically linking with the CRT. The CRT is part of the operating system (since Windows 10) and it is installed through Windows Update. If the Windows version is old or didn't run any Windows Update, the CRT may be missing and needs to be installed manually with your application installer.
https://learn.microsoft.com/en-us/cpp/p ... w=msvc-170
https://learn.microsoft.com/en-us/cpp/w ... w=msvc-170
Probably installing this should be enough:
https://www.microsoft.com/en-US/downloa ... x?id=52685
Our library (Noesis.dll) is dynamically linking with the CRT. The CRT is part of the operating system (since Windows 10) and it is installed through Windows Update. If the Windows version is old or didn't run any Windows Update, the CRT may be missing and needs to be installed manually with your application installer.
https://learn.microsoft.com/en-us/cpp/p ... w=msvc-170
https://learn.microsoft.com/en-us/cpp/w ... w=msvc-170
Probably installing this should be enough:
https://www.microsoft.com/en-US/downloa ... x?id=52685
Re: Noesis.dll could not be loaded on Windows
No worries, there was no confusion, I was just replying to you and maherne in the same post :), sorry about that.
Would it be a problem to create the Noesis dll with statically build CRT? We have some users that do not update their OS that often so I am not sure how thrilled they would be if we asked them to install something additional just for our app to work normally.
I know that this is safe it is just that the end user might not like it that much :)
Would it be a problem to create the Noesis dll with statically build CRT? We have some users that do not update their OS that often so I am not sure how thrilled they would be if we asked them to install something additional just for our app to work normally.
I know that this is safe it is just that the end user might not like it that much :)
Re: Noesis.dll could not be loaded on Windows
Aren't your users installing your application? You could install the CRT as an extra step in your installation process.
Re: Noesis.dll could not be loaded on Windows
Thank you jsanots. That makes sense to install CRT during the installation process, I was just too lazy to try to find a solution.
Now I have another problem, it seems that install CRT does not solve the problem. After installing CRT the whole application crashes.
This is a summary from WinDbg
Do you know what could have caused the crash?
Here is the crash dump that was generated by Unity https://1drv.ms/u/s!AvieguYgfXxmx35XIQe ... q?e=cLsBPR .
Now I have another problem, it seems that install CRT does not solve the problem. After installing CRT the whole application crashes.
This is a summary from WinDbg
Code: Select all
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
KEY_VALUES_STRING: 1
Key : AV.Dereference
Value: NullPtr
Key : AV.Fault
Value: Read
Key : Analysis.CPU.mSec
Value: 31
Key : Analysis.Elapsed.mSec
Value: 761
Key : Analysis.IO.Other.Mb
Value: 0
Key : Analysis.IO.Read.Mb
Value: 0
Key : Analysis.IO.Write.Mb
Value: 0
Key : Analysis.Init.CPU.mSec
Value: 15
Key : Analysis.Init.Elapsed.mSec
Value: 7034
Key : Analysis.Memory.CommitPeak.Mb
Value: 104
Key : Failure.Bucket
Value: NULL_POINTER_READ_c0000005_Noesis.dll!Unknown
Key : Failure.Hash
Value: {78ba7934-4467-e1e0-bdc3-e712ca96a58e}
Key : Timeline.Process.Start.DeltaSec
Value: 21
Key : WER.OS.Branch
Value: vb_release
Key : WER.OS.Version
Value: 10.0.19041.1
Key : WER.Process.Version
Value: 3.30.1.0
FILE_IN_CAB: crash.dmp
CONTEXT: (.ecxr)
rax=0000000000000011 rbx=00007ffebc2bc3a0 rcx=5f84dbf700f70000
rdx=000000000000006f rsi=000000f7e351d510 rdi=0000000000000000
rip=00007ffebc15ff81 rsp=000000f7e351d430 rbp=000000f7e351d550
r8=0000000000000000 r9=00007ffeea050000 r10=00007ffebc2bc1f0
r11=000000f7e351d467 r12=0000024b5a924098 r13=00007ffebc2bbe00
r14=0000024b5a924098 r15=00007ffebc2bbe15
iopl=0 nv up ei pl nz na po nc
cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010206
Noesis+0x31ff81:
00007ffe`bc15ff81 488b07 mov rax,qword ptr [rdi] ds:00000000`00000000=????????????????
Resetting default scope
EXCEPTION_RECORD: (.exr -1)
ExceptionAddress: 00007ffebc15ff81 (Noesis+0x000000000031ff81)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 0000000000000000
Parameter[1]: 0000000000000000
Attempt to read from address 0000000000000000
PROCESS_NAME: HCV.exe
READ_ADDRESS: 0000000000000000
ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.
EXCEPTION_CODE_STR: c0000005
EXCEPTION_PARAMETER1: 0000000000000000
EXCEPTION_PARAMETER2: 0000000000000000
STACK_TEXT:
000000f7`e351d430 00007ffe`e54f7c10 : 00007ffe`80070057 00000000`00000000 00000000`00000000 00000000`00000000 : Noesis+0x31ff81
000000f7`e351d438 00007ffe`80070057 : 00000000`00000000 00000000`00000000 00000000`00000000 000000f7`e351d510 : d3d11!_com_error::`vftable'
000000f7`e351d440 00000000`00000000 : 00000000`00000000 00000000`00000000 000000f7`e351d510 505f7369`73656f4e : 0x00007ffe`80070057
SYMBOL_NAME: Noesis+31ff81
MODULE_NAME: Noesis
IMAGE_NAME: Noesis.dll
STACK_COMMAND: ~41s; .ecxr ; kb
FAILURE_BUCKET_ID: NULL_POINTER_READ_c0000005_Noesis.dll!Unknown
OS_VERSION: 10.0.19041.1
BUILDLAB_STR: vb_release
OSPLATFORM_TYPE: x64
OSNAME: Windows 10
IMAGE_VERSION: 3.2.1.12507
FAILURE_ID_HASH: {78ba7934-4467-e1e0-bdc3-e712ca96a58e}
Followup: MachineOwner
---------
Here is the crash dump that was generated by Unity https://1drv.ms/u/s!AvieguYgfXxmx35XIQe ... q?e=cLsBPR .
Re: Noesis.dll could not be loaded on Windows
Yes, this have been fixed in 3.2.2
Who is online
Users browsing this forum: RevalSoft and 0 guests