
MailMate aborts during first run
Reported by Riot Nrrrd™ | January 25th, 2013 @ 10:37 PM
I just downloaded MailMate today and ran it for the first time.
It imported my 4 accounts from Apple's Mail.app and went off on its merry way filling in the index/header data for everything.
After about an hour or so it crashed via an abort(). I have 22,000+ e-mails in my home IMAP INBOX (dating back 20 years) so maybe that's why.
Looks like it crashed inside your OakDatabase library.
This is on a Mid-2010 Mac Pro 6-CPU 3.33GHz system running Mac OS 10.6.8. Crash dump follows ...
Process:         MailMate [54510]  
Path:            /Applications/MailMate.app/Contents/MacOS/MailMate  
Identifier:      com.freron.MailMate  
Version:         1.5.2 (3218)  
Code Type:       X86 (Native)  
Parent Process:  launchd [344]
Date/Time:       2013-01-25 14:32:06.913 -0800  
OS Version:      Mac OS X 10.6.8 (10K549)  
Report Version:  6
Interval Since Last Report:          1067613 sec  
Crashes Since Last Report:           1  
Per-App Interval Since Last Report:  3625 sec  
Per-App Crashes Since Last Report:   1  
Anonymous UUID:                      1F2141F2-4B35-4FA3-ABCB-FD0307BED42F
Exception Type:  EXC_CRASH (SIGABRT)  
Exception Codes: 0x0000000000000000, 0x0000000000000000  
Crashed Thread:  5  IMAP connection
Application Specific Information:  
abort() called
...
Thread 5 Crashed:  IMAP connection  
0   libSystem.B.dylib               0x90317f75 usleep$NOCANCEL$UNIX2003 + 0  
1   libSystem.B.dylib               0x903396f0 abort + 105  
2   libstdc++.6.dylib               0x967c4fda __gnu_cxx::__verbose_terminate_handler() + 433  
3   libstdc++.6.dylib               0x967c317a __cxxabiv1::__terminate(void (*)()) + 10  
4   libstdc++.6.dylib               0x967c31ba __cxxabiv1::__unexpected(void (*)()) + 0  
5   libstdc++.6.dylib               0x967c32b8 __gxx_exception_cleanup(_Unwind_Reason_Code, _Unwind_Exception*) + 0  
6   libstdc++.6.dylib               0x967c3658 operator new(unsigned long) + 101  
7   OakDatabase.dylib               0x002c3913 std::vector<char, std::allocator<char> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, char const&) + 137  
8   OakDatabase.dylib               0x002c3884 std::vector<char, std::allocator<char> >::push_back(char const&) + 62  
9   OakProtocols.dylib              0x0065e854 int connection_t::read<std::back_insert_iterator<std::vector<char, std::allocator<char> > > >(std::back_insert_iterator<std::vector<char, std::allocator<char> > >, bool, int) + 592  
10  OakProtocols.dylib              0x00659cb9 int connection_t::read_bytes<std::back_insert_iterator<std::vector<char, std::allocator<char> > > >(std::back_insert_iterator<std::vector<char, std::allocator<char> > >, int) + 101  
11  OakProtocols.dylib              0x0064daca imap_t::read_response() + 286  
12  OakProtocols.dylib              0x0064dbf9 imap_t::read_and_parse_responses(std::string const&) + 95  
13  OakProtocols.dylib              0x0064c9db imap_t::write_command_and_read_responses(std::string const&, ...) + 83  
14  OakProtocols.dylib              0x00645291 imap_t::fetch_messages() + 2845  
15  OakProtocols.dylib              0x00641177 imap_t::run_action() + 883  
16  OakProtocols.dylib              0x0063acf2 connection_t::run() + 314  
17  OakProtocols.dylib              0x0063e69b connection_command_t::handle_request(std::tr1::shared_ptr<connection_t>) + 187  
18  OakProtocols.dylib              0x0063fb46 oak::server_t<connection_command_t, std::tr1::shared_ptr<connection_t>, connection_command_t::result_t>::server_run() + 276  
19  OakProtocols.dylib              0x0063e8b5 oak::server_t<connection_command_t, std::tr1::shared_ptr<connection_t>, connection_command_t::result_t>::server_t(unsigned long)::runner_t::server(void*) + 17  
20  libSystem.B.dylib               0x9025d259 _pthread_start + 345  
21  libSystem.B.dylib               0x9025d0de thread_start + 34
Comments and changes to this ticket
- 
         benny January 25th, 2013 @ 10:59 PM22K messages is not a problem. The crash happens in the IMAP code fetching messages from the server. I am very interested if it's a reproducible problem. Is it? On restart MailMate should ask you if you want to send the crash report to me. This is the best way to provide them since then I can more easily see if multiple users have the same problem. And thanks for trying out MailMate. 
- 
            
         Riot Nrrrd™ January 26th, 2013 @ 07:21 AMUnfortunately it appears to be repeatable ... just aborted on me again at the same place. 
- 
         benny January 26th, 2013 @ 07:45 AMFor me it's a good thing since it means the bug can be fixed if you are willing to help me track it down. If you are willing to help me then this is what I want you to do: Take your accounts offline (in the Mailbox menu or the context sensitive menu) before it crashes. Then take them online one-by-one and wait for each one to fully synchronize (no spinners for the account). This way you'll find the account with the problem. Then you can do the same for the mailboxes within the problematic account. While the account is offline you can use “Edit Subscriptions...” in the IMAP account editor (double-click the account under SOURCES) to unsubscribe (client side) to all mailboxes. Then take the account online. Now you can take mailboxes online one-by-one by subscribing to them in “Edit Subscriptions” (if you have many mailboxes then you may want to take half of them online in order to do a faster binary search). If all goes well, you'll find a single IMAP mailbox triggering the bug. Let me know and then it may be best if I make a special debug version of MailMate to get more information. 
- 
            
         Riot Nrrrd™ January 26th, 2013 @ 04:46 PMI'm out of town all weekend but will give it a shot on Monday. 
- 
            
         Riot Nrrrd™ February 4th, 2013 @ 01:01 PMI decided to try out the newest build (1.5.2 (3239)) on my work MacBook Pro (running 10.8.2) instead. That machine only has 1 account instead of the 4 I use at home. It still crashes: Process: MailMate [35784] 
 Path: /Applications/MailMate.app/Contents/MacOS/MailMate
 Identifier: com.freron.MailMate
 Version: 1.5.2 (3239)
 Code Type: X86 (Native)
 Parent Process: ??? [1]
 User ID: 1074Date/Time: 2013-02-01 05:07:26.796 -0800 
 OS Version: Mac OS X 10.8.2 (12C60)
 Report Version: 10Interval Since Last Report: 644828 sec 
 Crashes Since Last Report: 5
 Per-App Interval Since Last Report: 17185 sec
 Per-App Crashes Since Last Report: 1
 Anonymous UUID: 52B79372-4BBA-2BDF-C83C-3131627DDC8ACrashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_CRASH (SIGABRT) 
 Exception Codes: 0x0000000000000000, 0x0000000000000000Application Specific Information: 
 terminate called throwing an exception
 abort() calledThread 0 Crashed:: Dispatch queue: com.apple.main-thread 
 0 libsystem_kernel.dylib 0x99112a6a pthread_kill + 10
 1 libsystem_c.dylib 0x98f3dacf pthread_kill + 101
 2 libsystem_c.dylib 0x98f744f8 abort + 168
 3 libc++abi.dylib 0x9019680c abort_message + 151
 4 libc++abi.dylib 0x90194275 default_terminate() + 34
 5 libc++abi.dylib 0x901942b5 safe_handler_caller(void (*)()) + 13
 6 libc++abi.dylib 0x9019431d std::terminate() + 23
 7 libc++abi.dylib 0x90195412 __cxa_throw + 110
 8 libstdc++.6.dylib 0x91bf72f6 operator new(unsigned long) + 127
 9 libstdc++.6.dylib 0x91be3406 std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator const&) + 92
 10 libstdc++.6.dylib 0x91be3367 std::string::_Rep::_M_clone(std::allocator const&, unsigned long) + 39
 11 libstdc++.6.dylib 0x91be3fe8 std::string::reserve(unsigned long) + 66
 12 libstdc++.6.dylib 0x91be4235 std::string::push_back(char) + 45
 13 com.freron.MailMate.OakMIME 0x00598646 void decode_base_64 > > >(char const*, char const*, std::back_insert_iterator > >) + 98
 14 com.freron.MailMate.OakMIME 0x00592b11 bool mime_decode > > >(char const*, char const*, std::back_insert_iterator > >, std::string const&, mime_errors_handler_t&) + 141
 15 com.freron.MailMate.OakMIME 0x00571037 body_part_t::decode_body() + 5785
 16 com.freron.MailMate.OakMIME 0x005886d4 body_part_t::num_errors() + 82
 17 com.freron.MailMate.OakMIME 0x005886c4 body_part_t::num_errors() + 66
 18 com.freron.MailMate.OakMIME 0x005886c4 body_part_t::num_errors() + 66
 19 com.freron.MailMate.OakMIME 0x005886c4 body_part_t::num_errors() + 66
 20 OakDatabase.dylib 0x002a9706 database_t::add_body_part(body_part_t&, database::add_options_t, bool, int) + 754
 21 OakDatabase.dylib 0x002a6f36 database_t::add_message(std::tr1::shared_ptr, database::add_options_t) + 886
 22 OakDatabase.dylib 0x002f72ad imap_account_t::handle_data(std::tr1::shared_ptr) + 31051
 23 OakProtocols.dylib 0x00638827 connection_command_t::handle_reply(connection_command_t::result_t const&) + 231
 24 OakProtocols.dylib 0x0063994a oak::server_t, connection_command_t::result_t>::master_run() + 118
 25 OakProtocols.dylib 0x006388dd cf::member_callback_t, connection_command_t::result_t> >::member_callback_t(void (oak::server_t, connection_command_t::result_t>::*)(), oak::server_t, connection_command_t::result_t>)::helper_t::wake_up(void) + 33
 26 com.apple.CoreFoundation 0x9752466f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 15[...]I'll include the full backtrace/dump in an attachment/file this time. 
- 
         benny February 4th, 2013 @ 01:23 PMThanks for the feedback. Using a different machine shows that the problem is likely to be a particular message (I assume the account is one of the same as used on your other machine). It would be very useful to me if we could find this message. I can make a debug version which creates a log file with a note for each message parsed. When it crashes, the end of that log file can tell us more about the message. Are you willing to do that for me? 
- 
         benny February 4th, 2013 @ 04:48 PMI went ahead and created a test version for you. Fetch it by holding down ⌥ when clicking “Check Now” in the Software Update preferences pane. You should get r3255. Before launching MailMate you should do the following in the Terminal: defaults write com.freron.MailMate MmDebugAddToDatabase -bool YESWith that preference enabled a log file is created on the Desktop named MailMateAddToDatabase.log. After the crash you should send that to me. You can do it privately: http://freron.com/contactTo see the last entry in the file then you can do this in the Terminal: tail ~/Desktop/MailMateAddToDatabase.logMaybe that can help you locate the email triggering MailMate to crash. Thanks in advance! 
- 
            
         Riot Nrrrd™ February 5th, 2013 @ 07:04 PMI installed 3255 at work and so far it has not crashed. Cool! So maybe the bad message(s) is in another account. I am trying the final 3255 at home now. 
- 
            
         Riot Nrrrd™ February 6th, 2013 @ 09:42 PMOK. The latest MailMate (3255) crashed again, this time in my home e-mail account. :( The last few messages in the MailMate debug log were: [...] ---------------------------- From: MoneyTransfer2@westernunion.com To: [My e-mail address elided] Subject: Western Union Money Transfer(R) Confirmation Date: Mon, 3 Mar 2003 14:32:25 -0600 Message-ID: OF6E4F03BD.DF2F41FC-ON86256CDE.0070D4EE-86256CDE.0071186F@westernunion.com ---------------------------- From: [My e-mail address elided] To: bbkidcat@yahoo.com.ar Cc: [My e-mail address elided] Subject: Western Union Money Transfer(R) Confirmation (fwd) Date: Mon, 03 Mar 2003 12:48:21 -0800 Message-ID: 200303032048.MAA13687@[my machine name elided] ---------------------------- From: dego lozano <bbkidcat@yahoo.com.ar> To: [My e-mail address elided] Subject: Re: Western Union Money Transfer(R) Confirmation (fwd) Date: Tue, 4 Mar 2003 13:29:38 -0300 (ART) Message-ID: 20030304162938.35035.qmail@web14512.mail.yahoo.com ----------------------------Does this mean this last message is the problematic one? Or the last one before the problematic one? I can send the offending message file to you privately. 
- 
         benny February 7th, 2013 @ 03:26 AMYes, please send it by email: http://freron.com/contact It should be the last one. Maybe you should zip it first, for example, use “Compress ...” in the Finder after saving the email to the Desktop. Thanks! 
- 
            
         
- 
            
         Riot Nrrrd™ April 4th, 2013 @ 12:58 AMHi Benny, I see with 1.5.3 you are creeping slowly towards 1.6 and my inability to run MailMate at home :D Is there anything in the latest version that might hopefully aid me in helping figure out why it keeps crashing on my home e-mail account? You said you might be able to cook up a debug version once you got back from vacation ... 
- 
         benny October 10th, 2013 @ 09:15 AM- State changed from new to cantreproduce
 Cleaning up old tickets. This ticket was never resolved (also not by email). I'll close it for now, but you are welcome to comment if this is still an issue. Last email from me is from April 4th, 2013. Note that various bugs have been fixed since this ticket was created and the issue might have been resolved. 
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
Mac OS X email client.
 Create new ticket
                    Create new ticket
 benny
      benny