Similar issue to https://github.com/Foundry376/Mailspring/issues/643 w/o the provocative title.
No recent changes to any configs. No 3rd party plugins, using a very-slightly modified dark theme, but changing that to ui-light in config.json has to effect.
Been humming along for a few weeks now (with 6 account attached) since this happened once before. Figured it was a fluke and I've changed versions since then. Running on 1.1.12/OSX High Sierra now.
Symptoms: Mailspring lights up in the dock and menu bar appears, first just with "Mailspring" and then fills-out to the usual, full menu bar, which I can navigate, though most items have no effect even though they seem to respond to input.
During this time, there is no Mailspring window visible anywhere and Command-Q does nothing. CPU load is insane: http://share.jermops.com/2e2c452O2v42
To quit I have to force-quit, although "Developer->Run With Developer flags" successfully quits and restarts in debug mode, which seems to work fine for the 1 account I have attached.
I tried leaving mailspring "open" in its non-debug state overnight, hoping there was some cleaning/pruning/something that was happening that might eventually finish, but there was no change come morning.
Here are the modified times (in PST) of my most recently modified files in my Mailspring directory:
http://share.jermops.com/2p0s310I3x1i
As you can see, I have no sync logs for the past few days, and that's consistent with Mailspring not working since the evening of the 3rd. I was active on the computer at the time, flipping between many things... I don't remember it stopping while I was using it, just that at some point I went to investigate my low battery/high cpu (I usually blame Chrome ;) ). After it failed to quit, i force-quit, and have been in the above state since.
Here is a screencap of OSX console from launch, filtering for Mailspring
On behalf of the Open Source community and developers, and as a repo maintainer myself, I appreciate you for not jumping onto the #643 provocative bandwagon of slander. Thanks for providing a lengthy description of your issue to help resolve the problem.
High CPU usage is found in every complex program at some point or another, and many times it's really hard to pin down.
Anyway, just here to hand out the internet kudos :beers:
Hey! First off, I second @seesemichaelj's response—thanks!
I think I actually know what's going on here - in 1.1.3 (just shipped earlier today) I found / fixed a weird threading issue where a sync worker could half-prepare a SQLite statement and write an invalid entry into the Folders table. It causes the UI to freak out, loading the folders from the table over and over again in a loop trying to "fix" the data, which of course doesn't work because it's actually written to the database wrong.
Unfortunately the only fix is to force-quit Mailspring and manually erase its database files using the command below. When I fixed the underlying cause of the corruption I wasn't able to think of a good way we could detect this / recover from it without changing a lot of code. In the end, I just hoped not many people would encounter it before I had a chance to ship the fix.
rm ~/Library/Application\ Support/Mailspring/edgehill.*
Gonna mark this as resolved but leave it open so others can find the ticket for a while – if anyone encounters this after upgrading to 1.1.3 please @ mention me!
Awesome! Thanks :)
Hey folks—version 1.1.3 shipped a few days ago and included the fix for this issue. You should have received the update automatically, but if not you can download it directly from getmailspring.com/download. Enjoy! Gonna go ahead and close this.
1.1.3 has been great. Thanks Ben!
Most helpful comment
Hey! First off, I second @seesemichaelj's response—thanks!
I think I actually know what's going on here - in 1.1.3 (just shipped earlier today) I found / fixed a weird threading issue where a sync worker could half-prepare a SQLite statement and write an invalid entry into the
Folderstable. It causes the UI to freak out, loading the folders from the table over and over again in a loop trying to "fix" the data, which of course doesn't work because it's actually written to the database wrong.Unfortunately the only fix is to force-quit Mailspring and manually erase its database files using the command below. When I fixed the underlying cause of the corruption I wasn't able to think of a good way we could detect this / recover from it without changing a lot of code. In the end, I just hoped not many people would encounter it before I had a chance to ship the fix.
Gonna mark this as resolved but leave it open so others can find the ticket for a while – if anyone encounters this after upgrading to 1.1.3 please @ mention me!