Hello,
I'm currently stress testing pcscd by removing my Aladdin token
and inserting it again on a different USB ports.
(and then repeat it again and again with increasing speed)
This works for some time (~3min) then I get errors from pcscd.
Installed Software (Ubuntu 11.10-32bit):
- pcscd 1.8.3
- ccid 1.4.6
- libusb 1.0.9
Up to now I have identified 3 error conditions A,B,C
A) Just had this:
00000024 ccid_usb.c:648:WriteUSB() write failed (2/9): -4 No such device
00000075 readerfactory.c:863:RFUnloadReader() Unloading reader driver.
00000110 winscard_svc.c:731:MSGSignalClient() Signal client: 9
00000019 winscard_svc.c:734:MSGSignalClient() SIGNAL rv=0x0 for client 9
00000765 winscard_svc.c:315:ContextThread() Received command:
CMD_GET_READERS_STATE from client 9
Segmentation fault
(Sorry, no core, after that I did ulimit -c unlimited, but it
did not happened again)
B) Another one is an endless loop of:
00400200 ccid_usb.c:648:WriteUSB() write failed (2/49): -4 No such device
00000031 ifdwrapper.c:341:IFDStatusICC() Card not transacted: 617
00000047 utils.c:68:SendHotplugSignal() Send hotplug signal to pcscd
(pid=12876)
01000157 eventhandler.c:303:EHStatusHandlerThread() Error communicating to:
Aladdin eToken PRO USB 72K Java [Main Interface] 00 00
00400179 ccid_usb.c:648:WriteUSB() write failed (2/49): -4 No such device
00000028 ifdwrapper.c:341:IFDStatusICC() Card not transacted: 617
00000048 utils.c:68:SendHotplugSignal() Send hotplug signal to pcscd
(pid=12876)
01000197 eventhandler.c:303:EHStatusHandlerThread() Error communicating to:
Aladdin eToken PRO USB 72K Java [Main Interface] 00 00
By that time no scard user program is runnig and no token is plugged in,
but pcscd endlessly print this pattern. Inserting the token again
does not exits this pattern. This pattern is the most common.
C) Another one is an endless loop of:
here2
00000011 ccid_usb.c:648:WriteUSB() write failed (2/76): -4 No such device
here2
00000012 ccid_usb.c:648:WriteUSB() write failed (2/76): -4 No such device
Where I put a printf commands.c ~ line 2121:
printf("here2\n");
if (WritePort(reader_index, 10+length, cmd) != STATUS_SUCCESS)
return IFD_COMMUNICATION_ERROR;
Like in B) I can add/remove the token but it repeats only
these two lines. (very fast, which almost blocks X/xterm),
but it does not leave the pattern. This does not happen so often.
The patterns in increasing order (how often they happen): A<C<B
My pcscd is started on the commandline, and systemd cannot start it
automatically
/usr/sbin/pcscd, because I have removed it with rm (including libpcsclite)
I debugged it a bit more, and though it had to do with SCardControl
The pkcs11 issued a SCardControl with:
dwControlCode:0x9c4125c4
cbOutBufferSize=0x0
pvInBuffer:0x(nil)
I get back from pcscd : Failure: Sharing violation. (0x8010000b)
I then did an assert/exit and arrived in pattern B. But I could
not reproduce it.
I dont know if its a problem in pcscd or in the application.
regards,
Martin
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle