chromeos_smart_card_connector
chromeos_smart_card_connector copied to clipboard
Rare hang issue with multiple readers
We received a few random bug reports that sometimes the Smart Card Connector app may hang when using multiple readers.
Some of the reports (note that we don't know for sure whether they stem from the same root cause):
- <20200918> When plugging in the second reader, its state freezes on the "yellow" step ("initializing"). After unplugging the first reader, the initialization of the second reader completes and the reader begins to work without a problem.
- <20201106> When plugging in the second reader and unplugging it quickly after that, its state freezes on the "yellow" step ("initializing"). Logs: smart-card-connector-20201106-hang-when-unplugging.txt
- <20201106> The device's state freezes on the "green" step even after unplugging the device. Logs: smart-card-connector-20201106-removal-nothing-happens.txt
Some potential directions to investigate for this bug:
- It might be some deadlock in the CCID Driver code;
- It might be a bug in our libusb-to-chrome.usb bridge implementation;
- It might be a bug in the Chrome's chrome.usb implementation (for posterity, an example of a similar old bug: crbug.com/968111).
And one more idea:
- It might be a bug in the middleware app, combined with the insufficient sanity checks in the Smart Card Connector app (#136).