Success! Subscription added.
Success! Subscription removed.
Sorry, you must verify to complete this action. Please click the verification link in your email. You may re-send via your profile.
I am upgrading OpenVino from 2022.3.1 to 2023.3 and am getting a "list iterators incompatible" error when executing compile_model().
The app runs as expected with 2022.3.1.
Microsoft Visual Studio Enterprise 2022 (64-bit) - Current
Version 17.9.2
after selecting ignore
Call stack. The entire call stack is attached.
Code:
m_model = core.read_model(strModel,ov::Tensor(ov::element::u8, { vecModelWeights.size() }, m_modelWeights.get()));
m_compiled_model = core.compile_model(m_model, "CPU");
All 2022 debug openvino and tbb dll/lib files were replaced with 2023.3 dll/lib files.
Intel's OpenVino API for 2023.3 compile_model link.
Intel's OpenVino API for 2022.3 compile_model link.
Since 2023.3 specifies MSVC 2019 and 2024.2 specifies MSVC 2022, and the fact that 2024.2 isn't causing us any issues, we decided to go with 2024.2 and hope that the LTS version is coming soon.
Thanks for your help
Link Copied
Hi Eddie_Patton,
Thanks for reaching out.
The issue is related to the C++ Runtime Library within your Microsoft Visual Studio. OpenVINO 2023.3 does not support Microsoft Visual Studio Enterprise 2022. Only Microsoft Visual Studio 2019 is supported with OpenVINO 2023.3.
You may check the System Requirement.
Regards,
Aznie
Hi Aznie
What's odd because OpenVino 2022.3 system requirements also state VS 2019, but it runs fine on VS 2022.
And I have a version of OpenVino 2024.2 who's system requirements also state VS 2019 but is running on VS 2022 OK.
But I need 2023.3 because it is LTS for our product release.
Multiple engineers here are using VS 2022 and have no issues running OpenVino 2022.3 and 2024.2.
Shouldn't the openvino dlls, if built with vs 2019 build tools, be compatible with apps built using 2022 build tools?
Thx for your help.
More info:
When I select "ignore" in the debugger assert window, the next breakpoint is in invalid_parameter.cpp
where
expression = "list interators incompatible:
function name = std::_List_const_iterator<class std::_List_val<struct std::_List_simple_types<class std::shared_ptr<class ov::snippets::lowered::Expression> > > >::operator ==
Hi Eddie_Patton,
It might work with VS 2022 but our engineering team does not officially validate it. From your callstack the OpenVINO cpu dll files are missing. Could you run dependency walker on Windows 10 or binscan or ldd on Linux to detect missing dependencies?
Otherwise, you may try to reinstall everything including the Visual Studio. Please try with VS 2019.
Regards,
Aznie
Hi Aznie
Thanks for the reply
Re: "From your callstack the OpenVINO cpu dll files are missing."
For my own edification, could you point me to the line in the callstack.txt file that shows this? I'm used to seeing "FileNotFoundException" error when this happens.
Much appreciated.
Hi Eddie_Patton,
The openvino_intel_cpu_plugind.dll!00007ffe3477d87d() Unknown means something is missing or undetected in your system. Please run Dependency Walker to find the missing dll and reallocate them to the correct folder/path.
It is recommended to reinstall and follow the system requirements.
Hope this helps.
Regards,
Aznie
Hi Aznie
I thought I'd test what happens if I intentionally removed a dll. I ran the same code but with the openvino_intel_cpu_plugind.dll missing. In this case, the try/catch error message wrapped around compile_model() is
Exception from src\inference\src\core.cpp:102:
Exception from src\inference\src\dev\core_impl.cpp:560:
Device with "CPU" name is not registered in the OpenVINO Runtime
So I think that the stack output such as
openvino_intel_cpu_plugind.dll!00007ffe3477d87d() Unknown
means that the debug symbols are not available. In the above, "00007ffe3477d87d()" is the address of the function in openvino_intel_cpu_plugind library. The "Unknown" would be the function line number, etc.
So in order to get the function name and other info, isn't a pdb file required?
I'll still try the dependency walker, but I think the call stack is just showing us that the debug symbols are not present.
Cheers
Eddie
Hi Eddie,
How did you install your OpenVINO before? I highly recommend you reinstall OpenVINO™ 2023.2.0 from the archive file again and run the Hello Query Device sample to verify all the available devices.
Regards,
Aznie
Another datapoint:
In the call stack, tbb12_debug.dll is called. I removed it from the x64 directory and got this error (the familiar and useless EEFileLoadException).
'SysApp.exe' (Win32): Unloaded 'C:\FFSS\debug\Phx\x64\Host_G5\SysApp\msvcp140d.dll'
'SysApp.exe' (Win32): Unloaded 'C:\FFSS\debug\Phx\x64\Host_G5\SysApp\AppInit.dll'
Exception thrown at 0x00007FFF77E4CF19 in SysApp.exe: Microsoft C++ exception: EEFileLoadException at memory location 0x0000007F577FC178.
Exception thrown at 0x00007FFF77E4CF19 in SysApp.exe: Microsoft C++ exception: [rethrow] at memory location 0x0000000000000000.
Exception thrown at 0x00007FFF77E4CF19 in SysApp.exe: Microsoft C++ exception: EEFileLoadException at memory location 0x0000007F577FC178.
As per how did I install before, I followed these instructions:
which are identical to
https://docs.openvino.ai/2023.3/openvino_docs_install_guides_installing_openvino_from_archive_windows.html
And then used Beyond Compare to copy all files to our products source code folder. Then in MSVC, we use the properties "Copy File" feature to put the dll in our x64 directory that has our app executable.
I also used Beyond Compare to ensure the dll dates and sizes in C:\Program Files (x86)\Intel\openvino_2023.3.0 match the dlls in the x64 directory.
I'll download the archive again and redo the process.
I see that there's an option to build from source. At least that way I'll have the debug info
https://github.com/openvinotoolkit/openvino/blob/master/docs/dev/build.md
Hi Eddie_Patton,
Yes, you may also try to build OpenVINO from the source following the documentation.
Regards,
Aznie
Since 2023.3 specifies MSVC 2019 and 2024.2 specifies MSVC 2022, and the fact that 2024.2 isn't causing us any issues, we decided to go with 2024.2 and hope that the LTS version is coming soon.
Thanks for your help
Hi Eddie_Paton,
This thread will no longer be monitored since this issue has been resolved. If you need any additional information from Intel, please submit a new question.
Regards,
Aznie
Community support is provided Monday to Friday. Other contact methods are available here.
Intel does not verify all solutions, including but not limited to any file transfers that may appear in this community. Accordingly, Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.
For more complete information about compiler optimizations, see our Optimization Notice.