Project

General

Profile

Actions

Feature #161

closed

Enhance IFD-Robustness

Added by Detlef Hühnlein over 11 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
High
Assignee:
-
Target version:
Start date:
12/15/2012
Due date:
% Done:

0%

Estimated time:
Reviewer:
Build Version:

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)

Actions #1

Updated by Tobias Wich about 11 years ago

  • Target version deleted (4)
Actions #2

Updated by Detlef Hühnlein about 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.&lt;init&gt;(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.&lt;init&gt;(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.&lt;init&gt;(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.&lt;init&gt;(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.&lt;init&gt;(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.&lt;init&gt;(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.&lt;init&gt;(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.&lt;init&gt;(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]

Actions #3

Updated by Detlef Hühnlein about 11 years ago

  • Priority changed from Normal to High
Actions #4

Updated by Tobias Wich about 10 years ago

  • Target version set to 1.x
Actions #5

Updated by Tobias Wich over 5 years ago

  • Status changed from New to Closed

The robustness has matured in the last years and this is not a problem anymore.

Actions

Also available in: Atom PDF