Il giorno dom, 03/01/2016 alle 20.33 +0100, Ludovic Rousseau ha scritto: > I guess your problem comes from the ACS driver. > > Try to run pcscd inside gdb to generate a backtrace. > Do something like: > $ sudo gdb /usr/sbin/pcscd > (gdb) set args -dfa > (gdb) run > > then start opensc-tool > pcscd should crash > > in gdb use: > (gdb) backtrace >
Yes, you are right: the crash is in the IFD handler. For the records, here the backtrace: #0 __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:36 #1 0x00007ffff720c3ad in T1_ExchangeData () from /usr/lib/pcsc/drivers/acsAcr30.bundle/Contents/Linux/acsAcr30 #2 0x00007ffff720c78d in IFDHTransmitToICC () from /usr/lib/pcsc/drivers/acsAcr30.bundle/Contents/Linux/acsAcr30 #3 0x00000000004073d5 in IFDTransmit (rContext=0x61f010, pioTxPci=..., pucTxBuffer=pucTxBuffer@entry=0x7ffff5f9aeb0 "", dwTxLength=dwTxLength@entry=20, pucRxBuffer=pucRxBuffer@entry=0x7ffff5faaec0 "", pdwRxLength=0x7ffff5f9aca8, pioRxPci=0x7ffff5f9acb0) at ifdwrapper.c:530 #4 0x0000000000411563 in SCardTransmit (hCard=<optimized out>, pioSendPci=pioSendPci@entry=0x7ffff5f9ad50, pbSendBuffer=pbSendBuffer@entry=0x7ffff5f9aeb0 "", cbSendLength=20, pioRecvPci=pioRecvPci@entry=0x7ffff5f9ad60, pbRecvBuffer=pbRecvBuffer@entry=0x7ffff5faaec0 "", pcbRecvLength=0x7ffff5f9ad38) at winscard.c:1617 #5 0x0000000000412de1 in ContextThread (newContext=0x62fea0) at winscard_svc.c:641 #6 0x00007ffff77b9284 in start_thread (arg=0x7ffff5fbb700) at pthread_create.c:333 #7 0x00007ffff74f674d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 I cannot fix it, regrettably I do not have enough time to learn everything needed... :) It is a pity, though, because the driver has been written by David Corcoran, a name I read often in pcsc-lite source: it could have been a device more, just like ACR38U. So, sorry for the noise, feel free to close the (non-)bug. Thanks for your support and your work. -- Alessio Gaeta