Closed Bug 1685236 Opened 4 years ago Closed 4 years ago

Missing autorelease pool in webrender::platform::macos::font::determine_font_smoothing_mode

Categories

(Core :: Graphics: WebRender, defect)

All
macOS
defect

Tracking

()

RESOLVED FIXED
86 Branch
Tracking Status
firefox86 --- fixed

People

(Reporter: mstange, Assigned: mstange)

References

Details

Attachments

(1 file)

This function creates a CTFont and runs on the render backend thread. The render backend thread does not have an autorelease pool, so various objects created during CTFont creation are leaked.

  * frame #0: 0x00007fff2020e755 libobjc.A.dylib`objc_autoreleaseNoPool
    frame #1: 0x00007fff2020e750 libobjc.A.dylib`AutoreleasePoolPage::autoreleaseNoPage(objc_object*) + 286
    frame #2: 0x00007fff201f3ae8 libobjc.A.dylib`objc_object::rootAutorelease2() + 32
    frame #3: 0x00007fff26eca966 libFontRegistry.dylib`-[XTypeXPCClient run:errorHandler:] + 78
    frame #4: 0x00007fff26ecd104 libFontRegistry.dylib`-[XTypeXPCClient XTCopyFontWithName:scope:options:] + 182
    frame #5: 0x00007fff26ec2822 libFontRegistry.dylib`TGlobalFontRegistry::CopyFontForName(__CFString const*, TFontQueryOptions const&) const + 138
    frame #6: 0x00007fff26ea827b libFontRegistry.dylib`XTCopyFontWithName + 141
    frame #7: 0x00007fff21a44878 CoreText`TDescriptorSource::CopyXTypeFontWithName(__CFString const*, unsigned long, unsigned long) + 102
    frame #8: 0x00007fff21a42d61 CoreText`TDescriptorSource::CopyFontDescriptorPerPostScriptName(__CFString const*, unsigned long, unsigned long, __CFString const*, __CFNumber const*, CTFontLegibilityWeight, __CFBoolean const*) const + 549
    frame #9: 0x00007fff219d99ba CoreText`TFont::InitDescriptor(__CFString const*, double, char const*, unsigned long) + 174
    frame #10: 0x00007fff219d9727 CoreText`TFont::TFont(__CFString const*, double, CGAffineTransform const*, char const*, unsigned long) + 47
    frame #11: 0x00007fff219d96b4 CoreText`TCFRef<CTFont*> TCFBase_NEW<CTFont, __CFString const*&, double&, CGAffineTransform const*&, char const (&) [21]>(__CFString const*&, double&, CGAffineTransform const*&, char const (&) [21]) + 109
    frame #12: 0x00007fff219d960f CoreText`CTFontCreateWithName + 67
    frame #13: 0x0000000106e6f8fa XUL`core_text::font::new_from_name::hc089a5eadcff65af(name=<unavailable>, pt_size=12) at font.rs:130:24 [opt]
    frame #14: 0x0000000106df93b6 XUL`webrender::platform::macos::font::determine_font_smoothing_mode::h8a102deed966cae1 at font.rs:111:19 [opt]
Pushed by mstange@themasta.com: https://hg.mozilla.org/integration/autoland/rev/cab720b743a2 Add an autorelease pool in determine_font_smoothing_mode. r=jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 4 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: