The `.flatpak` crashed, when KWallet was inaccessible.
- Dominant language
- TypeScript
- Stars
- 13.8k
- Forks
- 2k
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 397
Description
### Steps To Reproduce
All that I did was invoke `flatpak run com.bitwarden.desktop`, and wait ⪆ PT6S.
### Expected Result
The client should not have crashed.
### Actual Result
It crashed:
~~~ma
PS /home/beedell.roke_julian_lockhart> flatpak run com.bitwarden.desktop
Running in Flatpak sandbox with ID: com.bitwarden.desktop
X11 available: true
Wayland available: true
Display mode: AUTO
23:43:08.399 › Electron storage cache enabled: true
23:43:08.404 › State version: 82
23:43:08.405 › Migrator MinVersionMigrator (to version 3) should migrate: false - up
23:43:08.405 › Migrator RemoveEverBeenUnlockedMigrator (to version 4) should migrate: false - up
23:43:08.405 › Migrator AddKeyTypeToOrgKeysMigrator (to version 5) should migrate: false - up
23:43:08.405 › Migrator RemoveLegacyEtmKeyMigrator (to version 6) should migrate: false - up
23:43:08.405 › Migrator MoveBiometricAutoPromptToAccount (to version 7) should migrate: false - up
23:43:08.405 › Migrator MoveStateVersionMigrator (to version 8) should migrate: false - up
23:43:08.405 › Migrator MoveBrowserSettingsToGlobal (to version 9) should migrate: false - up
23:43:08.405 › Migrator EverHadUserKeyMigrator (to version 10) should migrate: false - up
23:43:08.405 › Migrator OrganizationKeyMigrator (to version 11) should migrate: false - up
23:43:08.405 › Migrator MoveEnvironmentStateToProviders (to version 12) should migrate: false - up
23:43:08.405 › Migrator ProviderKeyMigrator (to version 13) should migrate: false - up
23:43:08.406 › Migrator MoveBiometricClientKeyHalfToStateProviders (to version 14) should migrate: false - up
23:43:08.406 › Migrator FolderMigrator (to version 15) should migrate: false - up
23:43:08.406 › Migrator LastSyncMigrator (to version 16) should migrate: false - up
23:43:08.406 › Migrator EnablePasskeysMigrator (to version 17) should migrate: false - up
23:43:08.406 › Migrator AutofillSettingsKeyMigrator (to version 18) should migrate: false - up
23:43:08.406 › Migrator RequirePasswordOnStartMigrator (to version 19) should migrate: false - up
23:43:08.406 › Migrator PrivateKeyMigrator (to version 20) should migrate: false - up
23:43:08.406 › Migrator CollectionMigrator (to version 21) should migrate: false - up
23:43:08.406 › Migrator CollapsedGroupingsMigrator (to version 22) should migrate: false - up
23:43:08.406 › Migrator MoveBiometricPromptsToStateProviders (to version 23) should migrate: false - up
23:43:08.406 › Migrator SmOnboardingTasksMigrator (to version 24) should migrate: false - up
23:43:08.406 › Migrator ClearClipboardDelayMigrator (to version 25) should migrate: false - up
23:43:08.406 › Migrator RevertLastSyncMigrator (to version 26) should migrate: false - up
23:43:08.406 › Migrator BadgeSettingsMigrator (to version 27) should migrate: false - up
23:43:08.406 › Migrator MoveBiometricUnlockToStateProviders (to version 28) should migrate: false - up
23:43:08.406 › Migrator UserNotificationSettingsKeyMigrator (to version 29) should migrate: false - up
23:43:08.406 › Migrator PolicyMigrator (to version 30) should migrate: false - up
23:43:08.406 › Migrator EnableContextMenuMigrator (to version 31) should migrate: false - up
23:43:08.406 › Migrator PreferredLanguageMigrator (to version 32) should migrate: false - up
23:43:08.406 › Migrator AppIdMigrator (to version 33) should migrate: false - up
23:43:08.406 › Migrator DomainSettingsMigrator (to version 34) should migrate: false - up
23:43:08.407 › Migrator MoveThemeToStateProviderMigrator (to version 35) should migrate: false - up
23:43:08.407 › Migrator VaultSettingsKeyMigrator (to version 36) should migrate: false - up
23:43:08.407 › Migrator AvatarColorMigrator (to version 37) should migrate: false - up
23:43:08.407 › Migrator TokenServiceStateProviderMigrator (to version 38) should migrate: false - up
23:43:08.407 › Migrator MoveBillingAccountProfileMigrator (to version 39) should migrate: false - up
23:43:08.407 › Migrator OrganizationMigrator (to version 40) should migrate: false - up
23:43:08.407 › Migrator EventCollectionMigrator (to version 41) should migrate: false - up
23:43:08.407 › Migrator EnableFaviconMigrator (to version 42) should migrate: false - up
23:43:08.407 › Migrator AutoConfirmFingerPrintsMigrator (to version 43) should migrate: false - up
23:43:08.407 › Migrator UserDecryptionOptionsMigrator (to version 44) should migrate: false - up
23:43:08.407 › Migrator MergeEnvironmentState (to version 45) should migrate: false - up
23:43:08.407 › Migrator DeleteBiometricPromptCancelledData (to version 46) should migrate: false - up
23:43:08.407 › Migrator MoveDesktopSettingsMigrator (to version 47) should migrate: false - up
23:43:08.407 › Migrator MoveDdgToStateProviderMigrator (to version 48) should migrate: false - up
23:43:08.407 › Migrator AccountServerConfigMigrator (to version 49) should migrate: false - up
23:43:08.407 › Migrator KeyConnectorMigrator (to version 50) should migrate: false - up
23:43:08.407 › Migrator RememberedEmailMigrator (to version 51) should migrate: false - up
23:43:08.407 › Migrator DeleteInstalledVersion (to version 52) should migrate: false - up
23:43:08.407 › Migrator DeviceTrustServiceStateProviderMigrator (to version 53) should migrate: false - up
23:43:08.407 › Migrator SendMigrator (to version 54) should migrate: false - up
23:43:08.407 › Migrator MoveMasterKeyStateToProviderMigrator (to version 55) should migrate: false - up
23:43:08.408 › Migrator AuthRequestMigrator (to version 56) should migrate: false - up
23:43:08.408 › Migrator CipherServiceMigrator (to version 57) should migrate: false - up
23:43:08.408 › Migrator RemoveRefreshTokenMigratedFlagMigrator (to version 58) should migrate: false - up
23:43:08.408 › Migrator KdfConfigMigrator (to version 59) should migrate: false - up
23:43:08.408 › Migrator KnownAccountsMigrator (to version 60) should migrate: false - up
23:43:08.408 › Migrator PinStateMigrator (to version 61) should migrate: false - up
23:43:08.408 › Migrator VaultTimeoutSettingsServiceStateProviderMigrator (to version 62) should migrate: false - up
23:43:08.408 › Migrator PasswordOptionsMigrator (to version 63) should migrate: false - up
23:43:08.408 › Migrator GeneratorHistoryMigrator (to version 64) should migrate: false - up
23:43:08.408 › Migrator ForwarderOptionsMigrator (to version 65) should migrate: false - up
23:43:08.408 › Migrator MoveFinalDesktopSettingsMigrator (to version 66) should migrate: false - up
23:43:08.408 › Migrator RemoveUnassignedItemsBannerDismissed (to version 67) should migrate: false - up
23:43:08.408 › Migrator MoveLastSyncDate (to version 68) should migrate: false - up
23:43:08.408 › Migrator MigrateIncorrectFolderKey (to version 69) should migrate: false - up
23:43:08.408 › Migrator RemoveAcBannersDismissed (to version 70) should migrate: false - up
23:43:08.408 › Migrator RemoveNewCustomizationOptionsCalloutDismissed (to version 71) should migrate: false - up
23:43:08.408 › Migrator RemoveAccountDeprovisioningBannerDismissed (to version 72) should migrate: false - up
23:43:08.408 › Migrator AddMasterPasswordUnlockData (to version 73) should migrate: false - up
23:43:08.408 › Migrator RemoveLegacyPin (to version 74) should migrate: false - up
23:43:08.408 › Migrator RemoveUserEncryptedPrivateKey (to version 75) should migrate: false - up
23:43:08.408 › Migrator MigratePopupWidthOptions (to version 76) should migrate: false - up
23:43:08.409 › Migrator ClearClipboardDelayToStringMigrator (to version 77) should migrate: false - up
23:43:08.409 › Migrator MigrateSsoRequiredCache (to version 78) should migrate: false - up
23:43:08.409 › Migrator InitializeFeatureFlagOverridesMigrator (to version 79) should migrate: false - up
23:43:08.409 › Migrator ConsolidateTrayToRunInBackground (to version 80) should migrate: false - up
23:43:08.409 › Migrator EnableDesktopSharingIfBiometricsEnabled (to version 81) should migrate: false - up
23:43:08.409 › Migrator RemoveBrowserIntegrationEnabled (to version 82) should migrate: false - up
23:43:08.564 › [NAPI] [INFO] secure_memory::secure_key: Using memfd_secret for secure key storage
23:43:08.564 › [NAPI] [INFO] desktop_core::ipc::server: Removing existing IPC socket at: /home/beedell.roke_julian_lockhart/.var/app/com.bitwarden.desktop/cache/com.bitwarden.desktop/s.af
23:43:08.565 › [NAPI] [INFO] desktop_core::ipc::server: Failed to create IPC listener for path: /home/beedell.roke_julian_lockhart/.var/app/org.mozilla.firefox/.mozilla/native-messaging-hosts/.app.af.socket
23:43:08.565 › [NAPI] [INFO] desktop_core::ipc::server: Failed to create IPC listener for path: /home/beedell.roke_julian_lockhart/.var/app/com.google.Chrome/config/google-chrome/NativeMessagingHosts/.app.af.socket
23:43:08.565 › [NAPI] [INFO] desktop_core::ipc::server: Failed to create IPC listener for path: /home/beedell.roke_julian_lockhart/.var/app/org.chromium.Chromium/config/chromium/NativeMessagingHosts/.app.af.socket
23:43:08.565 › [NAPI] [INFO] desktop_core::ipc::server: Failed to create IPC listener for path: /home/beedell.roke_julian_lockhart/.var/app/com.microsoft.Edge/config/microsoft-edge/NativeMessagingHosts/.app.af.socket
23:43:08.565 › [NAPI] [INFO] desktop_core::ipc::server: Removing existing IPC socket at: /home/beedell.roke_julian_lockhart/.config/chromium/NativeMessagingHosts/.app.af.socket
23:43:08.565 › [NAPI] [INFO] desktop_core::ipc::server: Failed to create IPC listener for path: /home/beedell.roke_julian_lockhart/.config/google-chrome/NativeMessagingHosts/.app.af.socket
23:43:08.565 › [NAPI] [INFO] desktop_core::ipc::server: Failed to create IPC listener for path: /home/beedell.roke_julian_lockhart/.config/microsoft-edge/NativeMessagingHosts/.app.af.socket
23:43:08.565 › [NAPI] [INFO] desktop_core::ipc::server: Removing existing IPC socket at: /home/beedell.roke_julian_lockhart/.mozilla/native-messaging-hosts/.app.af.socket
[2:0817/234308.573135:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.kde.KWallet.isEnabled: object_path= /modules/kwalletd6: org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown
[2:0817/234308.573159:ERROR:components/os_crypt/sync/kwallet_dbus.cc:113] Error contacting kwalletd6 (isEnabled)
[2:0817/234308.573241:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.kde.KLauncher.start_service_by_desktop_name: object_path= /KLauncher: org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown
[2:0817/234308.573244:ERROR:components/os_crypt/sync/kwallet_dbus.cc:82] Error contacting klauncher to start kwalletd6
[2:0817/234308.573327:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.kde.KWallet.close: object_path= /modules/kwalletd6: org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown
[2:0817/234308.573330:ERROR:components/os_crypt/sync/kwallet_dbus.cc:408] Error contacting kwalletd6 (close)
~~~
### Operating System Version
1.
~~~powershell
#!/usr/bin/env -S pwsh -File
$OSRelease = [Ordered]@{}
Get-Content /etc/os-release | ForEach-Object {
If ($_ -Match '^\s*([^=]+)=(.*)$') {
$Name = $Matches[1]
$Value = $Matches[2]
If ($Value -Match '^"(.*)"$') {
$Value = $Matches[1]
}
If ($Value -Match '^[0-9]+$') {
$Value = [Int64]$Value
}
$OSRelease[$Name] = $Value
}
}
[PSCustomObject]$OSRelease |
Select-Object NAME, VARIANT, VERSION_ID |
Format-List |
yq -P
~~~
1.
~~~yaml
NAME: Fedora Linux
VARIANT: KDE Plasma Desktop Edition
VERSION_ID: 44
~~~
### Installation method
~~~YAML
ID: com.bitwarden.desktop
Ref: app/com.bitwarden.desktop/x86_64/stable
Arch: x86_64
Branch: stable
Version: 2026.7.0
License: GPL-3.0
Origin: flathub
Collection: org.flathub.Stable
Installation: system
Installed Size: 493.8 MB
Runtime: org.freedesktop.Platform/x86_64/25.08
Sdk: org.freedesktop.Sdk/x86_64/25.08Commit: 6f28ad5d1fdf47ac32e549ddcfe1cfe8cda7804390b39fb25fdebc1281f23a64
Parent: 48d046104898db1ea953132d3de026fc75ad65655c0a640a91f1f0e9ca4c7e1e
Subject: chore: use upstream display_mode code (b25ca452aeea)
Date: 2026-07-27 06:37:38 +0000
~~~
### Build Version
~~~S
Version 2026.7.0
SDK 'main (3e060f8)'
Shell 41.7.2
Renderer 146.0.7680.216
Node 24.15.0
Architecture x64
~~~
### Issue Tracking Info
- [x] I understand that work is tracked outside of GitHub. A PR will be linked to this issue should one be opened to address it, but Bitwarden doesn't use fields like "assigned", "milestone", or "project" to track progress.
Contributor guide
Research direction
Start by reproducing the crash with `flatpak run com.bitwarden.desktop` on the reported Fedora KDE setup and review the startup output around the KWallet and Electron errors. Trace the desktop startup path that handles an inaccessible KWallet; done means the Flatpak launches without crashing when KWallet is unavailable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, typescript
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100