Closed Bug 1139824 Opened 9 years ago Closed 9 years ago

improve tracking of harfbuzz objects for font tables, to avoid inadvertent leaks

Categories

(Core :: Graphics: Text, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla39
Tracking Status
firefox39 --- fixed

People

(Reporter: jfkthame, Assigned: jfkthame)

Details

(Whiteboard: [MEMSHRINK])

Attachments

(1 file, 1 obsolete file)

See bug 1139646. We were leaking a font table reference, but this only showed up under WinXP because not all font backends keep track of the hb_blob objects created to hold tables.

The proposal here is to add constructor/destructor tracking (MOZ_COUNT_CTOR/MOZ_COUNT_DTOR) to the currently-untracked objects we attach to userData in the hb_blobs. This should make any such problems show up across all platforms in the future, and hence be easier to debug. (Bug 1139646 took me a while to track down largely because it was only happening on WinXP jobs.)

We might also want to do the same for other refcounted hb_* objects we're not currently tracking, such as hb_font and hb_face.
I've confirmed locally that with this patch (and without the leak fix from bug 1139646), running vertical-text reftests will report a bunch of leaked font tables; and that the patch in bug 1139646 fixes them all as expected. If we'd had this in place, we'd have noticed the problem much sooner, instead of only seeing a mysterious WinXP orange when I tried to land bug 1134598.
Attachment #8573205 - Flags: review?(jdaggett)
Assignee: nobody → jfkthame
Status: NEW → ASSIGNED
Minor update, adding 'explicit' to the FontTableRec constructor to make static analysis happy.
Attachment #8573414 - Flags: review?(jdaggett)
Attachment #8573205 - Attachment is obsolete: true
Attachment #8573205 - Flags: review?(jdaggett)
Whiteboard: [MEMSHRINK]
Attachment #8573414 - Flags: review?(jdaggett) → review+
https://hg.mozilla.org/mozilla-central/rev/3b88e051558b
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: