Closed Bug 1683876 Opened 5 years ago Closed 5 years ago

Use an autorelease pool in gfxMacPlatformFontList::InitSharedFontListForPlatform

Categories

(Core :: Graphics, enhancement, P3)

Desktop
macOS
enhancement

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.

Severity: -- → S3
OS: Unspecified → macOS
Priority: -- → P3
Hardware: Unspecified → Desktop

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: 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
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 86 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: