TB 113 very slow (3 minutes) startup on Mac. (macOS contacts)
Categories
(Thunderbird :: General, defect)
Tracking
(thunderbird_esr140 affected)
| Tracking | Status | |
|---|---|---|
| thunderbird_esr140 | --- | affected |
People
(Reporter: mitra_lists, Unassigned)
References
(Blocks 1 open bug, )
Details
(Keywords: perf, Whiteboard: [has perf profile])
Attachments
(3 files, 1 obsolete file)
TB 113 is very very slow starting - 2 to 3 minutes is typical for me.
I have a lot of messages but not outrageous including Inbox around 300 or so, 40MB but so it might be doing something over the message base.
I reported it on the discussion https://thunderbird.topicbox.com/groups/beta/T01a53e6c2c0a2015-M21f4ce8ca32d6f60a6296bfe so not repeating conversation that was there but note that diagnosis included trying Safe mode.
This problem has been there since March 17.
I can say the experience is not yours alone. I am on a much older machine (13 years and counting) but 2.5 minutes is still a long time.
Comment 2•3 years ago
|
||
This problem has been there since March 17.
This would coincide with 112.0b1.
Slow with calendars and without calendars?
| Reporter | ||
Comment 3•3 years ago
|
||
I'm wondering how to test this - if I go to Calendars there is just one, its location is a caldev address, which is my icloud calendar.
This was done a few years back - I'm not sure if I followed the instructions at
https://discussions.apple.com/thread/3414939?answerId=17479458022#17479458022
or
https://frightanic.com/apple-mac/thunderbird-icloud-calendar-sync/
but anyway the "unsubscribe" is greyed out, so I'm not sure how to test. I did try switching synchronisation to Manualbut it still took several minutes to restart. Is there another way to test "without calendars"
The other candidate for issues would be the Address Book ?
The apple Address book is also connected, I could delete that, but I'm worried about not being able to reconnect it, since that was connected using the workaround published when TB wasn't asking for the correct permissions, and involved something like regressing to an old TB version which did ask permissions then switching the profile back to the new TB or something like that.
I'm not sure how to test this without risking data loss, any ideas?
Off topic - my number one priority for any changes in TB would be fixing the Mac OSX integration - without doing these two (geek only) hacks I believe TB is pretty much unusable to most Mac users as it doesn't otherwise integrate with their calendars or address book for their other apps or their phones.
Comment 4•3 years ago
|
||
(In reply to Mitra Ardron from comment #3)
I'm wondering how to test this - if I go to Calendars there is just one, its location is a caldev address, which is my icloud calendar.
This was done a few years back - I'm not sure if I followed the instructions at
https://discussions.apple.com/thread/3414939?answerId=17479458022#17479458022
or
https://frightanic.com/apple-mac/thunderbird-icloud-calendar-sync/but anyway the "unsubscribe" is greyed out, so I'm not sure how to test. I did try switching synchronisation to Manualbut it still took several minutes to restart. Is there another way to test "without calendars"
The other candidate for issues would be the Address Book ?
The apple Address book is also connected, I could delete that, but I'm worried about not being able to reconnect it, since that was connected using the workaround published when TB wasn't asking for the correct permissions, and involved something like regressing to an old TB version which did ask permissions then switching the profile back to the new TB or something like that.
I'm not sure how to test this without risking data loss, any ideas?
It is possible to get a performance profile on start using https://profiler.firefox.com/docs/#/./guide-startup-shutdown. See also https://support.mozilla.org/en-US/kb/profiling-thunderbird-performance
Off topic
Please don't mix - it's simiply lost here in an unrelated bug.
| Reporter | ||
Comment 5•3 years ago
•
|
||
Thanks for the pointers, I think that worked. I did in a terminal window
cd /Applications
MOZ_PROFILER_STARTUP=1
export MOZ_PROFILER_STARTUP
open Thunderbird.app
Then when TB populated the window (3 mins or so later): Tools -> Developer -> Developer Toolbox -> Accept Incoming Connection -> Capture Recording -> (wait for profile window to open) -> Upload and selected to send extension detail but nothing else optional.
https://share.firefox.dev/3B4m4kY
If that wasn't what you wanted, let me know what to do differently.
Updated•3 years ago
|
Comment 6•3 years ago
|
||
The majority of delay happens within nsAbOSXDirectory::Init. Other users have reported delays related to Mac address book. I would start there. I don't have a reference handy, but try disabling the Mac-Thunderbird contacts settings.
Updated•3 years ago
|
| Reporter | ||
Comment 7•3 years ago
|
||
How do you disable it ? I can't find a setting - I tried deleting the MacOSX book (from the "..." on the Address Book / MacOSX) and that didn't remove it. There used to be a setting somewhere for enabing the book, but I can't find it any more.
| Reporter | ||
Comment 8•3 years ago
|
||
Update - actually it didn't delete the MacOs from the Address Books, and now TB refuses to start at all after attempting to delete it, which is a much more serious bug - I had to restore my old profile to get it back. :-(
That of course is a much worse (data losing) bug - I've filed it as bug #1833285
@Wayne - was I correctly removing the Address Book as you suggested - a process that failed or is there a correct way that I couldn't find?
Comment 9•3 years ago
•
|
||
| workaround | ||
The workaround I was looking for is in bug 1662759 comment 28. To be clear, I really did mean only "disable".
Thanks for filing that new bug report.
From that comment ...
To recap, it is Thunderbird-macOS AB initialization/interaction that causes the problem. Settings possibilities are:
- Changing ldap_2.servers.osx.dirType from 3 to -3, this "disables" the Mac OS X Address Book in Thunderbird, preventing it from displaying and also prevents Thunderbird-macOS AB initialization
- Changing Contacts privacy settings in macOS preferences (listed below) prevents Thunderbird-macOS AB initialization and is an effective workaround
- Unchecking "Local Address Books" in Thunderbird preferences, BUT that only affects the use non-ldap address books for compose compose and does not prevent Thunderbird-macOS AB initialization
macOS preferences workaround:
- open macOS System preferences
- type "privacy"
- click privacy settings
- click contacts
- at the bottom click the lock and provide your password
- uncheck the box for thunderbird
- restart thunderbird
| Reporter | ||
Comment 10•3 years ago
|
||
OK - I can confirm that turning off access to contacts makes it start up at a normal speed.
I have a fairly large contact list 7900 and about 50 lists, but I don't think that is unusually large.
Comment 11•3 years ago
|
||
Same issue in version 102 - workaround bug 1810313 comment 4.
Another report at https://support.mozilla.org/en-US/questions/1417126
| Reporter | ||
Comment 12•3 years ago
|
||
Without knowing the code base, it seems that something that should be asynchronous is sychronous, i.e. even if TB has a stupendously slow process that does something like reading through all the address book entries at startup, there probably shouldn't be a need for the rest of the UX to wait for that.
Comment 13•3 years ago
|
||
(In reply to Mitra Ardron from comment #12)
Without knowing the code base, it seems that something that should be asynchronous is sychronous, i.e. even if TB has a stupendously slow process that does something like reading through all the address book entries at startup, there probably shouldn't be a need for the rest of the UX to wait for that.
Same problem with MacOS Sonoma 14.0 and: over 1000 contacts in my MacOS Contacts directory. Depending to my internet connection it takes 20 - 60 sec to startup Thunderbird. It seems TB is waiting for the Apple Contacts.
After disabling the access, like St78 describes it, startup time is about 5 sec! I agree Mitra Ardron...
Comment 14•3 years ago
|
||
The good news is CardDav should work when the native Mac AB does not. Supporting Mac AB interface changes every few years and therefore breaks - hence CardDav is the future, and native support will probably be phased out If I remember correctly,
| Reporter | ||
Comment 15•3 years ago
|
||
Right, but there must be something seriously wrong with TB's use of the CardDav interface if it takes this long, it must be doing something iteratively across all of the cards, without caching the previous record, and unclear why its blocking everything else.
| Reporter | ||
Comment 16•3 years ago
|
||
This seems to have been fixed. Working now on TB 120.0b5 could someone else confirm, so we know its not just me ?
| Reporter | ||
Comment 17•2 years ago
|
||
OK - its not fixed, its just no longer connecting to the Mac Address book, which is a far more serious bug.
My Mac OS X Address Book shows up in the list of address books, but has zero contacts.
I seem to remember there was a checkbox to enable showing the MacOS it somewhere, but I can't find it - its not in Settings (at least not obviously).
On the OSX -> Settings -> Privacy -> Contacts, Thunderbird is no longer listed, I'm almost certain
that it used to be. I'm still running on Ventura (OSX 13.6) so it doesn't look like this bug is caused by updating OSX, just by updating TB
Updated•2 years ago
|
| Reporter | ||
Comment 22•2 years ago
|
||
I can confirm this is still a problem in 126.0b1, TB takes a few minutes to start on Macs with Mac Address book connected
Comment 23•2 years ago
|
||
Just want to add that I am affected by this problem as well, since I upgraded my OSX. Currently using ThunderBird 115.10.1 (64-Bit) release version via HomeBrew. Disabling the use of OSX contacts circumvents the problem, but I need the contacts for work.
MacBook Pro 2019, OSX Sonoma, about 3000 contacts, startup of ThunderBird takes roughly 1 minute.
While ThunderBird is in that "slow starting" phase (blank white window and spinning beachball), I see two OSX processes using more CPU:
syspolicyd (ca. 38% CPU) and contactsd (ca. 16% CPU).
Comment 24•2 years ago
|
||
I'd like to add my own details, hoping it might help resolve the issue.
I have a regular install of thunderbird, which as described in the bug report takes minutes to start. Starting thunderbird in safe mode doesn't help, and neither does rebooting the computer.
Starting from the command line (/Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin), I can see thousands of errors like these:
2024-06-09 12:31:53.650 thunderbird-bin[39623:1813961] Rethrowing (from nts_ValueForProperty:) NSInternalInconsistencyException: Unhandled error (NSCocoaErrorDomain, 134092) occurred during faulting and was thrown: Error Domain=NSCocoaErrorDomain Code=134092 "(null)"
CoreData: error: Unhandled error occurred during faulting: Error Domain=NSCocoaErrorDomain Code=134092 "(null)" ({
})
2024-06-09 12:31:53.665 thunderbird-bin[39623:1813961] Rethrowing (from nts_ValueForProperty:) NSInternalInconsistencyException: Unhandled error (NSCocoaErrorDomain, 134092) occurred during faulting and was thrown: Error Domain=NSCocoaErrorDomain Code=134092 "(null)"
CoreData: error: Unhandled error occurred during faulting: Error Domain=NSCocoaErrorDomain Code=134092 "(null)" ({
})
2024-06-09 12:31:53.679 thunderbird-bin[39623:1813961] Rethrowing (from nts_ValueForProperty:) NSInternalInconsistencyException: Unhandled error (NSCocoaErrorDomain, 134092) occurred during faulting and was thrown: Error Domain=NSCocoaErrorDomain Code=134092 "(null)"
CoreData: error: Unhandled error occurred during faulting: Error Domain=NSCocoaErrorDomain Code=134092 "(null)" ({
})
After a few miuntes, the errors stop and thunderbird can be used normally, without any noticeable slowdown
I have been able to reproduce a similar issue with thunderbird nightly, without any associated email account. steps:
- isntall thunderbird nightly
- start from the command line (to see logs): /Applications/Thunderbird\ Daily.app/Contents/MacOS/thunderbird
- TB starts normally, without delay
- in the welcome dialog, click cancel
- tick the "use Daily without an email account" checkbox
- click the exit button
- => thunderbird seems to work fine
- click on the calendar, tasks, or chat tabs on the left: no issue
- click on the address book tab: TB freezes and errors like these flood the console:
2024-06-09 12:41:43.904 thunderbird[39676:1817851] Rethrowing (from nts_ValueForProperty:) NSInternalInconsistencyException: Unhandled error (NSCocoaErrorDomain, 134092) occurred during faulting and was thrown: Error Domain=NSCocoaErrorDomain Code=134092 "(null)"
CoreData: error: Unhandled error occurred during faulting: Error Domain=NSCocoaErrorDomain Code=134092 "(null)" ({
})
2024-06-09 12:41:43.923 thunderbird[39676:1817851] Rethrowing (from nts_ValueForProperty:) NSInternalInconsistencyException: Unhandled error (NSCocoaErrorDomain, 134092) occurred during faulting and was thrown: Error Domain=NSCocoaErrorDomain Code=134092 "(null)"
CoreData: error: Unhandled error occurred during faulting: Error Domain=NSCocoaErrorDomain Code=134092 "(null)" ({
})
2024-06-09 12:41:43.950 thunderbird[39676:1817851] Rethrowing (from nts_ValueForProperty:) NSInternalInconsistencyException: Unhandled error (NSCocoaErrorDomain, 134092) occurred during faulting and was thrown: Error Domain=NSCocoaErrorDomain Code=134092 "(null)"
CoreData: error: Unhandled error occurred during faulting: Error Domain=NSCocoaErrorDomain Code=134092 "(null)" ({
})
There are 4684 instances of the same error, which almost matches the number of cards in my address book (4228)
Thunderbird: 115.11.1 (64 bits)
Thunderbird daily: 128.0a1 (2024-06-08) (64-bit)
OS: MacOS ventura 13.6.7 (22G720)
Updated•2 years ago
|
Comment 25•2 years ago
|
||
Is this gone for anyone when using Sequoia?
| Reporter | ||
Comment 26•2 years ago
|
||
I'm still on Sonoma - like many I'll wait for 15.1 as the .0 releases from Apple are often problematic (especially for non-Apple Apps)
Comment 27•2 years ago
|
||
The problem is still not solved OSX 15.1. Thunderbird 128.2.4
Comment 28•1 year ago
|
||
(In reply to Wayne Mery (:wsmwk) from comment #25)
Is this gone for anyone when using Sequoia?
Problem still persists with SQUOIA 15.1.1
Comment 29•1 year ago
|
||
Thanks for the info
Updated•1 year ago
|
Comment 30•1 year ago
|
||
(In reply to Wayne Mery (:wsmwk) from comment #25)
Is this gone for anyone when using Sequoia?
Nope. TB 115.10.1 (64-bit) on MacOS Sequoia 15.3.2 (M1) still does it: 30 seconds of no response before it even maps the display. The workaround of disabling TB's access to Contacts in MacOS Settings does avoid it. I've been living with this problem for years and only just found the workaround.
| Comment hidden (advocacy) |
Comment 32•1 year ago
|
||
(In reply to bastien.girschig@gmail.com from comment #24)
Starting from the command line (/Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin), I can see thousands of errors like these:
2024-06-09 12:31:53.650 thunderbird-bin[39623:1813961] Rethrowing (from nts_ValueForProperty:) NSInternalInconsistencyException: Unhandled error (NSCocoaErrorDomain, 134092) occurred during faulting and was thrown: Error Domain=NSCocoaErrorDomain Code=134092 "(null)" CoreData: error: Unhandled error occurred during faulting: Error Domain=NSCocoaErrorDomain Code=134092 "(null)" ({ })
....
I tried that after the workaround (turning off access to MacOS Contacts) and I still get over 2400 of those messages. (I have about 1400 Contacts.) These messages may be a red herring, as when started normally, not from the command line, tbird starts up promptly after the workaround.
Comment 33•1 year ago
|
||
System 15.3.2 still has the problem, nothing has changed.....
Comment 34•1 year ago
|
||
I am seeing the same issue in Sequoia 15.5. The workaround is the same that others have done which is to prohibit TB from accessing contacts from the Mac's system preferences. Bummer.
Comment 35•10 months ago
|
||
No trouble with version 140esr and macOS 26.0.1 per Bug 1877055 - Updates to macOS Contacts list requires Thunderbird restart.
I didn't try 15.6 with 140esr.
| Reporter | ||
Comment 36•10 months ago
•
|
||
I am able to repeat both Bug #1877055 (OSX contacts not updating to TB) and this one (3 minute plus startup) in 147.0b3 on OSX 15.7.3 (i.e. fully updated Sequioa but not moved to current 26.x because of reported issues with older (M1 in my case) laptops.
| Comment hidden (advocacy) |
| Comment hidden (obsolete) |
Updated•6 months ago
|
Comment 39•6 months ago
|
||
The app still doesn't work properly.
| Comment hidden (obsolete) |
Comment 41•1 month ago
|
||
I can confirm that this issue is still reproducible with Thunderbird 156.0.1 on macOS 26.7 (Apple Silicon), and I was able to narrow the startup delay down to the macOS Contacts integration using both A/B testing and sample.
Environment
- Thunderbird: 156.0.1 (15626.9.22)
- macOS: 26.7 (25G229)
- Architecture: ARM64
- Hardware: MacBook Pro 14-inch (Nov 2023)
- CPU: Apple M3 Max
- RAM: 64 GB
- Contacts database: approximately 1,495 contacts
- Thunderbird profile: long-lived profile with approximately 75,000 messages and 1,700 folders
The machine is not under memory pressure and the issue is consistently reproducible.
Reproduction
With Thunderbird allowed to access Contacts in:
System Settings → Privacy & Security → Contacts → Thunderbird
a normal launch from the Dock/Finder or using:
open /Applications/Thunderbird.app
takes approximately 30 seconds before Thunderbird becomes usable.
If I revoke Thunderbird’s Contacts permission, startup becomes essentially immediate.
This is completely reproducible:
Contacts permission enabled -> ~30 s startup
Contacts permission disabled -> near-instant startup
Contacts permission enabled -> ~30 s startup again
No Thunderbird profile data or configuration is changed between these tests.
Main-thread sampling during the slow startup
I captured the Thunderbird process during the slow period using:
sudo sample <thunderbird-pid> 15 -file thunderbird-slow.sample.txt
The main thread spends a very significant part of the sampled startup path inside the macOS AddressBook / Contacts stack.
The stack repeatedly goes through functions such as:
ABRecord valueForProperty:
ABPerson nts_ValueForProperty:
ABPerson nts_note
ABCDRecord
CNCDRecord
ContactsPersistence
CoreData / NSXPCStore
NSXPCConnection
xpc_connection_send_message_with_reply_sync
and ultimately waits synchronously through Mach/XPC calls.
There are very large sample counts in the ABRecord/ABPerson paths (in some branches approximately 1,400 samples), so Contacts activity is not incidental background activity: it dominates a significant part of the main-thread startup sample.
This appears consistent with the earlier observations in this bug that startup time increases with the size of the macOS address book.
Interesting additional observation: direct executable launch
There is another reproducible difference which may be useful for diagnosing the problem.
If Thunderbird is started directly from a terminal using:
/Applications/Thunderbird.app/Contents/MacOS/thunderbird
startup is essentially immediate, even while Thunderbird still has permission to access Contacts.
I captured another 15-second sample from this fast launch.
The environment is identical: same Thunderbird binary, same profile, same Contacts database, and Contacts permission remains enabled.
In this case Thunderbird was launched at:
14:36:03.614
and sampling started at:
14:36:06.415
By that point, the main thread was already in the normal AppKit event loop:
-[NSApplication run]
-> nextEventMatchingMask
-> _DPSNextEvent
-> RunCurrentEventLoopInMode
-> CFRunLoop
-> mach_msg
In other words, less than three seconds after the direct executable launch, Thunderbird had already reached its normal event loop instead of being blocked traversing the macOS AddressBook stack.
The behavior therefore currently looks like this on my system:
Dock / Finder / open Thunderbird.app
+ Contacts enabled
-> AddressBook / Contacts processing on main thread
-> ~30 s startup
Direct execution of Contents/MacOS/thunderbird
+ Contacts enabled
-> normal AppKit event loop within a few seconds
-> UI available almost immediately
Dock / Finder / open Thunderbird.app
+ Contacts disabled
-> UI available almost immediately
I initially investigated LaunchServices, code-signing/trust evaluation, GPU initialization, message indexing, folder indexes, and plugin-container startup. However, the decisive A/B result is the Contacts permission: toggling only that permission reliably toggles the slow startup on and off.
The direct-executable-vs-normal-app-launch difference may also be useful for narrowing down where the Contacts initialization is triggered. I do not know whether this changes when/how the macOS Contacts integration is initialized, or whether TCC/application-launch context affects that initialization, so I do not want to speculate further.
Attached samples
I am attaching the two complete macOS sample outputs used for this comparison:
- thunderbird-slow.sample.txt — normal application launch with Contacts access enabled, captured during the ~30-second delay.
- thunderbird-fast.sample.txt — direct Contents/MacOS/thunderbird launch with Contacts access enabled, captured immediately after startup.
I reviewed both sample files for personal or account data before attaching them. They contain process/thread stacks and system/library information, but no contact records, email addresses, message contents, credentials, or Thunderbird account data that I could identify.
I hope the comparison between these two samples can help identify why the macOS Contacts initialization behaves differently depending on the launch path.
| Comment hidden (obsolete) |
| Comment hidden (advocacy) |
Comment 44•1 month ago
|
||
Comment 45•1 month ago
|
||
Comment 46•1 month ago
|
||
Comment 47•24 days ago
|
||
I've also had this "slow startup" problem with Thunderbird on macOS for years. Having just upgraded to Thunderbird 153.5.0 ESR, I can confirm (a) it still happens on macOS 15.7.9 with Thunderbird 153.5.0 ESR, and (b) it seems exactly tied to access to the Apple Contacts database as described in this (and related) issues.
In my case, with 821 cards in my Apple Contacts database, over several contact groups, the startup delay (main UI thread stalled) is about 15-30 seconds, on an Intel i7 Mac Mini / 64GB RAM, with Thunderbird having access to the contacts database, measured to the point the UI actually paints more than the background. And 3-5 seconds to the UI painting more than the background with the Apple Contacts database blocked (via System Settings -> Contacts).
Experimenting with some things suggested here, I've found that running from the Terminal with both Thunderbird and the Terminal blocked from accessing the Contacts database, then the Apple Contacts entries don't populate into Thunderbird (expected), and the startup is fast (3-5 seconds) and there are almost no errors in the Terminal. In this fast startup case, the only errors are:
ewen@basadi:~$ /Applications/OpenSource/Thunderbird.app/Contents/MacOS/thunderbird
2026-10-19 01:38:00.535 Thunderbird GPU Helper[10190:49228012] Failure on line 687 in function id scheduleApplicationNotification(LSNotificationCode, NSWorkspaceNotificationCenter *): noErr == _LSModifyNotification(notificationID, 1, &code, 0, NULL, NULL, NULL)
2026-10-19 01:38:00.639 Thunderbird GPU Helper[10190:49228012] Error received in message reply handler: Connection invalid
2026-10-19 01:38:00.639 Thunderbird GPU Helper[10190:49228028] Connection Invalid error for service com.apple.hiservices-xpcservice.
and nothing else through a fully usable UI.
Whereas if either (a) Terminal.app has access to the Contacts database and it is started from the Terminal (/Applications/OpenSource/Thunderbird.app/Contents/MacOS/thunderbird in my case), or (b) Thunderbird.app has access to the Contacts database, and it is started as its own app (ie, with its own app permissions bundle instead of inheriting from the terminal), then (a) the startup is slow (15-30 seconds typically), (b) the Apple Contacts populate in Thunderbird's address book (expected), and (c) there are the GPU warnings above, then many many additional errors output to the Terminal if run that way, of the form:
CoreData: error: Unhandled error occurred during faulting: Error Domain=NSCocoaErrorDomain Code=134092 "(null)" ({
})
2026-10-19 14:29:47.123 thunderbird[9841:49217931] Rethrowing (from nts_ValueForProperty:) NSInternalInconsistencyException: Unhandled error (NSCocoaErrorDomain, 134092) occurred during faulting and was thrown: Error Domain=NSCocoaErrorDomain Code=134092 "(null)"
CoreData: error: Unhandled error occurred during faulting: Error Domain=NSCocoaErrorDomain Code=134092 "(null)" ({
})
2026-10-19 14:29:47.141 thunderbird[9841:49217931] Rethrowing (from nts_ValueForProperty:) NSInternalInconsistencyException: Unhandled error (NSCocoaErrorDomain, 134092) occurred during faulting and was thrown: Error Domain=NSCocoaErrorDomain Code=134092 "(null)"
[...]
CoreData: error: Unhandled error occurred during faulting: Error Domain=NSCocoaErrorDomain Code=134092 "(null)" ({
})
2026-10-19 14:29:59.121 thunderbird[9841:49217931] Rethrowing (from nts_ValueForProperty:) NSInternalInconsistencyException: Unhandled error (NSCocoaErrorDomain, 134092) occurred during faulting and was thrown: Error Domain=NSCocoaErrorDomain Code=134092 "(null)"
and counting those there are nearly 800 occurrences of those pairs of errors (three of each in the example above):
ewen@basadi:~$ grep "Rethrowing" Desktop/thunderbird-153esr-macos-15-slow-startup-contacts.txt| wc -l
788
ewen@basadi:~$
Note the error timestamps range from 14:29:47 through 14:29:59, so that's about 12 of the seconds in the startup delay observed. (IIRC that startup seemed closer to 15 seconds than 30 second, and adding the 3 seconds of a normal startup would get 12+3 = 15 seconds observed.)
So it seems to me:
-
The Thunderbird interaction with the Apple Contacts database seems to encounter many many errors, leading to a deep error recovery path ("Unhandled error occurred during faulting");
-
The delay seems to be proportional to the number of contacts in the Apple Contacts database (or at least the number of contacts which aren't exactly shaped like Thunderbird is assuming); and
-
If this really needs to take 15+ seconds, it absolutely should not be on the UI thread blocking painting (eg, it should be pushed to a background thread)
If anyone ever fixes this (and I'm not sure they will, given it's been an issue for 5+ years :-/ ) then it'd be nice if the fix were also merged back into the ESR tree.
Ewen
Comment 48•24 days ago
|
||
Comment 49•24 days ago
|
||
As additional context, some searching for NSCocoaErrorDomain 134092 turned up:
https://developer.apple.com/forums/thread/847426
which has an answer saying "Error 134092 is a private Core Data error that roughly translates to permission denied." So something Thunderbird is doing trying to access the Apple Contacts seems to be triggering "permission denied", which isn't being properly handled. And that thing seems to be done roughly as many times as the number of Apple Contacts entries.
That discussion points at the com.apple.developer.contacts.notes permission. As context, I do extensively (but not always) use the Apple Contacts notes field, so most, but not all, of my Apple Contacts cards have notes.
Possibly that means that Thunderbird needs com.apple.developer.contacts.notes permission requested with the way it is currently implemented:
https://developer.apple.com/documentation/contacts/cncontactnotekey
https://developer.apple.com/documentation/bundleresources/entitlements/com.apple.developer.contacts.notes
or to explicitly do something to avoid triggering a fetch of the Contacts notes. At minimum it should at least catch and better handle the permission being denied, rather than triggering the (presumably slow) "unhandled Exception" issue reported repeatedly.
Ewen
Description
•