Crash just after launch on Sierra
Reported by Brock Brandenberg | October 2nd, 2016 @ 02:21 PM
I'm getting a repeatable crash of MailMate on Sierra that does not occur on El Capitan. It "appears" to be related to saving or writing to a local store, but I can't diagnose any further and need some tips on how to better isolate the problem for you. I have run under a second account with a not-yet-configured MailMate (meaning no IMAP accounts set up), and it does not crash, so it's related to the setup or contents in my regular user account.
I have a ton of crash logs, but they all show the crash after what appears to be an operation in OakUtilities looking for the existence of something during a save operation (below). I've triple-checked permissions on my ~/Library folder and subfolders, but I'm not sure how to troubleshoot any further from here. Looking for some tips :)
Thanks,
Brock Brandenberg
Thread 32 Crashed:: atomic_saving_thread_t
0 libsystem_kernel.dylib 0x00007fffa1ac2dda pthread_kill +
10
1 libsystem_pthread.dylib 0x00007fffa1bad797 pthread_kill + 90
2 libsystem_c.dylib 0x00007fffa1a28440 abort + 129
3 OakUtilities.dylib 0x000000010c9a9b35
oak::io::exists(std::1::basic_string, std::__1::allocator
> const&) + 128
4 OakUtilities.dylib 0x000000010c99cdf1
atomic_saving::atomic_saving_t::commit() + 1839
5 OakUtilities.dylib 0x000000010c9a03c9
atomic_saving::atomic_saving_thread_t::handle_request(std::__1::shared_ptr)
+ 29
6 OakUtilities.dylib 0x000000010c9a29c0 oak::server_t,
bool>::server_run() + 406
7 OakUtilities.dylib 0x000000010c9a25cd oak::server_t,
bool>::server_t(unsigned long)::runner_t::server(void*) + 9
8 libsystem_pthread.dylib 0x00007fffa1baaabb pthread_body +
180
9 libsystem_pthread.dylib 0x00007fffa1baaa07 _pthread_start +
286
10 libsystempthread.dylib 0x00007fffa1baa231 thread_start +
13
Thread 32 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x0000000000000006 rcx:
0x00007000044837c8 rdx: 0x0000000000000000 rdi: 0x000000000001362f
rsi: 0x0000000000000006 rbp: 0x00007000044837f0 rsp:
0x00007000044837c8 r8: 0x0000000000000040 r9: 0x00007fffaa66d040
r10: 0x0000000008000000 r11: 0x0000000000000206 r12:
0x00006080002cf2d0 r13: 0x00007fffaa66da20 r14: 0x0000700004484000
r15: 0x000060000010a6a0 rip: 0x00007fffa1ac2dda rfl:
0x0000000000000206 cr2: 0x00007fffaa66b128
Comments and changes to this ticket
-
Brock Brandenberg October 2nd, 2016 @ 02:52 PM
Having done a rebuild according to some other tickets, I'm adding the ".files_to_be_written.tmp" file from my ~/Library/Application Support/MailMate folder for your reference (filename changed to unhide it).
Brock
-
Brock Brandenberg October 2nd, 2016 @ 03:00 PM
I'll stop with this addition, I promise, but it's an important addition... Interestingly, the crash has occurred at the same "exists" operation but with a different backtrace.
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fffa1ac2dda pthread_kill + 10
1 libsystem_pthread.dylib 0x00007fffa1bad797 pthread_kill + 90
2 libsystem_c.dylib 0x00007fffa1a28440 abort + 129
3 OakUtilities.dylib 0x0000000108b68b35 oak::io::exists(std::1::basic_string, std::__1::allocator > const&) + 128
4 OakDatabase.dylib 0x00000001084f5487 database_t::raw_body_for_msg(int, unsigned long&, bool) + 255
5 OakDatabase.dylib 0x00000001084efdf1 database_t::body_part_ptr_for_msg(int) + 265
6 OakDatabase.dylib 0x00000001084f3414 database_t::body_part_for_body_part_id(int) + 472
7 OakDatabase.dylib 0x00000001084f2c71 database_t::delete_body_part(int, body_part_t*) + 263
8 OakDatabase.dylib 0x00000001084f2c5a database_t::delete_body_part(int, body_part_t*) + 240
9 OakDatabase.dylib 0x00000001084f2673 database_t::delete_message(int) + 145
10 OakDatabase.dylib 0x00000001084f25b8 database_t::delete_more_messages() + 88
11 com.apple.CoreFoundation 0x00007fff8c974551 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17
12 com.apple.CoreFoundation 0x00007fff8c9556bd __CFRunLoopDoSources0 + 557
13 com.apple.CoreFoundation 0x00007fff8c954bb6 __CFRunLoopRun + 934
14 com.apple.CoreFoundation 0x00007fff8c9545b4 CFRunLoopRunSpecific + 420
15 com.apple.HIToolbox 0x00007fff8bef5f6c RunCurrentEventLoopInMode + 240
16 com.apple.HIToolbox 0x00007fff8bef5da1 ReceiveNextEventCommon + 432
17 com.apple.HIToolbox 0x00007fff8bef5bd6 _BlockUntilNextEventMatchingListInModeWithFilter + 71
18 com.apple.AppKit 0x00007fff8a5ec5f5 _DPSNextEvent + 1093
19 com.apple.AppKit 0x00007fff8acfc8eb -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1637
20 com.apple.AppKit 0x00007fff8a5e0fbd -[NSApplication run] + 926
21 com.apple.AppKit 0x00007fff8a5aba8a NSApplicationMain + 1237
22 com.freron.MailMate 0x000000010810c285 main + 570
23 com.freron.MailMate 0x00000001080f1a64 start + 52 -
benny October 2nd, 2016 @ 03:06 PM
How did you update to Sierra? It looks like you might have restored MailMate from a backup which can unfortunately leave MailMate in an inconsistent state (because MailMate cannot control the order in which files are backed up).
I think in your case it's best if you delete the following folders and let MailMate rebuild from the servers (refetching emails):
~/Library/Application Support/MailMate/Database.noindex ~/Library/Application Support/MailMate/Messages.noindex ~/Library/Application Support/MailMate/Messages ~/Library/Application Support/MailMate/Attachments
I'm a bit surprised though that rebuilding the database did not work. You did as described in the manual pages?
Sorry about the inconvenience.
-
Brock Brandenberg October 2nd, 2016 @ 03:37 PM
In my case, I keep my user folder on a second partition and point my UNIX user to the other folder using the advanced options under Sys Prefs -> Users & Groups. So it wasn't restored, but rather "inherited" from my existing user folder. Being a Mac dev, this is the only sane way that I can keep two OS installs running simultaneously (current and beta, or beta and previous). Other than Spotlight having updated its internal format in the past and getting full rebuilds of the database when switching the startup OS, it's never posed a problem for me.
I did a rebuild again, but because I keep all of my messages on the server now and none locally, I get a "0 messages" dialog on launch, I hit OK, and then it starts synching and crashes. I'll delete the suggested folders and try again. Quick question... "Messages" is supposed to be a symlink to "Messages.noindex", correct?
Don't mind the inconvenience... I'm doing troubleshooting with my apps on Sierra so I know how this goes :) Something changes behavior slightly in a method in a framework or a function in a library, and voila, late night bug hunting begins :)
-
Brock Brandenberg October 2nd, 2016 @ 04:00 PM
Well, whad'ya know, I got a successful rebuild after deleting the folders and letting it re-fetch from the server. Actually, I just moved all four to a Desktop subfolder for safe keeping, but same effect. Thanks.
The previous rebuild, I did according to "Manually resetting MailMate" in the help pages. First command reported that no tmp files existed, the second generated the hidden rebuild file, then I got the "0 messages" dialog when I relaunched, then boom another crash report.
Thanks again,
Brock -
benny October 3rd, 2016 @ 02:04 PM
- State changed from new to cantreproduce
Yes, Messages is a symlink depending on your Spotlight related settings in the General preferences pane.
I'm afraid the issue was not related to upgrading to Sierra. It's probably a more general (rare) issue which MailMate does not handle gracefully.
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.