Closed makmorit closed 1 year ago
結論から申し上げると、macOS側の障害(バグ?)が起因の事象でしたが、管理ツール側がエラーを捕捉できずにハングしたものです。
# 管理ツールでペアリングによる接続検知
2023-04-21 10:12:17.350 [info] FIDO認証器に接続しました。
# nRF5340側で、パスコードが引き渡されないために認証NG-->程なく切断実行
[00:00:36.065,582] <inf> app_bluetooth: Connected
[00:00:36.162,200] <wrn> bt_l2cap: Ignoring data for unknown channel ID 0x003a
[00:00:36.221,069] <wrn> app_bluetooth: Security failed: 3C:22:FB:87:13:5E (public) level 1 err 9
[00:00:36.246,032] <inf> app_bluetooth: Disconnected (reason 0x2a)
# 管理ツールで切断によるエラーは検知。ただし、アプリケーション側ではエラーメッセージ表示等のロジックが存在せず、結果ハング状態に遷移
2023-04-21 10:12:17.754 [error] BLE disconnected with message: Error Domain=CBErrorDomain Code=6 "The connection has timed out unexpectedly." UserInfo={NSLocalizedDescription=The connection has timed out unexpectedly.}
この障害が発生時、macOS側では、ペアリング時に表示されるはずのパスコード入力画面(ポップアップ)が表示されませんでした。 OS側の障害(バグ?)であることは明白なのですが、このような特殊ケースに備え、macOSでパスコード入力画面が表示されないで接続された場合、macOS版管理ツールがエラーとして捕捉し、ポップアップメッセージを表示する等ユーザーに報告させるようにします。 (結果、ハングしないようにします)
ちなみにこのようなケースでは、ペアリングを再試行-->パスコードを入力すれば、ペアリング処理が問題なく成功することを確認しております。
2b0a8beの対応により、管理ツール側でエラーを捕捉した場合、ユーザーに必ず報告されるよう実装いたしました。 ただし何度か再試行しましたが、本件事象が再現されないため、このまま本プルリクエストをOpenにした状態で、再現待ちとさせていただきたく存じます。
対策後、事象が再現しなかったため一旦クローズいたします。
概要
macOS版管理ツールが、nRF5340基板に対しペアリング実行時「ペアリングを開始します。」メッセージを出力したまま、制御が戻らずハングしてしまう不具合が確認されています。