MSI Game Bar Widget (Companion 3.0.32.0) – Display Metrics User Settings Not Persistent

SiriusBlack1971

New member
Joined
Jun 22, 2025
Messages
2
Maybe others who use (or wish to use) MSI Companion experience the same annoying problem, so I post my findings here.
I have just reported this systematic issue to MSI via Ticket: a persistent and reproducible crash affecting the MSI Game Bar Widget (Gamebar_Widget.exe).

The issue has been occurring for several weeks and results in:
  • Continuous crashes of Gamebar_Widget.exe
  • Loss of all widget configuration, especially CPU/GPU metrics
  • Recreation of the UWP LocalState container after every crash
  • Inability to persist any user settings
This behavior makes the widget effectively unusable.

Crash Details

Faulting application: Gamebar_Widget.exe Package: 9426MICRO-STARINTERNATION.MSIGameBar_3.0.32.0_x64__kzh8wxbdkxb8p Exception code: 0xC0000409 (STATUS_STACK_BUFFER_OVERRUN – FailFast)Faulting module: ucrtbase.dll FailFast type: FAST_FAIL_FATAL_APP_EXIT Process uptime before crash: ~1 hourOS build: Windows 10/11 – 26200.8328 (ge_release)
The crash dump clearly shows a stack-based buffer overrun, detected by the Microsoft C Runtime, which forces an immediate FailFast termination:

The call stack indicates the crash occurs during UWP suspension, inside the XAML dispatcher:
Windows_UI_Xaml!DllGetActivationFactory
Windows_UI!Windows::UI::Core::CDispatcher::processInvokeItem
twinapi_appcore!CoreApplicationView::SuspendResume
ucrtbase!purecall
ucrtbase!abort

This strongly suggests a use-after-free or invalid virtual call during the widget’s suspend/resume cycle.

Impact

  • The widget loses all user configuration after every crash
  • CPU/GPU metrics must be manually re-enabled each time
  • The UWP container under%LOCALAPPDATA%\Packages\9426MICRO-STARINTERNATION.MSIGameBar_...\LocalState\ is recreated after each FailFast
  • The widget becomes unstable and unreliable during normal system idle or overnight uptime
This issue occurs without any user interaction, typically during system idle or when Windows suspends UWP processes.
This issue has not been introduced only by the latest Companion version, I have observed it happening for over 1 year across multiple MSI Companion Versions.

As I said, I opened a Ticket with MSI Support...let's see
 
I have an update to report: the Loss of settings of CPU/GPU/RAM/etc Metrics of the MSI Companion Widget is NOT caused by the crash!
In the last 24 hours the Widget has never crashed on my Rig but still when I opened the GameBar just now the MSI Companion Widget had reset all the "Display Metrics" settings I had activated to OFF - the Display Metric window was disabled and all Metrics were in the OFF state.
I have analyzed the Widget Log files, which are found at %LOCALAPPDATA%\Packages\9426MICRO-STARINTERNATION.MSIGameBar_kzh8wxbdkxb8p\LocalState\MetroLogs
and the analysis, supported by AI processing, shows all the following.

The widget does not save or restore any user configuration, especially the visibility of CPU/GPU/Memory/Voltage metrics.This issue occurs even when the widget does not crash, which indicates a design flaw rather than a stability problem.
Collected extended widget logs clearly demonstrate that the widget:
  1. does not save metric configuration
  2. does not load metric configuration
  3. does not implement any persistence logic
  4. rebuilds the UI from defaults at every activation
  5. reads only MSI Center settings, not widget settings
  6. never writes any configuration file
This makes the widget effectively stateless, causing the user to lose all metric selections every time the Game Bar is opened.

1. The widget does NOT load metric configuration

The logs show that the widget only reads Data.txt, which contains MSI Center settings:
Read Data.txt : IsMSICenter:1
Read Data.txt : Status:1
Read Data.txt : Platform:4
Read Data.txt : TrueColor:-1
Read Data.txt : UserScenario:-1
There is no log entry indicating that metric visibility (CPUUsage, GPUTemp, MemoryUsage, etc.) is read from any file.
This confirms that no metric configuration is ever loaded.

2. The widget does NOT save metric configuration

Across the entire log, there is no entry such as:
  1. “Save Settings”
  2. “Write Metrics”
  3. “Write Visible Items”
  4. “Save Checkbox State”
  5. “Write Data.txt” (for metrics)
The widget performs zero write operations related to metric visibility.
This means the widget never persists the user’s choices.

3. The widget rebuilds the UI from defaults every time

The logs repeatedly show:
  1. Init Item
  2. FindVisible Total :
  3. DisplayPage Start
  4. Add Grid Success
  5. Change Size

4. The widget only receives MSI Center settings via pipe

The pipe messages include:
  1. FanSetting
  2. UserScenario
  3. TrueColor
  4. WindowsKey
  5. CoolingWizard
  6. LanManage
Example:
Read Line: {"IsMSICenter":true,"Platform":4,"Control":[{"Name":"FanSetting"...},{"Name":"UserScenario"...}]}

However, metric visibility is NOT included in these messages.
Therefore:
  1. MSI Center does not manage metric visibility
  2. The widget does not save metric visibility
  3. The widget does not load metric visibility
  4. 5. No SaveState() / LoadState() implementation

    The UWP lifecycle requires:
    1. OnSuspending → save state
    2. OnResuming → restore state

    3. The logs contain no entries indicating:
    1. “Suspending”
    2. “SaveState”
    3. “LoadState”
    4. “Restoring state”
    5. This confirms that the widget does not implement UWP state persistence.
    6. 6. Conclusion

      Based on the logs and behavior, the MSI Game Bar Widget currently:
      • ❌ does NOT save metric configuration
      • ❌ does NOT load metric configuration
      • ❌ does NOT implement persistence
      • ❌ does NOT restore user settings
      • ❌ resets to defaults every session
      • ❌ loses configuration even without crashes
      • ❌ is effectively stateless
      • This is a design flaw, that forces the user to reactivate every time the widget is opened the display of the metrics he choses to see
 
Back
Top