Phidget API 22 : libusb deadlock

I currently have a thread of the Phidget API which deadlocks; here is a stack trace of my main thread:

1   __lll_lock_wait                                       0x7ffff5b3173c 
2   __lll_lock_elision                                    0x7ffff5b343c7 
3   mos_mutex_lock            mos_lock-pthread.c     288  0x7fffd64b50ee 
4   StartCentralThread        phidget22.c            205  0x7fffd64d45dd 
5   registerChannel           phidget.c              1348 0x7fffd64d2432 
6   Phidget_open_internal     phidget.c              1416 0x7fffd64d2432 
7   list_phidgets             phidgets_parameter.hpp 1076 0x7fffd6139f9b 
    /* list_phidgets is in my own code and calls Phidget_open(...) */

and an offending internal libphidget thread :

1  poll                                                   0x7ffff12ba97b 
2  ??                                                     0x7ffff54cb6ec 
3  libusb_handle_events_timeout_completed                 0x7ffff54cc76a 
4  libusb_handle_events_completed                         0x7ffff54cc8b0 
5  ??                                                     0x7ffff54cd1d9 
6  libusb_control_transfer                                0x7ffff54cd539 
7  libusb_get_string_descriptor_ascii                     0x7ffff54ca47e 
8  PhidgetUSBGetString                    usblinux.c  253 0x7fffd64d5319 
9  scanVintDevices                        vint.c      218 0x7fffd64e5a2e 
10 PhidgetManager_poll                    manager.c   380 0x7fffd64bc87c 
11 CentralThreadFunction                  phidget22.c 371 0x7fffd64d4415 
12 start_thread                                           0x7ffff5b2808c 
13 clone                                                  0x7ffff12c4e7f 

Phidget_open called from my main thread, opens a mutex also opened in CentralThreadFunction, and libusb_get_string_descriptor_ascii does not seem to return which deadlocks my whole app. What can I do ?

Upvotes: 1

Views: 97

Answers (0)

Related Questions