If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

MFBT FunctionImplBase vtable can differ depending on which files it is compiled in

RESOLVED FIXED in Firefox 48

Status

()

Core
MFBT
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: lsalzman, Assigned: lsalzman)

Tracking

unspecified
mozilla48
Points:
---

Firefox Tracking Flags

(firefox48 fixed)

Details

Attachments

(1 attachment)

(Assignee)

Description

2 years ago
MFBT's FunctionImplBase uses MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME. This makes typeName/typeSize optionally virtual based on whether MOZILLA_INTERNAL_API is defined. This is not defined when we compile Skia, so it can cause problems when we pass functions created in a file compiled with MOZILLA_INTERNAL_API to one that is not, or vice versa, since the vtable pointers won't match up.
(Assignee)

Comment 1

2 years ago
Created attachment 8739627 [details] [diff] [review]
don't use REFCOUNTED_VIRTUAL_TYPENAME for mfbt FunctionImplBase
Attachment #8739627 - Flags: review?(nfroyd)
Comment on attachment 8739627 [details] [diff] [review]
don't use REFCOUNTED_VIRTUAL_TYPENAME for mfbt FunctionImplBase

Review of attachment 8739627 [details] [diff] [review]:
-----------------------------------------------------------------

Doh!
Attachment #8739627 - Flags: review?(nfroyd) → review+

Comment 3

2 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/a10bbaedd405

Comment 4

2 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/a10bbaedd405
Status: ASSIGNED → RESOLVED
Last Resolved: 2 years ago
status-firefox48: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
You need to log in before you can comment on or make changes to this bug.