パスワードを忘れた? アカウント作成
15207424 story
マイクロソフト

接触通知アプリCOCOAの不具合、Xamarinを使用したことが一因か? 204

ストーリー by nagazou
合理的にやろうとしたけれど 部門より

Android版で接触通知が行われないという致命的なバグのあった「接触通知アプリCOCOA」だが、iPhoneにも使用日数が数日毎にリセットされるといった致命的な不具合が複数報告されている(Togetter)。yprestoさんのツイートによると

COCOA iOSが初期化されるバグ、Xamarin.Formsがファイルを削除→移動している箇所でbreakpointで止めて、そのままアプリを落とすと、確かに初期化されることを確認しました(Githabへの書き込み

とのこと。タレコミ元のTogetterまとめにあるようにXamarin自体にバグがあったかどうかかは別として、発注や運用に問題があったといわれても仕方ない状況ではあるようだ。

あるAnonymous Coward 曰く、

Android版に致命的な不具合があったことが判明したCOCOA、iPhoneにも致命的な不具合が生じているとの報告が多く、平井卓也デジタル改革担当相もiPhoneでも起きている可能性について十分あると記者会見で述べたが、最近になってその原因の可能性として、COCOAの実装に使われているマルチプラットフォーム化中間フレームワーク「Xamarin」のコアにレースコンディションのバグがあることが発見された。まとめ「COCOA iPhone版のリセット不具合 Xamarinの基礎的欠陥が発見される」によると、設定情報を保存したプロパティをシリアライズしてファイルに書き出すロジックで、「.tmp」に書き出したのちに、元のファイルを削除してから、「.tmp」を元のファイル名にリネームすするコードが書かれているという。そのため、削除してリネームするまでの間に、プロセスがOSにより強制終了されると、設定ファイルが消失し、アプリが初期化されてしまうという。

情報元へのリンク

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 通報が届いてなかったとかに比べりゃどってことなくね?

  • かなり謎な理論に感じますが・・・

    • by Anonymous Coward

      フレームワークにバグがあること自体は発注や運用の責任ではないが、アプリ利用中にフレームワークが誤動作することのを気がつかずに何ヶ月も配布していたのは明らかに発注や運用の責任だろう。

    • by Anonymous Coward

      マジレスを期待されてないかもだが・・・
      このレベルの不具合を検知する手当すら打ってなかったの?
      ってことかと
      (現場というより上位層の手抜きの問題)

    • by Anonymous Coward

      いまの発注運用体制なら、どのフレームワーク(あるいはネイティブ)を使っても似たような状況になっていただろう

  • by Anonymous Coward on 2021年02月16日 12時18分 (#3978694)

    何が別としてなの?

  • by Anonymous Coward on 2021年02月16日 12時24分 (#3978697)

    アプリのコードは問題ないように見えるのに意図した通りに動かないのは、
    OSやライブラリ(ときにはプロセッサ)のバグに起因していた、なんてのもよくある話。

    炎上してるのは、
    「それでもちゃんとテストしてれば、はじけたはずだろ」ってことと、
    「ユーザーからバグ報告が上がってるのに放置すんなよ」ってことやね。

    だれかやつらに「テスト駆動開発」について教えてやってくれ。

    • by Anonymous Coward

      普通の事と断言するほどに発生頻度が高く
      普通の事と断言するほど予防できず見逃しも多い、と。。

    • by Anonymous Coward

      こんなのテストしても原因わからんよ。

      • by Anonymous Coward

        テストに幻想抱きすぎだよな
        仕事は段取りってよく言うように実装用の設計時に品質はだいたい決まる

  • by Anonymous Coward on 2021年02月16日 12時25分 (#3978698)

    COCOAをディスコンして
    どこかの国でうまく運用できているアプリをそのまま輸入して公式にしちゃダメなの?
    それぞれの国で開発しなきゃいけない理由はなんかあるの?

    • by Anonymous Coward

      本質的には行動追跡のアプリだからそれを他国に任せたら他国に自国民の行動筒抜けになる可能性があるからじゃね

    • by Anonymous Coward

      >それぞれの国で開発しなきゃいけない理由はなんかあるの?

      それぞれの国で法律や対応策が異なるからですよ。

      例えば評価の高い台湾やシンガポールのアプリでは、国民番号に紐付き24時間GPSで追跡し警察なども参照可能で
      職員からの問い合わせに応答しない場合には録音録画が開始され大音量のアラームが鳴り通報します。

      スマートフォン持たずに出歩くと刑事罰で全国民がインストール必須でアンインストールも禁止です。

      日本で導入できますか?

      • by Anonymous Coward on 2021年02月16日 16時31分 (#3978925)

        例えば評価の高い台湾やシンガポールのアプリでは、国民番号に紐付き24時間GPSで追跡し警察なども参照可能で
        職員からの問い合わせに応答しない場合には録音録画が開始され大音量のアラームが鳴り通報します。

        今台湾に住んでいますが、そんなアプリ聞いたことも無い。というか接触確認アプリ自体話題になる事がない。
        観光地などの施設では記名制を取り入れている所もあるが、自分が体験したのはノートに入った日時と名前、電話番号を書くのみ。一箇所QRコードを読み取って表示された画面に電話番号と名前を入れる所があったぐらい。
        隔離者の確認は携帯の電波を使用した大まかな位置情報と自治体職員などによる電話での確認のみ(在宅が確認できなければ警察が確認に来るが)。
        台湾の「電子フェンス」 携帯の電波のみで自宅待機者を追跡 [eetimes.jp]

        親コメント
      • by Anonymous Coward

        いやむしろそれ導入したほうがいい。
        権利ばかりかざして責務果たさない愚かな日本人にはお似合いだよ。

      • by Anonymous Coward

        蓮舫さんあたりに、「ここまでやらないとダメなんですよ!」とか
        「甘いこと言っていたら収束できないんですよ!」と言って欲しいわな。

        # 口が裂けても言わないだろうけど。

  • by Anonymous Coward on 2021年02月16日 12時27分 (#3978699)

    OSの処理系依存になるようなファイルI/O部分は共通コードで処理せずに処理系ごとに実装するだろ?
    実行も処理系ごとにしてない、テストもしてないのが問題の本質だろこれ

    • by Anonymous Coward on 2021年02月16日 12時33分 (#3978710)

      それXamarin.Formの開発者に言ってくれ。

      親コメント
      • by Anonymous Coward

        Xamarinでプロジェクト作った時点でiOS/Android用の個別処理を実装できるようになってるんだから、それを使ってiOSならNSUserDefaultsなり、AndroidならSharedPreferenceなり使えよって話よ

        「System.IOの既定の動作としてOS・プラットフォーム判別して環境固有のAPI呼び出しまでやってくれ」と望むならわかるが、それはそれでXamarin.Formの開発者ではなく.NET全体の話だと思う

        • by Anonymous Coward

          じゃあ.Netの開発者に言ってくれ
          なんなんだお前は

  • by Anonymous Coward on 2021年02月16日 12時37分 (#3978717)

    っぱFlutterよ

typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...