Across my usage of one year of MailSpring, I had 894 crashes of mailsync.bin and have 894 coredumps ( coredumpctl | grep -i /usr/share/mailspring/resources/app.asar.unpacked/mailsync.bin | wc -l
).
Most of them have stack traces which looks like this:
Message: Process 95285 (main) of user 1000 dumped core.
Stack trace of thread 95288:
#0 0x00007f9bf0a95755 raise (libc.so.6)
#1 0x00007f9bf0a80851 abort (libc.so.6)
#2 0x0000000000e05b8b _ZN10__cxxabiv111__terminateEPFvvE (mailsync.bin)
#3 0x0000000000e05bd1 _ZSt9terminatev (mailsync.bin)
#4 0x0000000000e581a8 execute_native_thread_routine (mailsync.bin)
#5 0x00007f9bf0f8d57f start_thread (libpthread.so.0)
#6 0x00007f9bf0b570e3 __clone (libc.so.6)
Stack trace of thread 95285:
#0 0x00007f9bf0f96a6c read (libpthread.so.0)
#1 0x0000000000e5b407 _ZNSt12__basic_fileIcE6xsgetnEPcl (mailsync.bin)
#2 0x0000000000e41f0c _ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv (mailsync.bin)
#3 0x0000000000e0acbe _ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_ (mailsync.bi>
#4 0x00000000007cb2f6 _ZN11DeltaStream11waitForJSONEv (mailsync.bin)
#5 0x000000000075e250 _Z21runListenOnMainThreadSt10shared_ptrI7AccountE (mailsync.bin)
#6 0x000000000076065a main (mailsync.bin)
#7 0x00007f9bf0a81ee3 __libc_start_main (libc.so.6)
#8 0x000000000075a435 _start (mailsync.bin)
Stack trace of thread 95286:
#0 0x00007f9bf0f97145 __nanosleep (libpthread.so.0)
#1 0x000000000077d4f3 _ZNSt11this_thread9sleep_forIlSt5ratioILl1ELl1000EEEEvRKNSt6chrono8durationIT_T0_EE (mailsync.bi>
#2 0x000000000075c530 _Z12runFlushLoopv (mailsync.bin)
#3 0x00000000007b7c3f _ZNSt12_Bind_simpleIFPFvvEvEE9_M_invokeIIEEEvSt12_Index_tupleIIXspT_EEE (mailsync.bin)
#4 0x00000000007b724d _ZNSt12_Bind_simpleIFPFvvEvEEclEv (mailsync.bin)
#5 0x00000000007b69fa _ZNSt6thread5_ImplISt12_Bind_simpleIFPFvvEvEEE6_M_runEv (mailsync.bin)
#6 0x0000000000e580f0 execute_native_thread_routine (mailsync.bin)
#7 0x00007f9bf0f8d57f start_thread (libpthread.so.0)
#8 0x00007f9bf0b570e3 __clone (libc.so.6)
Stack trace of thread 95291:
#0 0x00007f9bf0f937ca pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x000000000075a5d5 _ZL24__gthread_cond_timedwaitP14pthread_cond_tP15pthread_mutex_tPK8timespec (mailsync.bin)
#2 0x0000000000785831 _ZNSt18condition_variable17__wait_until_implINSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEEE>
#3 0x000000000077e66b _ZNSt18condition_variable10wait_untilINSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEEEESt9cv_>
#4 0x00000000007cb6dd _ZZN11DeltaStream11flushWithinEiENKUlvE_clEv (mailsync.bin)
#5 0x00000000007ccb92 _ZNSt12_Bind_simpleIFZN11DeltaStream11flushWithinEiEUlvE_vEE9_M_invokeIJEEEvSt12_Index_tupleIJXs>
#6 0x00000000007ccafb _ZNSt12_Bind_simpleIFZN11DeltaStream11flushWithinEiEUlvE_vEEclEv (mailsync.bin)
#7 0x00000000007cca9a _ZNSt6thread5_ImplISt12_Bind_simpleIFZN11DeltaStream11flushWithinEiEUlvE_vEEE6_M_runEv (mailsync>
#8 0x0000000000e580f0 execute_native_thread_routine (mailsync.bin)
#9 0x00007f9bf0f8d57f start_thread (libpthread.so.0)
#10 0x00007f9bf0b570e3 __clone (libc.so.6)
Stack trace of thread 95289:
#0 0x00007f9bf0f97145 __nanosleep (libpthread.so.0)
#1 0x000000000081ebaf _ZNSt11this_thread9sleep_forIlSt5ratioILl1ELl1EEEEvRKNSt6chrono8durationIT_T0_EE (mailsync.bin)
#2 0x000000000081da6d _ZN24MetadataExpirationWorker3runEv (mailsync.bin)
#3 0x000000000075f112 _ZZ4mainENKUlvE3_clEv (mailsync.bin)
#4 0x000000000076af1e _ZNSt12_Bind_simpleIFZ4mainEUlvE3_vEE9_M_invokeIJEEEvSt12_Index_tupleIJXspT_EEE (mailsync.bin)
#5 0x000000000076accf _ZNSt12_Bind_simpleIFZ4mainEUlvE3_vEEclEv (mailsync.bin)
#6 0x000000000076aa8e _ZNSt6thread5_ImplISt12_Bind_simpleIFZ4mainEUlvE3_vEEE6_M_runEv (mailsync.bin)
#7 0x0000000000e580f0 execute_native_thread_routine (mailsync.bin)
#8 0x00007f9bf0f8d57f start_thread (libpthread.so.0)
#9 0x00007f9bf0b570e3 __clone (libc.so.6)
Stack trace of thread 95287:
#0 0x00007f9bf0f937ca pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x000000000075a5d5 _ZL24__gthread_cond_timedwaitP14pthread_cond_tP15pthread_mutex_tPK8timespec (mailsync.bin)
#2 0x0000000000785831 _ZNSt18condition_variable17__wait_until_implINSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEEE>
#3 0x000000000077e66b _ZNSt18condition_variable10wait_untilINSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEEEESt9cv_>
#4 0x000000000080e1bc _ZN9MailUtils25sleepWorkerUntilWakeOrSecEi (mailsync.bin)
#5 0x000000000075c9c4 _Z23runBackgroundSyncWorkerv (mailsync.bin)
#6 0x000000000075f02a _ZZ4mainENKUlvE1_clEv (mailsync.bin)
#7 0x000000000076afda _ZNSt12_Bind_simpleIFZ4mainEUlvE1_vEE9_M_invokeIJEEEvSt12_Index_tupleIJXspT_EEE (mailsync.bin)
#8 0x000000000076ad17 _ZNSt12_Bind_simpleIFZ4mainEUlvE1_vEEclEv (mailsync.bin)
#9 0x000000000076aace _ZNSt6thread5_ImplISt12_Bind_simpleIFZ4mainEUlvE1_vEEE6_M_runEv (mailsync.bin)
#10 0x0000000000e580f0 execute_native_thread_routine (mailsync.bin)
#11 0x00007f9bf0f8d57f start_thread (libpthread.so.0)
#12 0x00007f9bf0b570e3 __clone (libc.so.6)
Or more recently (4h ago):
Stack trace of thread 108778:
#0 0x00007fe1e834348b __select (libc.so.6 + 0xf748b)
#1 0x0000000000ac279d wait_read (mailsync.bin + 0x6c279d)
#2 0x0000000000ac0ff0 mailstream_low_compress_read (mailsync.bin + 0x6c0ff0)
#3 0x0000000000a93983 mailstream_low_read (mailsync.bin + 0x693983)
#4 0x0000000000a93364 mailstream_feed_read_buffer (mailsync.bin + 0x693364)
#5 0x0000000000ac1290 mailstream_read_line_append (mailsync.bin + 0x6c1290)
#6 0x0000000000a988c5 mailimap_status (mailsync.bin + 0x6988c5)
#7 0x0000000000a6747a _ZN8mailcore11IMAPSession12folderStatusEPNS_6StringEPNS_9ErrorCodeE (mailsync.bin + 0x66747a)
#8 0x00000000008c8a68 _ZN10SyncWorker18idleCycleIterationEv (mailsync.bin + 0x4c8a68)
#9 0x00000000007bdce8 _Z23runForegroundSyncWorkerv (mailsync.bin + 0x3bdce8)
#10 0x00000000007be0ba _ZZ23runBackgroundSyncWorkervENKUlvE_clEv (mailsync.bin + 0x3be0ba)
#11 0x00000000007ce4ac _ZNSt12_Bind_simpleIFZ23runBackgroundSyncWorkervEUlvE_vEE9_M_invokeIJEEEvSt12_Index_tupleIJXspT_>
#12 0x00000000007ce0a9 _ZNSt12_Bind_simpleIFZ23runBackgroundSyncWorkervEUlvE_vEEclEv (mailsync.bin + 0x3ce0a9)
#13 0x00000000007cddf0 _ZNSt6thread5_ImplISt12_Bind_simpleIFZ23runBackgroundSyncWorkervEUlvE_vEEE6_M_runEv (mailsync.bi>
#14 0x0000000000edcbc0 execute_native_thread_routine (mailsync.bin + 0xadcbc0)
#15 0x00007fe1e8782422 start_thread (libpthread.so.0 + 0x9422)
#16 0x00007fe1e834bb83 __clone (libc.so.6 + 0xffb83)
To Reproduce
Steps to reproduce the behavior:
- Use MailSpring and has some coredumps collector.
- Wait enough time, do work, ready our emails, sync!
coredumpctl
- See coredumps.
Expected behavior
Known bugs or explanations on this. I don’t think it’s okay for a program to crash, neither it’s really good for its “battery-friendly” aspect I believe.
Note:
As it is closed source, I am personally in the dark, I just cannot run gdb and try to understand or fix it properly. I understand the reasons behind a closed source tree, but really I think it should be possible to get access to the source code upon request while accepting that we will never bother you about support for it. Something between closed source & open source, or just close all bugs reports, I can read C++0x or whatever you use nowadays.
MailSync would be an awesome piece of code for the email landscape on Linux, I find this is a shame we cannot really see it. But that’s not the purpose of this bug report.
Screenshots
I could attach a tarball of my 894 coredumps (or whatever is still on my disk, after garbage collection/rotation).
Setup: (please complete the following information):
- OS: Archlinux
- OS Version: Rolling release
- Mailspring Version: 1.7.6-e94bb759
Additional context
AFAIK, I don’t know what could be the reason for this. I have 5 accounts to synchronize, also I have one inbox which is always synchronizing a folder and I don’t understand why (everything is IMAP).
(Originally posted by RaitoBezarius on GitHub.)