Community
cancel
Showing results for 
Search instead for 
Did you mean: 
mok__siu
Novice
637 Views

Assert in Movidus compute stick with OpenVINO

Jump to solution

Version: l_openvino_toolkit_p_2019.1.144.tgz
Encounter this assert:
../../libusb/io.c:2118: handle_events: Assertion `ctx->pollfds_cnt >= internal_nfds' failed.
Aborted (core dumped)

The code is called from the prebuilt library libmyriadPlugin.so which we do not have source code to debug with.
PluginDispatcher({TARGET_PLUGIN_PATH}).getPluginByDevice("MYRIAD");

If we use CPU device instead of "MYRIAD", the program is working fine.

0 Kudos
1 Solution
mok__siu
Novice
637 Views

We found the problem in your OpenVINO sdk. 
The scope of the InferencePlugin plugin must be kept, even after the InferRequest is requested, and no body in the application side is calling or using plugin instance after "executable_network.CreateInferRequest"
i.e.

     {
    InferencePlugin plugin = PluginDispatcher({TARGET_PLUGIN_PATH}).getPluginByDevice(TARGET_DEVICE);
     ....................
    // --------------------------- 4. Loading model to the plugin ------------------------------------------
    ExecutableNetwork executable_network = plugin.LoadNetwork(network, {});

    // --------------------------- 5. Create infer request -------------------------------------------------
    h->infer_request = executable_network.CreateInferRequest();
     }
will not works, since the instance of plugin will be destructed. But the above code is of no problem when using the CPU plugin instead of MYRIAD plugin.

Please fire a bug internally in the OpenVINO and fixes the problem.
And I don't expected Intel such a big company to provide me such kind of answers like "Ubuntu* 18.04 is not listed as a supported " without even dig into the problem. 

View solution in original post

6 Replies
Luis_at_Intel
Moderator
637 Views

Could you provide more details that can help me reproduce the issue you are observing? i.e. host OS, VM?, sample code used, configuration used to install the toolkit, using NCS1 or NCS2, using a powered usb hub, etc.. 

I haven't encountered this problem myself but it could be an installation problem where VPU support is missing. 

 

Regards,

@Luis_at_Intel

mok__siu
Novice
637 Views

Same error when I tried on  neutral stick 2:
../../libusb/io.c:2118: handle_events: Assertion `ctx->pollfds_cnt >= internal_nfds' failed.

Hosted OS,
lsb_release  -a 
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:    18.04
Codename:    bionic

No usb hub
 

mok__siu
Novice
637 Views

It is NOT VPU support is missing, since it will output usb device not found if usb stick is not inserted:
terminate called after throwing an instance of 'InferenceEngine::details::InferenceEngineException'
  what():  Can not init USB device: NC_ERROR
 

Luis_at_Intel
Moderator
637 Views

Thank you for the information. Now I recall I've seen this problem in the past and it's because Ubuntu* 18.04 is not listed as a supported operating system in the documentation. Although the OpenVINO™ toolkit installs, the support for the VPUs doesn't get installed. There are some workarounds other users have tried but I wouldn't advice going that route, instead I'd strongly suggest to use one of the supported operating systems listed here.

Please let me know if you have any additional questions.

mok__siu
Novice
638 Views

We found the problem in your OpenVINO sdk. 
The scope of the InferencePlugin plugin must be kept, even after the InferRequest is requested, and no body in the application side is calling or using plugin instance after "executable_network.CreateInferRequest"
i.e.

     {
    InferencePlugin plugin = PluginDispatcher({TARGET_PLUGIN_PATH}).getPluginByDevice(TARGET_DEVICE);
     ....................
    // --------------------------- 4. Loading model to the plugin ------------------------------------------
    ExecutableNetwork executable_network = plugin.LoadNetwork(network, {});

    // --------------------------- 5. Create infer request -------------------------------------------------
    h->infer_request = executable_network.CreateInferRequest();
     }
will not works, since the instance of plugin will be destructed. But the above code is of no problem when using the CPU plugin instead of MYRIAD plugin.

Please fire a bug internally in the OpenVINO and fixes the problem.
And I don't expected Intel such a big company to provide me such kind of answers like "Ubuntu* 18.04 is not listed as a supported " without even dig into the problem. 

View solution in original post

Shubha_R_Intel
Employee
637 Views

Dear mok, siu,

I have filed a bug on this issue. Thanks for finding it and thank you for using OpenVino ! I appreciate your sharing your findings with the OpenVino community.

Shubha

 

Reply