Postmortem: 0.8.12
=> 0.8.17
failed to load on Windows
#3946
Labels
😇 postmortem
Critical issue follow to reflect and improve. Not to blame anyone or point fingers!
High-level summary
Versions
0.8.12
=>0.8.16
(inclusive) of the extension did not initialize for Windows users.Timeline
All dates/times are GMT+10.
2023-05-12 - #3856 merged to
main
2023-05-16 -
0.8.12
released to the marketplace and open-vsx2023-05-19 06:30 - User reported on Discord
"The extension is currently unable to initialize" in Windows, with VSCode version 1.78.2, DVC extension v0.8.16
2023-05-19 07:04 - @shcheklein confirmed with the user that he could replicate the behaviour on Windows.
2023-05-19 07:05 - @shcheklein raised the issue with the team in #vs-code-eng
2023-05-19 07:34 - team started to debug
2023-05-19 08:15 - Assumption was made that the issue was caused by importing external ESM packages into the extension code base on Windows
2023-05-19 08:17 - @mattseddon asked the user to try rolling back to
0.8.11
to confirm2023-05-19 08:20 - #3856 was confirmed as the causes of the issue (user non-responsive)
2023-05-19 08:32 - @mattseddon starts working on a fix¹
2023-05-19 14:43 - Revert-ish merged into
main
2023-05-19 14:53 - @mattseddon notified the reporting user on Discord that a fix was being shipped
2023-05-19 15:00 -
0.8.17
released2023-05-20 05:04 - User responded with
Sorry for the delayed response. I know it's late, but I can confirm that 0.8.11 worked when rolling back. And v0.8.18 is working as well! Thanks y'all for the quick work.
¹ Due to the time of day in the rest of the world @mattseddon opted to try and fix the issue instead of immediately rolling back. In the time between starting to work on a fix and
0.8.17
being released various approaches were tried and failed. The process for testing updates was broken in that @mattseddon would send a VSIX to @shcheklein on Slack (see thread).Perf Indicators
Time to notice: 3 days.
Self-healed after: 8.5hrs.
Resolved after: 23hrs.
Impact
The following graphs demonstrate how many Windows users we had for the extension during the time of the incident:
Total users
Users (with at least one active event)
Engaged Users
Root cause analysis
Somewhere between the code being transpiled and bundled by Webpack and then further mangled by VSCE importing of the split out/dynamically imported ESM packages are transformed into a relative import. The problem that this creates in detailed in the following issues:
Importing of ESM packages into VS Code extensions is also marked as problematic here: microsoft/vscode#130367
Personal thoughts
Prevention and next steps
The text was updated successfully, but these errors were encountered: