Description
I use Mailspring for six email accounts, and have noticed that mailsync.exe
creates a lot of handles (the handle counter I have enabled in Process Hacker keeps going up; sometimes I reckon about 100k handles for all the mailsync processes in total). These handles will go away on restarting MailSpring (which, in turn, restarts all the mailsync.exe
processes).
I have attached to a couple of processes via windbg and found that they use 15k and 25k event handles, respectively. Not sure if this is during normal operation or not, but I believe that the event handles are leaking.
To Reproduce…
Steps to reproduce the behavior:
- Have
mailsync.exe
running for several days - Attach to a
mailsync.exe
instance via windbg - Enter a command
!handle
- Note the event handle count
In one case, I had the following metrics:
Type Count
None 10
Event 26910
Section 1
File 28
Directory 4
Mutant 3
WindowStation 2
Semaphore 31
Key 17
Thread 18
Desktop 1
IoCompletion 7
TpWorkerFactory 5
ALPC Port 4
WaitCompletionPacket 14
Expected Behavior
mainsync.exe
shouldn’t leak resources even if running for several days.
Setup
- OS and Version: Windows 10 2004
- Installation Method: via Windows installer
- Mailspring Version: 1.8.0-8983dca2
Additional Context
I’ve found a GitHub issue mentioning a similar leak, marked as fixed in 2017: Mailsync leaks handles · Issue #388 · Foundry376/Mailspring · GitHub
Though I still observe the leaks (have to restart Mailspring every several days to reset the handle counter).