Project

General

Profile

Feature #161

Enhance IFD-Robustness

Added by Detlef Hühnlein over 6 years ago. Updated 10 months ago.

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

0%

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)

History

#1 Updated by Tobias Wich over 6 years ago

  • Target version deleted (4)

#2 Updated by Detlef Hühnlein about 6 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]

#3 Updated by Detlef Hühnlein about 6 years ago

  • Priority changed from Normal to High

#4 Updated by Tobias Wich about 5 years ago

  • Target version set to 1.x

#5 Updated by Tobias Wich 10 months ago

  • Status changed from New to Closed

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

Also available in: Atom PDF