Hi Ludovic, I'm getting the same problem with my Debian Testing.
I'll try to generate more logs related to libusb as explained in the bug thread but here are some things I noticed: I've a Yubikey Neo-n plugged constantly. When the 100% problem arises, nothing special in pcscd logs, even with -f -a -d cf attached log. And pcscd and Yubikey remain fully functional despite the 100%. Now the interesting bits: Without the yubikey inserted the problem never occurs. With the yubikey inserted there are two cases: 1) works as normal, the problem never arises 2) sometimes when yubikey gets inserted or when pcscd service is restarted I get the following error in syslog: pcscd[26168]: 00000000 ifdhandler.c:144:CreateChannelByNameOrChannel() failed pcscd[26168]: 00000012 readerfactory.c:1097:RFInitializeReader() Open Port 0x200000 Failed (usb:1050/0115:libudev:0:/dev/bus/usb/001/025) pcscd[26168]: 00000002 readerfactory.c:372:RFAddReader() Yubico Yubikey NEO U2F+CCID init failed. At this point besides those lines in syslog, yubikey is functional and CPU is ok *but* starting from this situation, whenever there will be a change on another usb port, no matter what (inserting or removing anything, even a simple USB hub) => CPU goes to 100% Restarting pcscd brings CPU back to normal till another USB insert/remove event. Cheers Phil Package: pcscd Version: 1.8.15-1 --- Please enter the report below this line. --- --- System information. --- Architecture: amd64 Kernel: Linux 4.5.0-rc4-amd64 Debian Release: stretch/sid 900 testing security.debian.org 900 testing ftp.be.debian.org 500 unstable ftp.be.debian.org 500 stable security.debian.org 500 stable ftp.be.debian.org 500 stable dl.google.com 500 debian-stretch apt.dockerproject.org 1 experimental httpredir.debian.org --- Package information. --- Package's Depends field is empty. Package's Recommends field is empty. Package's Suggests field is empty.
00000000 debuglog.c:289:DebugLogSetLevel() debug level=debug 00000025 utils.c:82:GetDaemonPid() Can't open /var/run/pcscd/pcscd.pid: No such file or directory 00000061 configfile.l:281:DBGetReaderListDir() Parsing conf directory: /etc/reader.conf.d 00000139 configfile.l:353:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/libccidtwin 00000182 configfile.l:315:DBGetReaderListDir() Skipping non regular file: . 00000003 configfile.l:315:DBGetReaderListDir() Skipping non regular file: .. 00000004 pcscdaemon.c:567:main() pcsc-lite 1.8.15 daemon ready. 00003391 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001 00000062 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001 00000070 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x0C45, PID: 0x6713, path: /dev/bus/usb/001/008 00000063 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x0C45, PID: 0x6713, path: /dev/bus/usb/001/008 00000059 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001 00000063 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x1050, PID: 0x0115, path: /dev/bus/usb/001/003 00000004 hotplug_libudev.c:433:HPAddDevice() Adding USB device: Yubico Yubikey NEO U2F+CCID 00000022 readerfactory.c:1066:RFInitializeReader() Attempting startup of Yubico Yubikey NEO U2F+CCID 00 00 using /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Linux/libccid.so 00000690 readerfactory.c:951:RFBindFunctions() Loading IFD Handler 3.0 00000104 ifdhandler.c:1950:init_driver() Driver version: 1.4.22 00000357 ifdhandler.c:1967:init_driver() LogLevel: 0x0003 00000003 ifdhandler.c:1978:init_driver() DriverOptions: 0x0000 00000084 ifdhandler.c:110:CreateChannelByNameOrChannel() Lun: 0, device: usb:1050/0115:libudev:0:/dev/bus/usb/001/003 00000010 ccid_usb.c:284:OpenUSBByName() Using: /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist 00000356 ccid_usb.c:302:OpenUSBByName() ifdManufacturerString: Ludovic Rousseau (ludovic.rouss...@free.fr) 00000003 ccid_usb.c:303:OpenUSBByName() ifdProductString: Generic CCID driver 00000001 ccid_usb.c:304:OpenUSBByName() Copyright: This driver is protected by terms of the GNU Lesser General Public License version 2.1, or (at your option) any later version. 00001842 ccid_usb.c:587:OpenUSBByName() Found interface 1 but expecting 0 00000003 ccid_usb.c:589:OpenUSBByName() Wrong interface for USB device 1/3. Checking next one. 00000019 ccid_usb.c:729:OpenUSBByName() Device not found? 00000002 ifdhandler.c:144:CreateChannelByNameOrChannel() failed 00000002 readerfactory.c:1097:RFInitializeReader() Open Port 0x200000 Failed (usb:1050/0115:libudev:0:/dev/bus/usb/001/003) 00000002 readerfactory.c:372:RFAddReader() Yubico Yubikey NEO U2F+CCID init failed. 00000002 readerfactory.c:605:RFRemoveReader() UnrefReader() count was: 1 00000002 readerfactory.c:1117:RFUnInitializeReader() Attempting shutdown of Yubico Yubikey NEO U2F+CCID 00 00. 00000001 readerfactory.c:988:RFUnloadReader() Unloading reader driver. 00000093 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x1050, PID: 0x0115, path: /dev/bus/usb/001/003 00000004 hotplug_libudev.c:433:HPAddDevice() Adding USB device: Yubico Yubikey NEO U2F+CCID 00000019 readerfactory.c:1066:RFInitializeReader() Attempting startup of Yubico Yubikey NEO U2F+CCID 00 00 using /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Linux/libccid.so 00000072 readerfactory.c:951:RFBindFunctions() Loading IFD Handler 3.0 00000012 ifdhandler.c:1950:init_driver() Driver version: 1.4.22 00000365 ifdhandler.c:1967:init_driver() LogLevel: 0x0003 00000003 ifdhandler.c:1978:init_driver() DriverOptions: 0x0000 00000102 ifdhandler.c:110:CreateChannelByNameOrChannel() Lun: 0, device: usb:1050/0115:libudev:1:/dev/bus/usb/001/003 00000008 ccid_usb.c:284:OpenUSBByName() Using: /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist 00000368 ccid_usb.c:302:OpenUSBByName() ifdManufacturerString: Ludovic Rousseau (ludovic.rouss...@free.fr) 00000002 ccid_usb.c:303:OpenUSBByName() ifdProductString: Generic CCID driver 00000002 ccid_usb.c:304:OpenUSBByName() Copyright: This driver is protected by terms of the GNU Lesser General Public License version 2.1, or (at your option) any later version. 00001813 ccid_usb.c:609:OpenUSBByName() Found Vendor/Product: 1050/0115 (Yubico Yubikey NEO U2F+CCID) 00000003 ccid_usb.c:611:OpenUSBByName() Using USB bus/device: 1/3 00000002 ccid_usb.c:663:OpenUSBByName() bNumDataRatesSupported is 0 00025371 ifdhandler.c:376:IFDHGetCapabilities() tag: 0xFB3, usb:1050/0115:libudev:1:/dev/bus/usb/001/003 (lun: 0) 00000014 readerfactory.c:392:RFAddReader() Using the reader polling thread 00000214 ifdhandler.c:376:IFDHGetCapabilities() tag: 0xFAE, usb:1050/0115:libudev:1:/dev/bus/usb/001/003 (lun: 0) 00000009 ifdhandler.c:467:IFDHGetCapabilities() Reader supports 1 slot(s) 00000304 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001 00000121 ifdhandler.c:1143:IFDHPowerICC() action: PowerUp, usb:1050/0115:libudev:1:/dev/bus/usb/001/003 (lun: 0) 00000029 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x0A5C, PID: 0x6410, path: /dev/bus/usb/001/005 00000133 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x0A5C, PID: 0x6410, path: /dev/bus/usb/001/005 00000132 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x0A5C, PID: 0x6410, path: /dev/bus/usb/001/005 00000131 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x0A5C, PID: 0x6410, path: /dev/bus/usb/001/005 00000123 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001 00000129 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x04F3, PID: 0x21D5, path: /dev/bus/usb/001/007 00000193 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0003, path: /dev/bus/usb/002/001 00000057 readerfactory.c:1407:RFWaitForReaderInit() Waiting init for reader: Yubico Yubikey NEO U2F+CCID 00 00 00006056 eventhandler.c:286:EHStatusHandlerThread() powerState: POWER_STATE_POWERED 00000031 Card ATR: 3B FC 13 00 00 81 31 FE 15 59 75 62 69 6B 65 79 4E 45 4F 72 33 E1 05000619 ifdhandler.c:1143:IFDHPowerICC() action: PowerDown, usb:1050/0115:libudev:1:/dev/bus/usb/001/003 (lun: 0) 00000157 eventhandler.c:479:EHStatusHandlerThread() powerState: POWER_STATE_UNPOWERED 99999999 hotplug_libudev.c:648:HPEstablishUSBNotifications() USB Device add 00000340 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x2109, PID: 0x0812, path: /dev/bus/usb/002/003 00009683 hotplug_libudev.c:648:HPEstablishUSBNotifications() USB Device add 00000108 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x2109, PID: 0x2812, path: /dev/bus/usb/001/013 00590773 hotplug_libudev.c:648:HPEstablishUSBNotifications() USB Device add 00000089 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x18D1, PID: 0x4EE2, path: /dev/bus/usb/001/014 01003200 hotplug_libudev.c:648:HPEstablishUSBNotifications() USB Device add 00000119 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x0CF3, PID: 0x9271, path: /dev/bus/usb/001/015 00000052 hotplug_libudev.c:648:HPEstablishUSBNotifications() USB Device add 00000207 hotplug_libudev.c:294:get_driver() Looking for a driver for VID: 0x18D1, PID: 0x4EE2, path: /dev/bus/usb/001/014 40736917 winscard_msg_srv.c:251:ProcessEventsServer() Common channel packet arrival 00000047 winscard_msg_srv.c:263:ProcessEventsServer() ProcessCommonChannelRequest detects: 18 00000002 pcscdaemon.c:132:SVCServiceRunLoop() A new context thread creation is requested: 18 00000067 winscard_svc.c:329:ContextThread() Authorized PC/SC client 00000002 winscard_svc.c:333:ContextThread() Thread is started: dwClientID=18, threadContext @0x1088cf0 00000005 winscard_svc.c:351:ContextThread() Received command: CMD_VERSION from client 18 00000002 winscard_svc.c:363:ContextThread() Client is protocol version 4:3 00000001 winscard_svc.c:383:ContextThread() CMD_VERSION rv=0x0 for client 18 00000032 winscard_svc.c:351:ContextThread() Received command: ESTABLISH_CONTEXT from client 18 00000006 winscard.c:213:SCardEstablishContext() Establishing Context: 0x2CC46595 00000001 winscard_svc.c:444:ContextThread() ESTABLISH_CONTEXT rv=0x0 for client 18 00000063 winscard_svc.c:351:ContextThread() Received command: CMD_GET_READERS_STATE from client 18 00000038 winscard_svc.c:351:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 18 00000011 winscard_svc.c:351:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 18 00000002 winscard_svc.c:425:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 18 00000009 winscard_svc.c:351:ContextThread() Received command: CMD_GET_READERS_STATE from client 18 00000028 winscard_svc.c:351:ContextThread() Received command: CMD_GET_READERS_STATE from client 18 00000027 winscard_svc.c:351:ContextThread() Received command: CMD_GET_READERS_STATE from client 18 00000013 winscard_svc.c:351:ContextThread() Received command: CMD_GET_READERS_STATE from client 18 00031271 winscard_svc.c:351:ContextThread() Received command: CMD_GET_READERS_STATE from client 18 00000140 winscard_svc.c:351:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 18