Skip to content

[Problem/Bug]: WebView2 Local Storage LevelDB intermittently loses persisted data after checksum corruption #5674

Description

@cozyboy

What happened?

Summary

A Tauri 2 desktop application on Windows 11 uses localStorage to persist an authentication token. After working normally for more than a year, the application started requiring the password again on every launch for approximately two days. The server and network were not involved. The symptom later disappeared without an application change.

Inspection of the WebView2 user data folder showed Local Storage LevelDB recovery errors:

Recovering log #3
000003.log: dropping 4731 bytes; Corruption: checksum mismatch
Reusing old log

Seventeen seconds later, another launch reported:

Recovering log #3
000003.log: dropping 5029 bytes; Corruption: checksum mismatch
Reusing old log

The localStorage token key is present again and the application currently starts normally, but the physical LevelDB log still contains the corrupted region and WebView2 recovered the same log on each observed startup.

Timeline

  • 2026-08-11: WebView2 Runtime 151.0.4129.78 installed automatically.
  • 2026-08-14: WebView2 Runtime 151.0.4129.86 installed automatically.
  • Around 2026-08-15 to 2026-08-17: repeated login prompt observed on every application launch.
  • Current runtime: 151.0.4129.86.

Environment and checks

  • Windows 11 x64, build 10.0.26200.
  • Tauri 2.10.3, wry 0.54.4, webview2-com 0.38.2.
  • The UDF is under %LOCALAPPDATA%\<app-identifier>\EBWebView and has existed since 2025; it was not recreated.
  • The application identifier and production origin did not change.
  • The UDF is writable and no WEBVIEW2_* environment or policy overrides are configured.
  • The system volume reports healthy, with no recent NTFS or disk errors.
  • Restarting the remote server had no effect.

Could Runtime 151 be producing or exposing Local Storage LevelDB tail corruption during shutdown/startup? Is repeatedly ignoring and reusing the same corrupted log expected, or should WebView2 compact/rebuild it after recovery?

No raw LevelDB files are attached because they contain authentication data.

Importance

Important. My app's user experience is significantly compromised.

Runtime Channel

Stable release (WebView2 Runtime)

Runtime Version

151.0.4129.86

SDK Version

webview2-com 0.38.2 (Tauri 2.10.3 / wry 0.54.4)

Framework

Other

Operating System

Windows 11

OS Version

10.0.26200

Repro steps

This issue is intermittent and is not currently reproducible on demand.

  1. Launch the Tauri application and sign in. The authentication token is written with localStorage.setItem(...).
  2. Exit and relaunch the application.
  3. During the incident, the token was unavailable after every relaunch and the application requested the password again.
  4. Inspect %LOCALAPPDATA%\<app-identifier>\EBWebView\Default\Local Storage\leveldb\LOG.
  5. The log reports recovery of 000003.log followed by Corruption: checksum mismatch and thousands of dropped bytes.

Expected: Local Storage data written during a successful login remains readable after clean application restarts.

Actual: During the incident, the persisted token was unavailable on every restart. Later launches recovered enough data for the token to become readable again, while the checksum-corruption entry remained in the LevelDB recovery log.

Repros in Edge Browser

No, issue does not reproduce in the corresponding Edge version

Regression

Regression in newer Runtime

Last working version (if regression)

Runtime version before 151.0.4129.78 (exact previous version not captured)

Metadata

Metadata

Labels

bugSomething isn't workingregressionSomething used to work but doesn't anymore

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions