Skip to content

docs: add WSL setup and 'Catastrophic failure' troubleshooting#173

Merged
rodoHasArrived merged 1 commit intomainfrom
claude/update-wsl-DM28X
Mar 26, 2026
Merged

docs: add WSL setup and 'Catastrophic failure' troubleshooting#173
rodoHasArrived merged 1 commit intomainfrom
claude/update-wsl-DM28X

Conversation

@rodoHasArrived
Copy link
Copy Markdown
Owner

Windows developers using the Docker-based workflow need WSL 2.
The wsl.exe --update command can silently fail with "Catastrophic
failure" when not run as Administrator or when Windows features
are not fully enabled.

  • Add WSL 2 prerequisite callout to the Windows Installation section
    with a direct link to the new troubleshooting entry
  • Add Troubleshooting Issue deps(nuget): Bump FsUnit.xUnit from 5.6.1 to 7.1.1 #10 covering the "Catastrophic failure"
    error: causes (missing elevation, pending reboot, disabled Windows
    features, corrupted state) and five ordered resolution steps
    (run as Admin, Microsoft Store, GitHub offline install, enable
    Windows features + reboot, full reinstall) plus verification commands

https://claude.ai/code/session_01MAqcBuahYPa7CUZ1hTcYQd

Windows developers using the Docker-based workflow need WSL 2.
The wsl.exe --update command can silently fail with "Catastrophic
failure" when not run as Administrator or when Windows features
are not fully enabled.

- Add WSL 2 prerequisite callout to the Windows Installation section
  with a direct link to the new troubleshooting entry
- Add Troubleshooting Issue #10 covering the "Catastrophic failure"
  error: causes (missing elevation, pending reboot, disabled Windows
  features, corrupted state) and five ordered resolution steps
  (run as Admin, Microsoft Store, GitHub offline install, enable
  Windows features + reboot, full reinstall) plus verification commands

https://claude.ai/code/session_01MAqcBuahYPa7CUZ1hTcYQd
Copilot AI review requested due to automatic review settings March 26, 2026 11:52
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@rodoHasArrived rodoHasArrived merged commit 95d22a9 into main Mar 26, 2026
8 of 10 checks passed
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the documentation for Windows users leveraging Docker-based development by integrating crucial information about Windows Subsystem for Linux 2 (WSL 2). It ensures that developers are aware of the WSL 2 requirement upfront and provides a detailed guide to diagnose and resolve the common "Catastrophic failure" error during WSL updates, streamlining the setup process and reducing potential friction.

Highlights

  • WSL 2 Prerequisite: A clear callout was added to the Windows Installation section, emphasizing that WSL 2 is a prerequisite for Docker-based workflows and linking to a new troubleshooting guide.
  • "Catastrophic failure" Troubleshooting: A new, comprehensive troubleshooting section (deps(nuget): Bump FsUnit.xUnit from 5.6.1 to 7.1.1 #10) was added to address the "Catastrophic failure" error encountered when updating WSL on Windows, detailing causes and providing five ordered resolution steps.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions github-actions Bot added documentation Improvements or additions to documentation size/xs labels Mar 26, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request enhances the docs/HELP.md by adding a prerequisite note for WSL 2 in Docker mode under Windows Installation and a comprehensive troubleshooting guide for "Catastrophic failure" during WSL updates. The review comment suggests clarifying the architecture-specific MSIX bundle filename in the Add-AppxPackage command within the troubleshooting section to avoid user confusion.

Comment thread docs/HELP.md
Download the latest `.msixbundle` from the [WSL releases page](https://github.com/microsoft/WSL/releases)
and double-click to install, or install from an elevated PowerShell:
```powershell
Add-AppxPackage .\Microsoft.WSL_<version>_x64_ARM64.msixbundle
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The filename Microsoft.WSL_<version>_x64_ARM64.msixbundle in the Add-AppxPackage command might be misleading. Typically, MSIX bundles are specific to an architecture (e.g., _x64 or _ARM64), not a combined one. Please clarify that users should select the appropriate architecture-specific bundle from the GitHub releases page. For example, Microsoft.WSL_<version>_x64.msixbundle for x64 systems.

Suggested change
Add-AppxPackage .\Microsoft.WSL_<version>_x64_ARM64.msixbundle
Add-AppxPackage .\Microsoft.WSL_<version>_x64.msixbundle

@github-actions
Copy link
Copy Markdown
Contributor

🔍 Copilot Code Review — Six-Lens Analysis

Build Tests

⚠️ REQUEST CHANGES — 3 warning(s) and 0 info item(s) should be addressed.

📋 Summary

Metric Value
Files reviewed 11
🔴 Critical 0
🟡 Warning 3
🔵 Info 0
Build errors 5
Tests passed 3287 / 3289
📁 Changed files (11)
  • src/Meridian.Backtesting.Sdk/BacktestRequest.cs
  • src/Meridian.Backtesting/Engine/BacktestEngine.cs
  • src/Meridian.Contracts/Workstation/StrategyRunReadModels.cs
  • src/Meridian.Strategies/Services/StrategyRunReadService.cs
  • src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs
  • src/Meridian.Wpf/App.xaml.cs
  • src/Meridian.Wpf/Services/NavigationService.cs
  • src/Meridian.Wpf/Views/ExportPresetsPage.xaml.cs
  • src/Meridian.Wpf/Views/Pages.cs
  • src/Meridian.Wpf/Views/ServiceManagerPage.xaml.cs
  • tests/Meridian.Tests/Ui/WorkstationEndpointsTests.cs

⚡ Real-Time Performance

  • [P-WARNING] Meridian.Wpf/App.xaml.cs: Task.Run used for I/O-bound work — wastes thread-pool threads; use await directly.

🛡️ Error Handling & Resilience

  • [E-WARNING] Meridian.Wpf/App.xaml.cs: Bare catch (Exception) — use specific types from Core/Exceptions/ (e.g. DataProviderException, StorageException).
  • [E-WARNING] Meridian.Wpf/Services/NavigationService.cs: Bare catch (Exception) — use specific types from Core/Exceptions/ (e.g. DataProviderException, StorageException).

ℹ️ About this review

This review applies the six-lens framework from code-review-agent.md:

  1. 🏗️ MVVM Architecture — thin code-behind, BindableBase, dependency rules
  2. Real-Time Performance — blocking calls, hot-path allocations, channel policies, ADR-014 JSON
  3. 🛡️ Error Handling & Resilience — exception hierarchy, provider reconnection, shutdown paths
  4. 🧪 Test Quality — naming convention, async patterns, no sleep/delay
  5. 🔌 Provider Compliance — interface completeness, rate limiting, [ImplementsAdr] attributes
  6. 📐 Conventions — structured logging, IHttpClientFactory, sealed classes, ADRs

Severity scale: 🔴 CRITICAL (must fix before merge) · 🟡 WARNING (should address) · 🔵 INFO (minor)

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Six-Lens Code Review — 0 critical issue(s) detected. See the detailed comment above for all findings.

@github-actions
Copy link
Copy Markdown
Contributor

📚 Documentation Automation Summary

Metric Value
Any changes detected true
Generated docs changed false
Changed files none
Total TODOs N/A
Untracked TODOs N/A
DocFX build failure
Pages deploy skipped

This comment is updated automatically by the Documentation Automation workflow.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Windows/WSL 2 guidance to the developer help docs to reduce friction for Docker-based workflows on Windows, including targeted troubleshooting for the wsl.exe --update “Catastrophic failure” error.

Changes:

  • Added a WSL 2 prerequisite callout in the Windows Installation section, linking to the relevant troubleshooting entry.
  • Added Troubleshooting Issue #10 describing common causes and ordered remediation steps for “Catastrophic failure” during WSL update.
  • Added post-fix verification commands and a pointer to re-run the Docker-mode installer.

Comment thread docs/HELP.md
Download the latest `.msixbundle` from the [WSL releases page](https://github.com/microsoft/WSL/releases)
and double-click to install, or install from an elevated PowerShell:
```powershell
Add-AppxPackage .\Microsoft.WSL_<version>_x64_ARM64.msixbundle
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This command example isn’t copy/paste runnable because it includes a <version> placeholder and a very specific filename. Consider either explicitly instructing the reader to replace it with the downloaded filename, or use a wildcard example (e.g., Add-AppxPackage .\Microsoft.WSL*.msixbundle) so the snippet works as-is.

Suggested change
Add-AppxPackage .\Microsoft.WSL_<version>_x64_ARM64.msixbundle
Add-AppxPackage .\Microsoft.WSL*.msixbundle

Copilot uses AI. Check for mistakes.
Comment thread docs/HELP.md
Comment on lines +1997 to +1998
# Run as Administrator — replaces the existing WSL installation
wsl --install
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The note here is inaccurate: wsl --install does not “replace the existing WSL installation”; it typically no-ops if WSL is already installed. Consider changing this to an actual reset/uninstall sequence (e.g., wsl --shutdown, unregister distros if needed, uninstall the WSL app / disable features, reboot, then reinstall).

Suggested change
# Run as Administrator — replaces the existing WSL installation
wsl --install
# Run as Administrator — this will fully reset WSL and remove distros/data
# 1) Stop WSL
wsl --shutdown
# 2) (Optional but recommended) Remove broken distros
# WARNING: This deletes the selected distro and its Linux filesystem.
# Replace <DistroName> with a name from `wsl --list`.
# wsl --unregister <DistroName>
# 3) Disable WSL features
dism.exe /online /disable-feature /featurename:VirtualMachinePlatform /norestart
dism.exe /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart
# 4) Reboot to complete feature removal
Restart-Computer
# 5) After reboot, repeat step 4 above to re-enable WSL features and run:
# wsl --set-default-version 2
# wsl --update

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/xs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants