Feature #161
closedEnhance IFD-Robustness
0%
Description
The IFD-Layer should be more robust with respect to communication errors
due to device, device driver or connection errors.
In particular the following cases should be considered:
- connected IFDs are permanently blocked by other software
- connected IFDs are sporadically blocked by other software
- IFD is not working properly
- RFID-connection is lost during complex transaction (e.g. EAC)
Updated by Detlef Hühnlein over 11 years ago
...
der Kartenleser hatte sich aufgehangen und wenn man die Open eCard App startete ist im Logfile eine Exception Loop sichtbar.
Ganze 89660 Mal mit dieser Exception:
Caused by: sun.security.smartcardio.PCSCException: SCARD_W_UNRESPONSIVE_CARD
In der Zeitspanne von ~ 2 Minuten (2013-03-22 11:56:24,359 -- 2013-03-22 11:58:43,687)
Gruß
Patrik Schwieger
Teilauszug aus dem 266 MB Logfile:
2013-03-22 11:56:24,359 [pool-3-thread-1] WARN o.o.ifd.scio.wrapper.SCTerminal:152 - http://www.bsi.bund.de/ecard/api/1.1/resultminor/al/common#unknownError > connect() failed
org.openecard.ifd.scio.IFDException: http://www.bsi.bund.de/ecard/api/1.1/resultminor/al/common#unknownError > connect() failed
at org.openecard.common.ECardException.makeException(ECardException.java:70) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:75) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:78) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:81) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.IFDException.<init>(IFDException.java:50) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.wrapper.SCTerminal.getStatus(SCTerminal.java:151) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.IFD.getStatus(IFD.java:367) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.EventManager.ifdStatus(EventManager.java:90) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.EventRunner.call(EventRunner.java:61) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.EventRunner.call(EventRunner.java:40) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_43]
at java.lang.Thread.run(Unknown Source) [na:1.6.0_43]
Caused by: javax.smartcardio.CardException: connect() failed
at sun.security.smartcardio.TerminalImpl.connect(Unknown Source) ~[na:1.6.0_43]
at org.openecard.ifd.scio.wrapper.SCTerminal.getStatus(SCTerminal.java:142) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
... 9 common frames omitted
Caused by: sun.security.smartcardio.PCSCException: SCARD_W_UNRESPONSIVE_CARD
at sun.security.smartcardio.PCSC.SCardConnect(Native Method) ~[na:1.6.0_43]
at sun.security.smartcardio.CardImpl.<init>(Unknown Source) ~[na:1.6.0_43]
... 11 common frames omitted
2013-03-22 11:56:24,375 [pool-3-thread-1] WARN org.openecard.ifd.scio.IFD:371 - http://www.bsi.bund.de/ecard/api/1.1/resultminor/al/common#unknownError > connect() failed
org.openecard.ifd.scio.IFDException: http://www.bsi.bund.de/ecard/api/1.1/resultminor/al/common#unknownError > connect() failed
at org.openecard.common.ECardException.makeException(ECardException.java:70) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:75) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:78) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:81) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.IFDException.<init>(IFDException.java:50) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.wrapper.SCTerminal.getStatus(SCTerminal.java:151) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.IFD.getStatus(IFD.java:367) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.EventManager.ifdStatus(EventManager.java:90) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.EventRunner.call(EventRunner.java:61) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.EventRunner.call(EventRunner.java:40) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_43]
at java.lang.Thread.run(Unknown Source) [na:1.6.0_43]
Caused by: javax.smartcardio.CardException: connect() failed
at sun.security.smartcardio.TerminalImpl.connect(Unknown Source) ~[na:1.6.0_43]
at org.openecard.ifd.scio.wrapper.SCTerminal.getStatus(SCTerminal.java:142) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
... 9 common frames omitted
Caused by: sun.security.smartcardio.PCSCException: SCARD_W_UNRESPONSIVE_CARD
at sun.security.smartcardio.PCSC.SCardConnect(Native Method) ~[na:1.6.0_43]
at sun.security.smartcardio.CardImpl.<init>(Unknown Source) ~[na:1.6.0_43]
... 11 common frames omitted
2013-03-22 11:56:24,375 [pool-3-thread-1] WARN org.openecard.event.EventRunner:69 - GetStatus returned with error.
org.openecard.common.WSHelper$WSException: http://www.bsi.bund.de/ecard/api/1.1/resultminor/al/common#unknownError > connect() failed
at org.openecard.common.ECardException.makeException(ECardException.java:64) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.WSHelper$WSException.<init>(WSHelper.java:43) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.WSHelper.checkResult(WSHelper.java:65) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.EventManager.ifdStatus(EventManager.java:93) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.EventRunner.call(EventRunner.java:61) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.EventRunner.call(EventRunner.java:40) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_43]
at java.lang.Thread.run(Unknown Source) [na:1.6.0_43]
2013-03-22 11:56:24,375 [pool-3-thread-2] WARN o.o.ifd.scio.wrapper.SCTerminal:152 - http://www.bsi.bund.de/ecard/api/1.1/resultminor/al/common#unknownError > connect() failed
org.openecard.ifd.scio.IFDException: http://www.bsi.bund.de/ecard/api/1.1/resultminor/al/common#unknownError > connect() failed
at org.openecard.common.ECardException.makeException(ECardException.java:70) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:75) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:78) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:81) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.IFDException.<init>(IFDException.java:50) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.wrapper.SCTerminal.getStatus(SCTerminal.java:151) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.IFD.getStatus(IFD.java:367) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.IFD.wait(IFD.java:416) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.WaitFuture.call(WaitFuture.java:53) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.WaitFuture.call(WaitFuture.java:38) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_43]
at java.lang.Thread.run(Unknown Source) [na:1.6.0_43]
Caused by: javax.smartcardio.CardException: connect() failed
at sun.security.smartcardio.TerminalImpl.connect(Unknown Source) ~[na:1.6.0_43]
at org.openecard.ifd.scio.wrapper.SCTerminal.getStatus(SCTerminal.java:142) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
... 9 common frames omitted
Caused by: sun.security.smartcardio.PCSCException: SCARD_W_UNRESPONSIVE_CARD
at sun.security.smartcardio.PCSC.SCardConnect(Native Method) ~[na:1.6.0_43]
at sun.security.smartcardio.CardImpl.<init>(Unknown Source) ~[na:1.6.0_43]
... 11 common frames omitted
2013-03-22 11:56:24,375 [pool-3-thread-2] WARN org.openecard.ifd.scio.IFD:371 - http://www.bsi.bund.de/ecard/api/1.1/resultminor/al/common#unknownError > connect() failed
org.openecard.ifd.scio.IFDException: http://www.bsi.bund.de/ecard/api/1.1/resultminor/al/common#unknownError > connect() failed
at org.openecard.common.ECardException.makeException(ECardException.java:70) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:75) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:78) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:81) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.IFDException.<init>(IFDException.java:50) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.wrapper.SCTerminal.getStatus(SCTerminal.java:151) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.IFD.getStatus(IFD.java:367) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.IFD.wait(IFD.java:416) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.WaitFuture.call(WaitFuture.java:53) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.WaitFuture.call(WaitFuture.java:38) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_43]
at java.lang.Thread.run(Unknown Source) [na:1.6.0_43]
Caused by: javax.smartcardio.CardException: connect() failed
at sun.security.smartcardio.TerminalImpl.connect(Unknown Source) ~[na:1.6.0_43]
at org.openecard.ifd.scio.wrapper.SCTerminal.getStatus(SCTerminal.java:142) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
... 9 common frames omitted
Caused by: sun.security.smartcardio.PCSCException: SCARD_W_UNRESPONSIVE_CARD
at sun.security.smartcardio.PCSC.SCardConnect(Native Method) ~[na:1.6.0_43]
at sun.security.smartcardio.CardImpl.<init>(Unknown Source) ~[na:1.6.0_43]
... 11 common frames omitted
2013-03-22 11:56:24,375 [pool-3-thread-2] WARN org.openecard.event.WaitFuture:58 - http://www.bsi.bund.de/ecard/api/1.1/resultminor/al/common#unknownError > connect() failed
org.openecard.common.WSHelper$WSException: http://www.bsi.bund.de/ecard/api/1.1/resultminor/al/common#unknownError > connect() failed
at org.openecard.common.ECardException.makeException(ECardException.java:64) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.WSHelper$WSException.<init>(WSHelper.java:43) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.WSHelper.checkResult(WSHelper.java:65) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.WaitFuture.call(WaitFuture.java:55) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.WaitFuture.call(WaitFuture.java:38) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_43]
at java.lang.Thread.run(Unknown Source) [na:1.6.0_43]
2013-03-22 11:56:24,375 [pool-3-thread-1] WARN o.o.ifd.scio.wrapper.SCTerminal:152 - http://www.bsi.bund.de/ecard/api/1.1/resultminor/al/common#unknownError > connect() failed
org.openecard.ifd.scio.IFDException: http://www.bsi.bund.de/ecard/api/1.1/resultminor/al/common#unknownError > connect() failed
at org.openecard.common.ECardException.makeException(ECardException.java:70) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:75) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:78) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:81) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.IFDException.<init>(IFDException.java:50) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.wrapper.SCTerminal.getStatus(SCTerminal.java:151) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.IFD.getStatus(IFD.java:367) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.EventManager.ifdStatus(EventManager.java:90) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.EventRunner.call(EventRunner.java:61) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.EventRunner.call(EventRunner.java:40) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_43]
at java.lang.Thread.run(Unknown Source) [na:1.6.0_43]
Caused by: javax.smartcardio.CardException: connect() failed
at sun.security.smartcardio.TerminalImpl.connect(Unknown Source) ~[na:1.6.0_43]
at org.openecard.ifd.scio.wrapper.SCTerminal.getStatus(SCTerminal.java:142) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
... 9 common frames omitted
Caused by: sun.security.smartcardio.PCSCException: SCARD_W_UNRESPONSIVE_CARD
at sun.security.smartcardio.PCSC.SCardConnect(Native Method) ~[na:1.6.0_43]
at sun.security.smartcardio.CardImpl.<init>(Unknown Source) ~[na:1.6.0_43]
... 11 common frames omitted
2013-03-22 11:56:24,375 [pool-3-thread-1] WARN org.openecard.ifd.scio.IFD:371 - http://www.bsi.bund.de/ecard/api/1.1/resultminor/al/common#unknownError > connect() failed
org.openecard.ifd.scio.IFDException: http://www.bsi.bund.de/ecard/api/1.1/resultminor/al/common#unknownError ==> connect() failed
at org.openecard.common.ECardException.makeException(ECardException.java:70) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:75) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:78) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.common.ECardException.makeException(ECardException.java:81) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.IFDException.<init>(IFDException.java:50) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.wrapper.SCTerminal.getStatus(SCTerminal.java:151) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.ifd.scio.IFD.getStatus(IFD.java:367) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.EventManager.ifdStatus(EventManager.java:90) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.EventRunner.call(EventRunner.java:61) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at org.openecard.event.EventRunner.call(EventRunner.java:40) [richclient-1.0.1-SNAPSHOT-20130313.jar:na]
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_43]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_43]
at java.lang.Thread.run(Unknown Source) [na:1.6.0_43]
Caused by: javax.smartcardio.CardException: connect() failed
at sun.security.smartcardio.TerminalImpl.connect(Unknown Source) ~[na:1.6.0_43]
at org.openecard.ifd.scio.wrapper.SCTerminal.getStatus(SCTerminal.java:142) ~[richclient-1.0.1-SNAPSHOT-20130313.jar:na]
... 9 common frames omitted
Caused by: sun.security.smartcardio.PCSCException: SCARD_W_UNRESPONSIVE_CARD
at sun.security.smartcardio.PCSC.SCardConnect(Native Method) ~[na:1.6.0_43]
at sun.security.smartcardio.CardImpl.<init>(Unknown Source) ~[na:1.6.0_43]
Updated by Detlef Hühnlein over 11 years ago
- Priority changed from Normal to High
Updated by Tobias Wich over 6 years ago
- Status changed from New to Closed
The robustness has matured in the last years and this is not a problem anymore.