Options tab: Panes can't be switched - TypeError: control.radioChildConstructed is not a function radio.xml:29:13 - Mozmill failures on 2019-01-26: cloudfile/test-cloudfile-manager.js, pref-window/test-font-chooser.js, mozmill/testAlarmDefaultValue.js

RESOLVED FIXED in Thunderbird 66.0

Status

defect
RESOLVED FIXED
6 months ago
5 months ago

People

(Reporter: Paenglab, Unassigned)

Tracking

({regression})

unspecified
Thunderbird 66.0
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [Thunderbird-testfailure: Z all][Thunderbird-disabled-test][fixed by bug 1522778])

Attachments

(1 attachment)

When opening the prefs I get:

TypeError: control.radioChildConstructed is not a function radio.xml:29:13
radio_XBL_Constructor chrome://global/content/bindings/radio.xml:29
_insertElement resource:///modules/Overlays.jsm:372
_mergeElement resource:///modules/Overlays.jsm:408
_resolveForwardReference resource:///modules/Overlays.jsm:320
load resource:///modules/Overlays.jsm:158
load resource:///modules/Overlays.jsm:40
observe chrome://messenger/content/parent/ext-legacy.js:138

TypeError: child is null[Learn More] customElements.js:80:7

The build from Fri, Jan 25, 23:22:31 is working but the Daily from today not.

Last good: https://hg.mozilla.org/mozilla-central/rev/e4b9b1084292
First bad: https://hg.mozilla.org/mozilla-central/rev/341040a5fb80

https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=e4b9b1084292&tochange=341040a5fb80

Hmm, it's easy to blame it on M-C, but sometimes we have caused regressions ourselves. Can you try a backout of
https://hg.mozilla.org/comm-central/rev/bffe1c0bac89d31eb8154176efbe27ef11aab997

Anyway, this is CE/de-XBL territory.

Flags: needinfo?(mkmelin+mozilla)
Flags: needinfo?(arshdkhn1)

I thought this was already filed somewhere.

I'll try, but why is a build from Fri, Jan 25, 23:22:31 working? It has this change already?

Yes, bug 1509732, but now something else broke apparently.

(In reply to Richard Marti (:Paenglab) from comment #3)

I'll try, but why is a build from Fri, Jan 25, 23:22:31 working? It has this change already?

Just ignore me ;-)

Flags: needinfo?(geoff)

(In reply to Jorg K (GMT+1) from comment #1)

https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=e4b9b1084292&tochange=341040a5fb80

Hmm, it's easy to blame it on M-C, but sometimes we have caused regressions ourselves. Can you try a backout of
https://hg.mozilla.org/comm-central/rev/bffe1c0bac89d31eb8154176efbe27ef11aab997

For the record: A backout didn't help.

So you ignored to ignore me? ;-)

I guess this accounts for these test failures:

TEST-UNEXPECTED-FAIL | /Users/cltbld/tasks/task_1548498549/build/tests/mozmill/cloudfile/test-cloudfile-manager.js | test-cloudfile-manager.js::test_external_link
TEST-UNEXPECTED-FAIL | /Users/cltbld/tasks/task_1548498760/build/tests/mozmill/pref-window/test-font-chooser.js | test-font-chooser.js::test_font_name_displayed
TEST-UNEXPECTED-FAIL | /Users/cltbld/tasks/task_1548498760/build/tests/mozmill/pref-window/test-font-chooser.js | test-font-chooser.js::test_font_name_not_present
TEST-UNEXPECTED-FAIL | /Users/cltbld/tasks/task_1548498760/build/tests/mozmill/testAlarmDefaultValue.js | testAlarmDefaultValue.js::testDefaultAlarms

Maybe Aceman can take a look.

Flags: needinfo?(acelists)
Whiteboard: [Thunderbird-testfailure: Z all]
Summary: TypeError: control.radioChildConstructed is not a function radio.xml:29:13 → TypeError: control.radioChildConstructed is not a function radio.xml:29:13 - Mozmill debug failures on 2019-01-26: cloudfile/test-cloudfile-manager.js, pref-window/test-font-chooser.js, mozmill/testAlarmDefaultValue.js
Summary: TypeError: control.radioChildConstructed is not a function radio.xml:29:13 - Mozmill debug failures on 2019-01-26: cloudfile/test-cloudfile-manager.js, pref-window/test-font-chooser.js, mozmill/testAlarmDefaultValue.js → TypeError: control.radioChildConstructed is not a function radio.xml:29:13 - Mozmill failures on 2019-01-26: cloudfile/test-cloudfile-manager.js, pref-window/test-font-chooser.js, mozmill/testAlarmDefaultValue.js

(In reply to Jorg K (GMT+1) from comment #7)

So you ignored to ignore me? ;-)

No, your comment to ignore came too late.

Flags: needinfo?(acelists)

So CustomElements business as usual. The XBL code of "radio" (https://searchfox.org/comm-central/source/mozilla/toolkit/content/widgets/radio.xml#28) is run before the parent radiogroup is 'constructed' and 'connected' in https://searchfox.org/comm-central/source/mozilla/toolkit/content/widgets/radio.js#11 .

Thanks Richard, I've confirmed the regression via local backout (quite painful since a large recompile is triggered).

Blocks: 1518252
Summary: TypeError: control.radioChildConstructed is not a function radio.xml:29:13 - Mozmill failures on 2019-01-26: cloudfile/test-cloudfile-manager.js, pref-window/test-font-chooser.js, mozmill/testAlarmDefaultValue.js → Options tab: Panes can't be switched - TypeError: control.radioChildConstructed is not a function radio.xml:29:13 - Mozmill failures on 2019-01-26: cloudfile/test-cloudfile-manager.js, pref-window/test-font-chooser.js, mozmill/testAlarmDefaultValue.js

Sorry! I'm not sure how or why that would regress anything for you. I'm happy to assist where I can but I don't see any correlation tbh. Especially in the XUL scenario it should not affect anything.

Zibi, we use fluent too in our prefs.

When I remove this block https://searchfox.org/comm-central/source/mail/components/preferences/aboutPreferences.xul#39-42 then I can switch the panes again.

Well, I assume that FF options still work, so this may be related to the fact that we still haven't addressed bug 1468167 :-(

All tests relate to the pref tab somehow.

Whiteboard: [Thunderbird-testfailure: Z all] → [Thunderbird-testfailure: Z all][Thunderbird-disabled-test]

Richard: that's ok. My patch show work for all and any xul/xhtml/HTML using Fluent in Gecko. If it doesn't , something is wrong and I don't know what.

(In reply to :aceman from comment #10)

The XBL code of "radio" (https://searchfox.org/comm-central/source/mozilla/toolkit/content/widgets/radio.xml#28) is run before the parent radiogroup is 'constructed' and 'connected' in https://searchfox.org/comm-central/source/mozilla/toolkit/content/widgets/radio.js#11 .

Confirming.
After reverting m-c to before https://hg.mozilla.org/mozilla-central/rev/9ae7ae0acee4 the ordering is better:

  1. constructor of radiogroup
  2. constructor of radio
  3. connectedCallback of radiogroup (CE)

This still isn't the best, but at least the function radioChildConstructed() is already bound to the radiogroup element and exists.

By coincidence, I've been working on a patch for bug 1522778 which passes these tests. It needs a lot of cleanup which I'll do tonight or tomorrow.

Flags: needinfo?(geoff)

Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/63b3267ac3ba
temporarily switch off failing tests that open the preferences/options tab. rs=bustage-fix DONTBUILD

Status: NEW → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED

I accidentally closed this, but let's leave it closed and assume it will be fixed in bug 1522778.

Flags: needinfo?(mkmelin+mozilla)
Flags: needinfo?(arshdkhn1)
Target Milestone: --- → Thunderbird 66.0
Depends on: 1522778
Whiteboard: [Thunderbird-testfailure: Z all][Thunderbird-disabled-test] → [Thunderbird-testfailure: Z all][Thunderbird-disabled-test][fixed by bug 1522778]
Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/7c77797f78ec
(Partly) backed out changeset 63b3267ac3ba to re-enable tests (see bug 1524450 for remaining disabled test). a=backout

TB 66 beta:
https://hg.mozilla.org/releases/comm-beta/rev/fe791ff3dc62

This is a complete backout of rev 63b3267ac3ba from TB 66 beta since it's not affected by bug 1524450.

You need to log in before you can comment on or make changes to this bug.