Closed Bug 1796983 Opened 3 years ago Closed 3 years ago

Perma TEST-UNEXPECTED-FAIL | layout/style/test/test_bug1112014.html | uncaught exception - NS_ERROR_FAILURE: at doApply@resource://specialpowers/WrapPrivileged.jsm when Gecko 108 merges to Beta on 2022-11-14

Categories

(Core :: Graphics: Text, defect)

defect

Tracking

()

VERIFIED FIXED
108 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox106 --- unaffected
firefox107 --- unaffected
firefox108 + verified

People

(Reporter: imoraru, Assigned: jfkthame)

References

(Regression)

Details

(Keywords: intermittent-failure, regression)

Attachments

(2 files)

[Tracking Requested - why for this release]:

Central-as-beta simulation:
How to run these simulations:

Failure log:

[task 2022-10-23T12:26:34.645Z] 12:26:34     INFO - TEST-PASS | layout/style/test/test_bug1112014.html | font-variant-east-asian supports timing-function 
[task 2022-10-23T12:26:34.646Z] 12:26:34     INFO - Buffered messages finished
[task 2022-10-23T12:26:34.647Z] 12:26:34     INFO - TEST-UNEXPECTED-FAIL | layout/style/test/test_bug1112014.html | uncaught exception - NS_ERROR_FAILURE:  at doApply@resource://specialpowers/WrapPrivileged.jsm:118:18
[task 2022-10-23T12:26:34.647Z] 12:26:34     INFO - apply/<@resource://specialpowers/WrapPrivileged.jsm:253:30
[task 2022-10-23T12:26:34.647Z] 12:26:34     INFO - wrapExceptions@resource://specialpowers/WrapPrivileged.jsm:206:12
[task 2022-10-23T12:26:34.647Z] 12:26:34     INFO - apply@resource://specialpowers/WrapPrivileged.jsm:237:12
[task 2022-10-23T12:26:34.647Z] 12:26:34     INFO - @http://mochi.test:8888/tests/layout/style/test/test_bug1112014.html:67:24
[task 2022-10-23T12:26:34.647Z] 12:26:34     INFO - 
[task 2022-10-23T12:26:34.647Z] 12:26:34     INFO -     simpletestOnerror@SimpleTest/SimpleTest.js:1968:18
[task 2022-10-23T12:26:34.648Z] 12:26:34     INFO - GECKO(2664) | JavaScript error: resource://specialpowers/WrapPrivileged.jsm, line 118: NS_ERROR_FAILURE:
[task 2022-10-23T12:26:34.649Z] 12:26:34     INFO - GECKO(2664) | MEMORY STAT | vsize 2550MB | residentFast 170MB | heapAllocated 18MB
[task 2022-10-23T12:26:34.650Z] 12:26:34     INFO - TEST-OK | layout/style/test/test_bug1112014.html | took 662ms
[task 2022-10-23T12:26:34.651Z] 12:26:34     INFO - TEST-START | layout/style/test/test_bug1203766.html

The second line of failure is TEST-UNEXPECTED-FAIL | layout/style/test/test_ch_ex_no_infloops.html | Setting 'font-variant-emoji' to '3ex' should not cause infinite loop - didn't expect "", but got it which also is related to the recent changes in Bug 1461589.

[task 2022-10-23T12:27:08.800Z] 12:27:08     INFO - TEST-PASS | layout/style/test/test_ch_ex_no_infloops.html | Setting 'font-variant-east-asian' to '2ch' should not cause infinite loop 
[task 2022-10-23T12:27:08.801Z] 12:27:08     INFO - Buffered messages finished
[task 2022-10-23T12:27:08.802Z] 12:27:08     INFO - TEST-UNEXPECTED-FAIL | layout/style/test/test_ch_ex_no_infloops.html | Setting 'font-variant-emoji' to '3ex' should not cause infinite loop - didn't expect "", but got it
[task 2022-10-23T12:27:08.802Z] 12:27:08     INFO -     SimpleTest.isnot@SimpleTest/SimpleTest.js:516:14
[task 2022-10-23T12:27:08.802Z] 12:27:08     INFO -     test_val@layout/style/test/test_ch_ex_no_infloops.html:32:10
[task 2022-10-23T12:27:08.802Z] 12:27:08     INFO -     @layout/style/test/test_ch_ex_no_infloops.html:35:11
[task 2022-10-23T12:27:08.803Z] 12:27:08     INFO - Not taking screenshot here: see the one that was previously logged
[task 2022-10-23T12:27:08.810Z] 12:27:08     INFO - TEST-UNEXPECTED-FAIL | layout/style/test/test_ch_ex_no_infloops.html | Setting 'font-variant-emoji' to '2ch' should not cause infinite loop - didn't expect "", but got it
[task 2022-10-23T12:27:08.810Z] 12:27:08     INFO -     SimpleTest.isnot@SimpleTest/SimpleTest.js:516:14
[task 2022-10-23T12:27:08.810Z] 12:27:08     INFO -     test_val@layout/style/test/test_ch_ex_no_infloops.html:32:10
[task 2022-10-23T12:27:08.810Z] 12:27:08     INFO -     @layout/style/test/test_ch_ex_no_infloops.html:36:11
[task 2022-10-23T12:27:08.811Z] 12:27:08     INFO - TEST-PASS | layout/style/test/test_ch_ex_no_infloops.html | Setting 'font-variant-ligatures' to '3ex' should not cause infinite loop 

Hi Jonathan! Can you please take a look at this?
Thank you!

Flags: needinfo?(jfkthame)
See Also: → 1796985
Severity: -- → S3

There appear to be a couple of issues with the font-variant-emoji property implemented in bug 1461589 when the pref is disabled, such that the new property should not be handled.

One problem is that the entry for font-variant-emoji in layout/style/test/property_database.js is not conditional on whether the pref is enabled; it is unconditionally included in gCSSProperties.

After fixing this, however, I still see some failures when the pref is disabled, e.g. in layout/style/test/test_value_storage.html. The problem is that when font-variant-emoji is disabled, the font-variant property does not always serialize as expected. Specifically:

sty = document.body.style;
// ensure no font-variant is present:
sty.removeProperty("font-variant");
// set all its enabled subproperties to "normal":
sty.setProperty("font-variant-alternates", "normal", "");
sty.setProperty("font-variant-caps", "normal", "");
sty.setProperty("font-variant-east-asian", "normal", "");
sty.setProperty("font-variant-ligatures", "normal", "");
sty.setProperty("font-variant-numeric", "normal", "");
sty.setProperty("font-variant-position", "normal", "");
// the font-variant shorthand should now return "normal":
alert(sty.getPropertyValue("font-variant"));

returns an empty string.

This appears to be because the code here bails out due to the font-variant-emoji longhand being included in font-variant's longhands but not actually present.

A fix is to check explicitly for the disabled longhand here, but this feels hacky..... I suspect I may be missing some other place where this could be handled more cleanly.

Flags: needinfo?(jfkthame)
Assignee: nobody → jfkthame
Status: NEW → ASSIGNED

Patch works in today's beta-sim.

Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ba7c5dc4d215 patch 1 - Fix property_database.js to correctly respect the font-variant-emoji pref. r=emilio https://hg.mozilla.org/integration/autoland/rev/71ee80174f8a patch 2 - Fix serialization of the font-variant shorthand when font-variant-emoji is preffed off. r=emilio
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 108 Branch

Verified fix in today's beta-sim.

Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: