Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.
6468 Discussions

list iterators incompatible error when upgrading to OpenVino 2023.3

eddie_patton
New Contributor I
612 Views

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

eddie_patton_0-1721840758060.png

after selecting ignore

eddie_patton_1-1721842289885.png

Call stack. The entire call stack is attached.

eddie_patton_2-1721842380436.png

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.

 

0 Kudos
1 Solution
eddie_patton
New Contributor I
199 Views

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

View solution in original post

0 Kudos
11 Replies
Aznie_Intel
Moderator
564 Views

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


0 Kudos
eddie_patton
New Contributor I
502 Views

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

eddie_patton_0-1721927331413.png

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 ==

 

0 Kudos
Aznie_Intel
Moderator
464 Views

 

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


0 Kudos
eddie_patton
New Contributor I
439 Views

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.

 

0 Kudos
Aznie_Intel
Moderator
435 Views

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


0 Kudos
eddie_patton
New Contributor I
319 Views

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

 

0 Kudos
Aznie_Intel
Moderator
303 Views

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


0 Kudos
eddie_patton
New Contributor I
269 Views

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:

https://docs.openvino.ai/2022.3/openvino_docs_install_guides_installing_openvino_from_archive_windows.html

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. 

eddie_patton_0-1722357089577.png

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

 

0 Kudos
Aznie_Intel
Moderator
244 Views

Hi Eddie_Patton,


Yes, you may also try to build OpenVINO from the source following the documentation.



Regards,

Aznie


0 Kudos
eddie_patton
New Contributor I
200 Views

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

0 Kudos
Aznie_Intel
Moderator
192 Views

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


0 Kudos
Reply