Reputation: 7906
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