1 ポイント 投稿者 GN⁺ 2023-12-01 | 1件のコメント | WhatsAppで共有

奇妙なバグの発見と解決の過程

  • 内部ツールチームのオンコール対応中に、Gusto の内部ソフトウェアを使うユーザーが Chrome ブラウザのクラッシュを経験した。
  • この問題はカスタマーサービスにさまざまな支障をもたらした。
  • 問題解決のために、経験豊富な同僚、プロダクトインフラチーム、IT チームの支援を受けた。

最初の手がかり

  • 影響を受けたユーザーに共通点がないか探した。
  • すべての Gusto 社員が影響を受けたわけではなく、顧客向けソフトウェアには問題がなかった。
  • 他の内部ソフトウェアの Web ページは正常に動作した。
  • クラッシュは一貫性なく発生し、Safari や Firefox では問題が起きなかった。

2つ目の手がかり

  • Chrome のバージョンが問題かもしれないという仮説を立てた。
  • 一部のユーザーは Chrome のバージョンを更新すると問題が解決したように見えたが、完全には解決しなかった。
  • Chrome 拡張機能が原因かもしれないと推測したが、拡張機能なしでも問題は再現した。

バグ再現の難しさ

  • インフラチームが全エンジニアに問題の再現を依頼した。
  • トルコの 2 人のエンジニアを除き、エンジニアチームからはクラッシュの報告がなかった。
  • Chrome のクラッシュレポート機能がセキュリティ上の理由で無効化されており、問題解決は困難だった。

幸運な転機

  • デンバーのあるエンジニアが、Grammarly のデスクトップアプリをダウンロードした後に問題が発生したと報告した。
  • Grammarly アプリを削除してコンピューターを再起動すると問題が解消することが分かった。

進展

  • デバッグが可能になると、原因を特定するためにさまざまな試みを行った。
  • 主要な内部アプリケーションは ActiveAdmin を基盤に構築されていたが、React を使う新しい部分ではクラッシュしなかった。
  • 共通コード部分を調査する中で、My History のドロップダウンメニューが原因であることを突き止めた。

問題解決

  • loader-spinner.gif 画像ファイルが問題を引き起こしていることが確認された。
  • その GIF を別の画像に置き換えると、ページはそれ以上クラッシュしなくなった。
  • Grammarly か Chrome のどちらかが問題を修正したのか、今では元の GIF でも Chrome はクラッシュしなくなっている。

結論

  • 予想外のアニメーション GIF がデバッグの答えだった。
  • 好奇心と協力によって問題を解決した。
  • Gusto では、協調的で好奇心旺盛な人々と一緒に働ける機会がある。

GN⁺ の意見

この文章で最も重要なのは、予想外の原因によるバグを発見し解決するまでの過程が詳しく描かれている点だ。ソフトウェアエンジニアリングの複雑さと予測不能さを示すとともに、チームワークと粘り強い問題解決力がいかに重要かを強調している。エンジニアリングチームがどのように協力して難解な問題を解決するのかを示す興味深い事例であり、この分野に関心のある人にとって非常に魅力的な話になっている。

1件のコメント

 
GN⁺ 2023-12-01
Hacker Newsの意見
  • 特定のGIFファイルが原因で発生するバグへの驚きと疑念

    あるユーザーは、コード内で一連の偶然が重なった結果、特定のGIFファイルによってバグが発生するというのは信じがたいと述べた。Grammarlyアプリに対する疑念も示し、多くの人が文法提案を受けるために事実上スパイウェアのようなアプリをインストールし、会社がそれを許可していることに驚きを表した。

  • 大学教授の研究論文作業中に発生した下線印刷の問題

    ある大学教授が研究論文の作業中にテキストの下線が印刷されない問題に遭遇し、これは特定のビデオカードドライバとプリンタドライバの組み合わせが原因であることが判明した。

  • Grammarly関連のバグ体験の共有

    あるユーザーは、過去にGrammarly拡張機能がインストールされていた特定の部署内で似たようなバグを経験したと共有した。これはステージング環境のURLでのみ発生し、誤った正規表現のためにページがフリーズする現象だった。

  • バグ修正への失望の表明

    あるユーザーは、バグ修正の過程を推理小説のように楽しんでいたが、最終的にバグの正確な原因が分からないままになってしまい、失望を表した。

  • WindowsとLinuxのデュアルブート時のオーディオ問題

    Windowsで再起動した後にLinuxで音が出なくなる問題が発生し、これはWindowsがオーディオデバイスを完全にシャットダウンせず、待機モードに移行するためだと突き止めた。

  • 2023年のWeb環境で発生するバグへの興味

    技術の複雑な組み合わせによって発生したバグに興味を示し、Chromiumのバグが解決されたのか気にしていた。

  • Chromeのアクセシビリティツールに関連するバグ体験の共有

    Chromeのアクセシビリティツールが似たようなバグを引き起こした経験を共有し、GrammarlyがChromeのアクセシビリティツールに依存している可能性に言及した。

  • ページ翻訳設定による混乱の共有

    ユーザーが入力した情報の文言が保存時に変更されると主張する問題が発生したが、これはChromeの「このページを翻訳」オプションが有効になっていたことが原因だと判明した。

  • WebサイトのCSSによるLinuxデスクトップクラッシュ体験の共有

    Yahoo検索ページのCSSがRed Hat Linuxでデスクトップクラッシュを引き起こした経験を共有し、Chrome開発チームにバグを報告するよう提案した。

  • バグ解決が重要なセキュリティ脆弱性になり得るという意見

    そのバグを再現・解決できるなら、非常に価値の高いセキュリティ脆弱性になり得るという意見を示した。