Protect what matters – even after you're gone. Make a plan for your digital legacy today.
Forum Discussion
edtpg
1 year agoNew Contributor
Linux desktop client crashes on startup
Since updating to the latest version of the client, the Linux desktop client consistently crashes on first startup, and sometimes crashes again after already running.
I have the browser extension and desktop app integration enabled, and I use my system unlock method as the unlock option for the desktop app (local account password popup instead of biometrics).
This crash happens regardless of triggering unlock via the extension, launching the desktop app directly, or triggering the app's global search shortcut (ctrl-alt-space for me).
This happens on both Kubuntu 24.04.1 LTS and Pop!_OS 22.04 LTS.
In both cases, the desktop app is installed via apt.
Quick edit: I originally wrote this for desktop client version 8.10.48. I updated to version 8.10.50 and the issue does still exist.
Hello folks,
I'm sorry that 1Password for Linux is crashing when you first first boot your device. This is a known issue that our development team is investigating and hopes to fix in a future update to 1Password. While I don't have a timeline on when a fix will be released, the fix will be noted in our release notes as soon as it is available.
As noted in this thread, the issue should only affect the first launch after boot and subsequent launches of the 1Password app should work normally. If you're seeing different behaviour then please reach out to support@1Password.com so that we can dig deeper.
-Dave
96 Replies
- woodsb02New Contributor
I can also say that this problem appears to have been fixed in the last few days, after the upgrade from 1password 8.12.0 to 8.12.2.
I am running on Arch Linux with 1password installed from the AUR.
I was experiencing this crash report on startup reliably - probably 90% of the time. However, in my reboots over the last few days it is no longer occurring.
I believe this is likely the upgrade that fixed it:
https://aur.archlinux.org/cgit/aur.git/commit/?h=1password&id=4e812cfd70e28eb66e65c070ec76d9df9fd2df09
Thanks to the 1password devs for whatever they did to fix it... although it doesn't seem to be mentioned at all in the release notes here:
https://releases.1password.com/linux/stable/
- pwhzOccasional Contributor
This update fixed nothing for me.
- sjwellsNew Contributor
Hi, no the problem remains with Version 8.12.2 at least when running on Ubuntu 22 and 24. The pattern hasn't changed, sometimes you can get a run of several days without the problem then it just comes back again.
I can't re-itterate any more strongly that the developers need to resolve this problem rather than users have to work around it. There is nothing more annoying then getting to a critical transaction requiring a password like on booking.com and then find youself staring at a crash log which when you dismiss takes over 30 seconds for the 1password login to appear.
Because it is such a disruptive bug some users may want to do this.
If you are a standard user and don't care about crash logs at all then you can get around the problem by removing them as the system starts up. Obviously sometimes the crashlogs are important but ones generated during the normal running of 1password won't get deleted unless you log out and log in again.
create a script file as below to do the delete. give it a name such as
/home/yourloginname/deletecrashlogs.sh
(Replace yourloginname with your actual username.)#!/bin/bash rm -rf /home/yourloginname/.config/1Password/crashes/*(Replace yourloginname with your actual username.)
Then schedule the script to run as a user service that runs on startup.
create a user service file called/home/yourloginname/.config/systemd/user/cleanup-1password-on-startup.service
(Replace yourloginname with your actual username.)[Unit] Description=Cleanup 1Password crash files when graphical session starts PartOf=graphical-session.target [Service] Type=oneshot ExecStart=/usr/bin/bash /home/yourloginname/deletecrashlogs.sh RemainAfterExit=no [Install] WantedBy=graphical-session.target(Replace yourloginname with your actual username.)
run
systemctl --user daemon-reloadthen
runsystemctl --user enable cleanup-1password-on-startup.service
to test
systemctl --user start cleanup-1password-on-startup.serviceif you want to disable this at any time from working when you log in then do this.
systemctl --user disable cleanup-1password-on-startup.service- AdderoNew Contributor
I had a support session not that long ago where they basically said the exact same thing they said over a year ago. The same old “we’re working on it, we don’t have a timeline, we’re sorry for the inconvenience” yadda yadda.
I’ve been trying alternatives to 1Password and have been debating making the jump. I like 1Password and it’s served me well but SO MANY of my devices use Linux right now and this issue is incredibly frustrating - and the team behind 1Password just has not taken this issue seriously (or has not made an effort to show us it’s being taken clearly, if they have).
Even a proper update on “hey this is is why it’s not out but we’re actually still trying” would be better than continuing the same non-answer of “we’re aware of the issue and still working on a fix, no timeline as of now, sorry for the inconvenience.”
- efstajasNew Contributor
I can say that in my case, Kubuntu 25.10, the problem appears to have disappeared with a recent release🤞Before, I was getting this consistently after every reboot, every time. Not to jinx it, but so happy this is finally resolved (at least in my case).
- sfordOccasional Contributor
Just a very quick followup and THANK YOU. The fix suggested to
Clearing that directory (rm -rf ~/.config/1Password/crashes/*) before launching resolves the problem immediately.
works as advertised. Thank you so much.
- sfordOccasional Contributor
Hi, I didn't expect to find this thread. But, it looks like it is an known issue. I would just like to add on my experience - a message I made before I knew of this thread.
I have an issue where 1password reports an error upon startup, then after 40 seconds shows the login screen.
Consistent after reboots.
linux mint where are the log files stored: ~/.config/1Password/logs.
Executable: /usr/bin/1password links to /opt/1Password$
I have tried removing and reinstalling password-latest.deb ver 8.12.0
The following errors are selected from ~/.config/1Password/logs/1Password_rCURRENT.log file
ERROR 2026-02-10T19:47:15.556+00:00 ThreadId(16) [1P:data/op-db-queue/src/operations.rs:1222] transaction tx#39(list_objects_for_all_accounts) failed, will rollback: Invalid column type Text at index: 1, name: data
ERROR 2026-02-10T19:47:16.418+00:00 ThreadId(16) [1P:data/op-db-queue/src/operations.rs:1272] transaction tx#58(objects_mut) failed, will rollback: Invalid column type Text at index: 1, name: data
ERROR 2026-02-10T19:47:16.418+00:00 runtime-worker(ThreadId(10)) [1P:/mnt/ephemeral/builds/dev/core/core/op-syncer-component-item-usage-reports/src/lib.rs:30] Invalid column type Text at index: 1, name: data
INFO 2026-02-10T19:47:16.505+00:00 runtime-worker(ThreadId(4)) [1P:op-b5-client/src/b5_client/features/mod.rs:381] Using feature-rollout-service for pre-registration features.
ERROR 2026-02-10T19:47:16.523+00:00 runtime-worker(ThreadId(10)) [1P:data/op-syncer/src/system_vault.rs:29] Error creating system vault for account (JLOIFIQBJNHTRP7DF3T3VGEHNE): FetchDataError(FetchError(<unknown reason>, code: HttpStatus(400), Session ID: Some(Session ID: OJNYO3GJW5D7HIWNBWQ26ZXXGU)))
ERROR 2026-02-10T19:48:43.552+00:00 runtime-worker(ThreadId(9)) [1P:native-messaging/op-native-core-integration/src/connection_handler.rs:92] message from b5x was None: EndConnection
ERROR 2026-02-10T19:48:43.552+00:00 runtime-worker(ThreadId(9)) [1P:native-messaging/op-native-core-integration/src/connection_handler.rs:56] Dropping connection with b5x due to error handling incoming message: EndConnection
The time lag isnt a fatal issue, just an annoyance. Any insights would be appreciated.
Thanks
1Password file: 1password-latest.deb ver 8.12.0
System OS: Linux Mint 22.3 Zena
System Hardware: ASUS ROG Strix GL702VS-AH73 Gaming Laptop
- pwhzOccasional Contributor
I just wrote this reply and in doing so something occurred to me: It's insane that it has got to the point where users are explaining in detail what the bug is and how to fix it (and it's not just me – other users have pointed out what's wrong as well), and still nobody on the dev team is doing anything about it. We could not have made it any easier.
This bug in particular is what's making me think that I will not be renewing my 1Password subscription. I like 1Password on the whole, but this is very poor, and frankly it seems my money would be better spent elsewhere. There is no excuse for not fixing this bug now that it has been made so plain what is causing the problem. (Or maybe there is an excuse? If it's not as simple as we think, why not ask us for advice? We've already shown that we're capable of figuring this stuff out.)
1P_Dave When did you last speak to the dev team about this, and what did they actually say? Are they working on it, or is it just in a backlog somewhere, busy being ignored? Are they aware of the diagnoses that various users have made here?
- 1P_Dave
Moderator
Thank you for the ping and for the suggestion that some Linux crashes may be related to how 1Password handles SIGTERM/SIGINT. While we haven’t been able to reproduce the issue consistently ourselves, our development team is looking into adding improved signal handlers for SIGTERM and SIGINT. These improvements should appear within the next few releases and our team will monitor the results.
-Dave
- AJCxZ0Silver Expert
1P_Dave wrote:
we haven’t been able to reproduce the issue consistently ourselves
You know some folks who can reproduce the issue consistently and are willing to help.
These improvements should appear within the next few releases and our team will monitor the results.
That's good news. They will see the drastic drop-off in the reports which we send every time the client "crashes" on launch, right?
- sjwellsNew Contributor
Please can we bring this back on topic 🥺: on Linux, 1Password leaves stale files in ~/.config/1Password/crashes/ during a normal shutdown or reboot. On the next start, 1Password misinterprets these as a previous crash, logs a false crash, and delays startup. Clearing that directory (rm -rf ~/.config/1Password/crashes/*) before launching resolves the problem immediately. The discussion should focus on why crash artifacts persist across clean shutdowns and why they’re treated as real crashes on startup.
- pwhzOccasional Contributor
It shouldn't be crashing at all. The crash logs are produced because 1Password is incapable of handling the SIGTERM that it receives when the system is shutting down. The whole point of SIGTERM (as opposed to, say, SIGKILL) is to tell a process to perform a clean shutdown, but 1Password does something weird while trying to handle it and crashes, so the shutdown is not clean. (Or it at least thinks it crashes, maybe because it doesn't understand that SIGTERM is just a shutdown signal.) It would make sense for the crash logs to persist after that, because normally you might want to know that a program exited improperly the last time it was running. The popup is not because of a misinterpretation – it is actually reporting a real crash.
I have said this before in this discussion, and I will say it again: the solution is for 1Password to handle SIGTERM as though the user had asked it to quit via the GUI. That way, when the user asks the system to shut down and 1Password receives SIGTERM, it will exit gracefully, rather than crashing. No crash means no crash logs, so there's no crash reporting popup when 1Password next starts up. For some reason, nobody at 1PW has bothered to do this. There's a secondary bug, which is the delay that 1Password has for some reason before reporting the crash it found logs for, but that's less important. The most direct fix for the problems discussed here is to just handle the signal properly.
I don't know of any other piece of software (and certainly nothing commercial) that actually manages to crash when it receives SIGTERM.
- dooferladNew Contributor
This is down to 1Password thinking that SIGTERM is a crash for some reason. You can get around it by deleting `.config/1Password/crashes/*` before starting the application, which you can put in a script and run on startup. The proper fix is, of course, not to interpret an external signal as a crash so the crash reporter needs fixing.
My guess is that SIGTERM is sent to everything still running when user session is stopped. It is a completely normal application signal and not a crash.
It wouldn't be so bad if the crash reporter didn't take ages to run. It does though. Even not sending a report isn't instant, which seems wild!
- DenalBSuper Contributor
Great finding! Hopefully devs will have a fix for us soon.
- frustrated_penguin23New Contributor
Over 2 years since the Bug was reported and its still not fixed. 1P_Dave frankly, your statement that this issue is important to you cannot be true.
How would you react if you bought a brand new car and the dealer mentions on your way out: Oh and by the way, this car wont start on first try, just wait a couple of seconds and then try again. We are on it and will update you soon.
Please fix this asap, this affects our daily operation. Thanks
- 1P_Dave
Moderator
I'm sorry for the continued disruption. The issue is still open with our development team, we'll make sure to update this thread as soon as a fix is available.
-Dave
- ombduquiNew Contributor
Agreed, it occurs more than just on the first try after a reboot.
For what it's worth, though Bitwarden is probably worth a shot instead:
1p: 8.11.22
Linux mint 22.2 cinnamon
Cinnamon 6.4.8
- 1P_Dave
Moderator
I'm sorry that 1Password is crashing on your Linux device as well. If you're seeing crashes that occur more often than just the first launch after a reboot then you might be running into a different issue. So that the team and I can take a closer look, I'd like to ask you to create and share a 1Password diagnostics report:
Send a diagnostics report (Linux)
Attach the diagnostics to an email message addressed to support@1password.com
With your email please include:- A link to this thread: https://www.1password.community/discussions/1password/linux-desktop-client-crashes-on-startup/110161/replies/165890
- Your forum username: ombduqui
You should receive an automated reply from our BitBot assistant with a Support ID number. Please post that number here. Thanks very much!-Dave
- pwhzOccasional Contributor
I've been experimenting with this and after a bit of reverse engineering I managed to hack together a fix. The fix is simple in principle but it's quite a technical process. I thought I'd share it for those who want to try it. I'll describe the process for x86 because that's all I've tried, but you could probably do something similar on ARM.
As Dave figured out here, it seems like 1Password is not actually crashing (but it might as well be). The error message refers to an improper exit when 1Password was last running. There's a bug which means that 1Password takes ages to start up properly after the error message is dismissed, and an error message followed by nothing happening looks like a crash. The reason this happens on boot is, I think, because 1Password doesn't properly exit when the system is shutting down (unless it is manually closed first). When 1Password is launched after the system has booted, it checks for evidence of an unclean exit when it was last running. It will find this evidence because it didn't exit correctly on the previous shutdown. When it finds the evidence, it shows the popup and triggers the startup delay bug.
The "fix" is to patch 1Password so that it never sees any crash reports from the unclean exit. The function to patch is op_crash_reporting::crash_report::CrashReport::check_for_crash_reports, and it is in the binary /path/to/1Password installation/resources/app.asar.unpacked/index.node. On my Manjaro system this is /opt/1Password/resources/app.asar.unpacked/index.node.
Before it actually looks for any crash reports, check_for_crash_reports checks if op_crash_reporting::killswitch::CRASH_REPORTING_KILL_SWITCH is enabled. If it is, then it just returns zero, as though there are no crash reports. This is compiled as a conditional jump: "if the kill switch is enabled, then jump to the bit that returns zero". We patch the jump instruction so that it always jumps to the bit that returns zero, regardless of whether the kill switch is set. The caller of the function is led to believe that there are no crash reports, so 1Password starts normally, without a popup or delay.
The code moves around between 1Password versions (I've tried 8.11.12 and 8.11.14), so to find the exact location of the instruction to patch we use objdump to find the function by name and disassemble it:
objdump -FC -Mintel --disassemble="op_crash_reporting::crash_report::CrashReport::check_for_crash_reports" /opt/1Password/resources/app.asar.unpacked/index.nodeHere's my annotated version of the relevant part of the output of that command (on 8.11.14):
| 000000000468d280 <op_crash_reporting::crash_report::CrashReport::check_for_crash_reports> (File Offset: 0x468c280): | 468d280: 55 push rbp | 468d281: 41 57 push r15 | 468d283: 41 56 push r14 | 468d285: 41 55 push r13 | 468d287: 41 54 push r12 | 468d289: 53 push rbx | 468d28a: 48 81 ec 08 01 00 00 sub rsp,0x108 | 468d291: 48 89 f3 mov rbx,rsi | 468d294: 49 89 fe mov r14,rdi | 468d297: 48 8b 05 c2 2c 07 03 mov rax,QWORD PTR [rip+0x3072cc2] # 76fff60 <op_crash_reporting::killswitch::CRASH_REPORTING_KILL_SWITCH> (File Offset: 0x76fef60) | 468d29e: 48 83 f8 02 cmp rax,0x2 | 468d2a2: 0f 85 3b 02 00 00 jne 468d4e3 <op_crash_reporting::crash_report::CrashReport::check_for_crash_reports+0x263> (File Offset: 0x468c4e3) (load kill switch) --> | 468d2a8: 0f b6 05 b9 2c 07 03 movzx eax,BYTE PTR [rip+0x3072cb9] # 76fff68 <op_crash_reporting::killswitch::CRASH_REPORTING_KILL_SWITCH+0x8> (File Offset: 0x76fef68) (check kill switch) --> | 468d2af: a8 01 test al,0x1 THIS JUMP --> | 468d2b1: 0f 84 95 01 00 00 je 468d44c <op_crash_reporting::crash_report::CrashReport::check_for_crash_reports+0x1cc> (File Offset: 0x468c44c) | 468d2b7: 48 8d 7c 24 20 lea rdi,[rsp+0x20] | 468d2bc: 4c 89 f6 mov rsi,r14 | 468d2bf: 48 89 da mov rdx,rbx | 468d2c2: e8 19 05 00 00 call 468d7e0 <op_crash_reporting::crash_report::crash_files> (File Offset: 0x468c7e0)(The disassembly for 8.11.12 looks much the same, except that the memory addresses are different. Until this function is modified significantly in an update, it should be possible to identify the instructions above in future versions of 1Password.)
The instruction to patch is the je marked "THIS JUMP". We can read its memory address from the column on the left (here, it's 0x468d2b1). We need the file offset so we can edit the instruction. The difference between the memory addresses and file offsets is the difference between the two hexadecimal numbers on the first line of the disassembly: in this case, it's 0x468d280 - 0x468c280 = 0x1000. So the offset of the target instruction in the file is 0x468d2b1 - 0x1000 = 0x468c2b1 for this version. (The file offset of the target instruction is not always the same. It's different (0x2d7d9e1) in 8.11.12, for example.)
Open index.node in a hex editor and go to the file offset just calculated (0x468c2b1 for me). You should see the bytes 0f 84 xx xx xx xx (0f 84 95 01 00 00 in this case). Change the first two bytes to 48 e9. This changes the je instruction to jmp, which is an unconditional jump.
To save the file you will likely need root access, so it might be easiest to save elsewhere and sudo mv it into the correct location. I recommend keeping the old file as a backup. For instance, my unpatched binary is at /opt/1Password/resources/app.asar.unpacked/index.node.unpatched. The patched binary goes where the original was, so 1Password will use it instead. If you mess up the patch and 1Password stops working, you can just go back to the original binary without needing to reinstall anything.
You'll have to reapply the patch every time 1Password is updated. I did when I went from 8.11.12 to 8.11.14.
- pwhzOccasional Contributor
This patch doesn't work anymore on 8.11.16 because check_for_crash_reports no longer checks the kill switch (all of a sudden...?).
You can achieve the same effect as the above by patching op_crash_reporting::crash_report::crash_files like this: Find the first call to <FilterMap as Iterator>::next (it's not long after the call to Iterator::collect). Immediately after, there are cmp and je instructions. The je is encoded as 75 10. Change these bytes to 90 90 to swap the jump for two NOPs. (This edit was at 0x4743F85 in the file for me on 8.11.16-35.)
This works because the cmp and je are checking if next() returned None, and the next() is on an iterator of crash report files. NOPing the je makes execution fall through to the None case, so the loop that processes the crash report files never runs, and so crash_files returns nothing.
I'm going to keep using these patches because they completely fix the issue for me, both on boot and when 1P is terminated and restarted while the system remains running, but I'll avoid posting too much about it here because 1Password's own community forum isn't really the right place ;)
I found a blog post which has a nice idea for fixing the boot issue by creating a systemd service to delete the crash reports on boot so that 1Password doesn't see them. This is probably more useful for most people: https://oltdaniel.eu/notes/fix-1password-crash-report-popup/
- chris__hayesOccasional Contributor
For what it's worth, I used to have this issue for probably a year or two. But, at some point in the last month or so, the crashing on startup went away.
App: 1Password for Linux 8.11.14 (81114024)
Browser: Firefox 144 (Snap)
OS: Ubuntu 25.10 (Wayland)
- 1P_Dave
Moderator
Thank you for the data point, I've shared it with our development team internally.
-Dave