Closed
Bug 1683876
Opened 5 years ago
Closed 5 years ago
Use an autorelease pool in gfxMacPlatformFontList::InitSharedFontListForPlatform
Categories
(Core :: Graphics, enhancement, P3)
Tracking
()
RESOLVED
FIXED
86 Branch
Tracking | Status | |
---|---|---|
firefox86 | --- | fixed |
People
(Reporter: jrmuizel, Assigned: jfkthame)
References
Details
Attachments
(1 file)
* thread #1, name = 'MainThread', queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
* frame #0: 0x00007fff6e10168c libobjc.A.dylib`objc_autoreleaseNoPool
frame #1: 0x00007fff6e10168a libobjc.A.dylib`AutoreleasePoolPage::autoreleaseNoPage(objc_object*) + 282
frame #2: 0x00007fff6e0e8636 libobjc.A.dylib`objc_object::rootAutorelease2() + 32
frame #3: 0x00007fff37882371 Foundation`-[NSXPCConnection _sendInvocation:orArguments:count:methodSignature:selector:withProxy:] + 153
frame #4: 0x00007fff378822c9 Foundation`-[NSXPCConnection _sendInvocation:withProxy:] + 89
frame #5: 0x00007fff3520d10f CoreFoundation`___forwarding___ + 743
frame #6: 0x00007fff3520cd98 CoreFoundation`__forwarding_prep_0___ + 120
frame #7: 0x00007fff333984d5 libFontRegistry.dylib`__83-[XTypeXPCClient XTCopyPropertiesForFontsMatchingRequest:properties:scope:options:]_block_invoke + 104
frame #8: 0x00007fff33395866 libFontRegistry.dylib`-[XTypeXPCClient run:errorHandler:] + 87
frame #9: 0x00007fff3339842f libFontRegistry.dylib`-[XTypeXPCClient XTCopyPropertiesForFontsMatchingRequest:properties:scope:options:] + 202
frame #10: 0x00007fff33373e5f libFontRegistry.dylib`XTCopyFontsWithProperties + 160
frame #11: 0x00007fff370152dc CoreText`TDescriptorSource::EnsureSplicedFontStash() + 316
frame #12: 0x00007fff37014fe8 CoreText`TDescriptorSource::CopySplicedDescriptorForName(__CFString const*, __CFString const*, __CFString const*, __CFNumber const*, CTFontLegibilityWeight, __CFNumber const*, __CFString const*, __CFNumber const*) const + 210
frame #13: 0x00007fff370d760d CoreText`TDescriptorSource::CopyFontDescriptorPerPostScriptName(__CFString const*, unsigned long, unsigned long, __CFString const*, __CFNumber const*, CTFontLegibilityWeight) const + 573
frame #14: 0x00007fff370cd500 CoreText`ContainsAndIsOnlySearchableAttribute(__CFDictionary const*, TDescriptorSource const&, __CFString const*, unsigned long, __CFString const*, __CFNumber const*, CTFontLegibilityWeight) + 104
frame #15: 0x00007fff370080f2 CoreText`TDescriptor::CreateMatchingDescriptorInternal(__CFSet const*, unsigned long) const + 472
frame #16: 0x00007fff37007b0f CoreText`TDescriptor::CreateMatchingDescriptor(__CFSet const*, double, unsigned long) const + 201
frame #17: 0x00007fff370079fd CoreText`CTFontDescriptorCreateMatchingFontDescriptor + 100
frame #18: 0x00007fff662978d8 UIFoundation`+[__NSFontTypefaceInfo typefaceInfoForPostscriptName:options:] + 318
frame #19: 0x00007fff66297498 UIFoundation`__NSGetTypefaceInfoForFontName + 59
frame #20: 0x00007fff662970de UIFoundation`__NSGetMetaFontInstanceWithType + 228
frame #21: 0x00007fff6629900a UIFoundation`+[NSFont systemFontOfSize:] + 94
frame #22: 0x0000000102b35da3 XUL`gfxMacPlatformFontList::InitSystemFontNames(this=0x0000000116110000) at gfxMacPlatformFontList.mm:1205:17 [opt]
frame #23: 0x0000000102b3692a XUL`gfxMacPlatformFontList::InitSharedFontListForPlatform(this=0x0000000116110000) at gfxMacPlatformFontList.mm:982:3 [opt]
and
* frame #0: 0x00007fff6e10168c libobjc.A.dylib`objc_autoreleaseNoPool
frame #1: 0x00007fff6e10168a libobjc.A.dylib`AutoreleasePoolPage::autoreleaseNoPage(objc_object*) + 282
frame #2: 0x00007fff6e0e8636 libobjc.A.dylib`objc_object::rootAutorelease2() + 32
frame #3: 0x00007fff3339585d libFontRegistry.dylib`-[XTypeXPCClient run:errorHandler:] + 78
frame #4: 0x00007fff3339733c libFontRegistry.dylib`-[XTypeXPCClient XTCopyPropertiesForFont:keys:scope:options:] + 202
frame #5: 0x00007fff333721a4 libFontRegistry.dylib`XTCopyPropertiesForFont + 180
frame #6: 0x00007fff3700e1e4 CoreText`TBaseFont::CopyXTProperties(__CFSet const*, bool) const + 78
frame #7: 0x00007fff3700eb13 CoreText`TBaseFont::CopyVariationProperties() const + 141
frame #8: 0x00007fff3700e64e CoreText`TBaseFont::CopyVariationAxes() const + 120
frame #9: 0x00007fff3701a25f CoreText`TTenuousComponentFont::CopyVariationAxes() const + 35
frame #10: 0x00007fff3700e4d8 CoreText`TBaseFont::CopyOpticalSizeAxis() const + 54
frame #11: 0x00007fff37019dc7 CoreText`TTenuousComponentFont::TTenuousComponentFont(__CFDictionary const*, unsigned int, TSplicedFontDict const&) + 199
frame #12: 0x00007fff37019c09 CoreText`TSplicedFont::CreateDescriptor(__CFDictionary const*, unsigned int, TSplicedFontDict const&) + 529
frame #13: 0x00007fff370196f7 CoreText`TSplicedFont::CreateCascadeList(TSplicedFontDict const&) + 287
frame #14: 0x00007fff3701953c CoreText`TSplicedFont::Create(__CFURL const*, adopted_t const&, __CFDictionary const*) + 48
frame #15: 0x00007fff370194b1 CoreText`CreateSplicedFontFromStash(__CFDictionary const*, __CFURL const*) + 37
frame #16: 0x00007fff37016b0f CoreText`MakeSpliceDescriptor(__CFString const*, __CFNumber const*, __CFString const*, __CFString const*, __CFNumber const*, __CFNumber const*, CTFontLegibilityWeight) + 4972
frame #17: 0x00007fff370156f3 CoreText`TDescriptorSource::CopySpliceFontForName(__CFString const*, __CFString const*, __CFNumber const*, CTFontLegibilityWeight, __CFNumber const*, __CFString const*, __CFNumber const*) + 515
frame #18: 0x00007fff37015018 CoreText`TDescriptorSource::CopySplicedDescriptorForName(__CFString const*, __CFString const*, __CFString const*, __CFNumber const*, CTFontLegibilityWeight, __CFNumber const*, __CFString const*, __CFNumber const*) const + 258
frame #19: 0x00007fff370d760d CoreText`TDescriptorSource::CopyFontDescriptorPerPostScriptName(__CFString const*, unsigned long, unsigned long, __CFString const*, __CFNumber const*, CTFontLegibilityWeight) const + 573
frame #20: 0x00007fff370cd500 CoreText`ContainsAndIsOnlySearchableAttribute(__CFDictionary const*, TDescriptorSource const&, __CFString const*, unsigned long, __CFString const*, __CFNumber const*, CTFontLegibilityWeight) + 104
frame #21: 0x00007fff370080f2 CoreText`TDescriptor::CreateMatchingDescriptorInternal(__CFSet const*, unsigned long) const + 472
frame #22: 0x00007fff37007b0f CoreText`TDescriptor::CreateMatchingDescriptor(__CFSet const*, double, unsigned long) const + 201
frame #23: 0x00007fff370079fd CoreText`CTFontDescriptorCreateMatchingFontDescriptor + 100
frame #24: 0x00007fff662978d8 UIFoundation`+[__NSFontTypefaceInfo typefaceInfoForPostscriptName:options:] + 318
frame #25: 0x00007fff66297498 UIFoundation`__NSGetTypefaceInfoForFontName + 59
frame #26: 0x00007fff662970de UIFoundation`__NSGetMetaFontInstanceWithType + 228
frame #27: 0x00007fff6629900a UIFoundation`+[NSFont systemFontOfSize:] + 94
frame #28: 0x0000000102b35da3 XUL`gfxMacPlatformFontList::InitSystemFontNames(this=0x0000000116110000) at gfxMacPlatformFontList.mm:1205:17 [opt]
frame #29: 0x0000000102b3692a XUL`gfxMacPlatformFontList::InitSharedFontListForPlatform(this=0x0000000116110000) at gfxMacPlatformFontList.mm:982:3 [opt]
objc[87589]: MISSING POOLS: (0x1000d6dc0) Object 0x116d3b1c0 of class __NSFontTypefaceInfo autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() to debug
etc.
among others.
Updated•5 years ago
|
Severity: -- → S3
OS: Unspecified → macOS
Priority: -- → P3
Hardware: Unspecified → Desktop
Assignee | ||
Comment 1•5 years ago
|
||
Indeed -- we should have a local pool here, as it makes some Cocoa calls, and (usually) happens before the main event loop is running.
Assignee | ||
Comment 2•5 years ago
|
||
Depends on D100335
Updated•5 years ago
|
Assignee: nobody → jfkthame
Status: NEW → ASSIGNED
Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/eda8ec4d13cf
Use an autorelease pool in gfxMacPlatformFontList::InitSharedFontListForPlatform. r=jrmuizel
Comment 4•5 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
status-firefox86:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 86 Branch
Reporter | ||
Updated•5 years ago
|
Blocks: autorelease-leaks
You need to log in
before you can comment on or make changes to this bug.
Description
•