Java Card アプレットにバグがあるとします。一時的なバイト配列が RAM ではなく EEPROM に保存されます。さらに、このバイト配列は APDU ごとに上書きされるとします。
このバグは、遅かれ早かれカードを損傷するはずです。
どのような症状が予想されるでしょうか? 明示的な警告やエラーがなくても、配列内の値が正しくありませんか? この配列にアクセスするときにいくつかの例外がスローされましたか? アプレットが選択できない?カード全体が完全に応答しませんか?
カードは「一度だけ永久に」破損する必要がありますか?それとも、これらの障害がますます頻繁に発生するのでしょうか?
私の実験 (J2E145) では、5 000 000 APDU の後に最初の障害が発生し、その症状は、カードが R-APDU をまったく送信せず、単に停止したというものでした。しかし、次の APDU は再び OK になり、その後 10000 回のうち約 1 回の APDU が失敗し (頻度は増加)、最終的に 5 100000 回の APDU の後、カードは完全に通信を停止しました。
EEPROM が損傷した場合に何が起こるべきかを示す標準はありますか? (探しましたが、見つかりませんでした。)
質問が広範であり、おそらく特定のチップに依存していることは承知していますが (私は特に NXP チップに興味があります)、あなたのコメント、回答、および経験は、展開後にコードにバグを発見した多くの Java Card 開発者に役立つと思います。