Closed Bug 1725812 Opened 4 years ago Closed 4 years ago

Can't create a new account using manual setup - autoconfig fails in AccountCreationUtils.jsm

Categories

(Thunderbird :: Account Manager, defect, P1)

Thunderbird 91

Tracking

(thunderbird_esr91? fixed, thunderbird92? fixed)

RESOLVED FIXED
93 Branch
Tracking Status
thunderbird_esr91 ? fixed
thunderbird92 ? fixed

People

(Reporter: sergio, Assigned: aleca)

References

(Regression)

Details

(Keywords: regression)

Attachments

(4 files)

Attached image Screenshot_1.png

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36

Steps to reproduce:

The common next step after installation is setting an account.
Well, I get this error after enter the server settings. I've had this error 3 times on this week, in different companys, with different domains and differents OS (all of them are windows 7 and 8.1)

Actual results:

I've and error while setting the account. My temporary solution is installing a previous version (78.13 works well)

Expected results:

Create a new IMAP account succesfully

Sergio,
Can you share the account domain name?
Do you have js disabled?
Please check Tools > developer> error console for more relevant information.

Blocks: tb91found
Flags: needinfo?(sergio)
Summary: Can't create a new account → Can't create a new account. Autoconfig fails in AccountCreationUtils.jsm
Attached image Screenshot_2.png

Hi Wayne Mery, how are you?

the domain is fenixcargo.com.ar but, as I said, this happen to me with some differents domains in differents hosting providers too.

I'm attaching 2 additional screenshot. I hope it helps!

Flags: needinfo?(sergio)
Attached image Screenshot_3.png

I can confirm this bug, which I can reproduce consistently by doing this:

  • Use email @fenixcargo.com.ar
  • Click Continue
  • Click on Manual config
  • Change the port to 993 and click Re-Test
  • The Connection Security will be updated to SSL/TLS
  • Click Done => The error appears.

It seems that the failure happens here: https://searchfox.org/comm-central/rev/93487d295e3d3365c3082104ea980c7a0dfceeef/mail/components/accountcreation/content/accountSetup.js#2677
Where the assertion returns false when checking if the configSchema is an instance of AccountConfig.

This is very strange as testing this workflow with other domains works and doesn't return any error.

Status: UNCONFIRMED → NEW
Ever confirmed: true

I also had this problem today trying to add my account (internetbolivia.org domain). Re-ceck showed me a green alert, everything seems Ok until I try to click on ready button.

Console log:

mail.setup: Error creando cuenta. Ex=Programming bug. Assertion failed, see log.. Stack=Exception@resource:///modules/accountcreation/AccountCreationUtils.jsm:114:3
NotReached@resource:///modules/accountcreation/AccountCreationUtils.jsm:126:13
assert@resource:///modules/accountcreation/AccountCreationUtils.jsm:31:11
needed@chrome://messenger/content/accountcreation/accountSetup.js:2677:11
open@chrome://messenger/content/accountcreation/accountSetup.js:2736:23
onCreate@chrome://messenger/content/accountcreation/accountSetup.js:1992:30
onclick@about:accountsetup:1:15

There's another error in the console:

Programming bug. Assertion failed, see log. AccountCreationUtils.jsm:127 NotReached resource:///modules/accountcreation/AccountCreationUtils.jsm:127 assert resource:///modules/accountcreation/AccountCreationUtils.jsm:31 needed chrome://messenger/content/accountcreation/accountSetup.js:2677 open chrome://messenger/content/accountcreation/accountSetup.js:2736 onCreate chrome://messenger/content/accountcreation/accountSetup.js:1992 onclick about:accountsetup:1

I'm trying es-AR localization. As the other bug report is using a com.ar email, maybe it's the same localization.

Assignee: nobody → alessandro
Severity: -- → S2
Keywords: regression
Priority: -- → P1
Regressed by: 1697575

This is possibly related to servers with invalid SSL certificates. We have specific UI for that, to allow the user to override it, because many custom mail servers use self-signed certificates, or might be expired, or any other number of reasons, which can happen on small custom domains with part-time admins, and users want the servers to work anyway.

@aleca, if you didn't test bad SSL certs, then this code is likely to be broken, because it has specific UI for this case.

It could also be caused by an AccountConfig object that is incomplete and therefore not in a valid state. That's what the isComplete() check is verifying. Once we arrive here, the config must be complete. The UI needs to ensure that, before coming here. So, the assert is right and the code that comes here needs to make more checks before allowing the user to proceed.

Just in case it useful, the same configuration works perfect on Thunderbird 78, doing exactly the same

Yes, Using the Thunderbird 78 is the temporary solution I found to continue using this software

Severity: S2 → S1

That's where it fails for me as this check returns false: assert(configSchema.isComplete());

@aleca, if you didn't test bad SSL certs, then this code is likely to be broken, because it has specific UI for this case.

Yes, we're testing that and it's covered by the UI.
I think I found the regression.

Patch uploaded with a fix.

What I think it happens is the fact that we're not running validateManualEditComplete() after testing the edited manual config from a user.
Therefore, we're not properly storing the update config into the this._currentConfig attribute, which is then used to confirm everything before creating the account.

I think in 78 we never had this problem because all these methods were a bit tangled together, so the validate method was running constantly even when not needed.

This is a guess, but with this patch I'm able to complete the setup process after a successful manual re-test.

Status: NEW → ASSIGNED

I'm creating an artifact build with the patch applied, if anyone experiencing the issue is willing to load and install a daily build to test the fix, it would be much appreciated.

You can download the installer here: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/Je9tucUGRaC5HQNhFPK5AA/runs/0/artifacts/public/build/install/sea/target.installer.exe

This is TB 93, and if you install it be sure to back up your current profile as downgrading to 91 or 78 won't be possible.
Do a clean install and test the account setup with the same settings and steps failing in 91.

Yes, it's working :D

(In reply to Alessandro Castellani [:aleca] from comment #15)

You can download the installer here: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/Je9tucUGRaC5HQNhFPK5AA/runs/0/artifacts/public/build/install/sea/target.installer.exe

This is TB 93, and if you install it be sure to back up your current profile as downgrading to 91 or 78 won't be possible.
Do a clean install and test the account setup with the same settings and steps failing in 91.

Is there any easy way to test it on linux?

Guillermo,
This is the tarball for Linux: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/To8CCqHLSROkHSokHxVo3Q/runs/0/artifacts/public/build/target.tar.bz2

You can extract it and run Thunderbird directly from within that folder without installing it.

And this is the DMG for macOS if anyone is interested: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/MoU_4r7NT4iz69l1mvbP9g/runs/0/artifacts/public/build/target.dmg

(In reply to Sergio from comment #16)

Yes, it's working :D

Sweet, thanks for testing it!

(In reply to Alessandro Castellani [:aleca] from comment #18)

Guillermo,
This is the tarball for Linux: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/To8CCqHLSROkHSokHxVo3Q/runs/0/artifacts/public/build/target.tar.bz2

You can extract it and run Thunderbird directly from within that folder without installing it.

And this is the DMG for macOS if anyone is interested: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/MoU_4r7NT4iz69l1mvbP9g/runs/0/artifacts/public/build/target.dmg

It's working too for me. Thanks!

Great to hear.
If the patch is approved then we will release a new daily with the fix, and then land this fix on the next 91 update, probably 91.1

r=BenB

Pushed by thunderbird@calypsoblue.org:
https://hg.mozilla.org/comm-central/rev/81e6eeb68cb8
Update the _currentConfig object when the user manually tests a new configuration. r=mkmelin,BenB

Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 93 Branch

Comment on attachment 9236520 [details]
Bug 1725812 - Update the _currentConfig object when the user manually tests a new configuration. r=mkmelin

[Approval Request Comment]
Regression caused by (bug #): bug 1697575
User impact if declined: Inability to create an account after manually editing the Incoming and Outgoing config
Testing completed (on c-c, etc.): on c-c
Risk to taking this patch (and alternatives if risky): low

Attachment #9236520 - Flags: approval-comm-beta?

Comment on attachment 9236520 [details]
Bug 1725812 - Update the _currentConfig object when the user manually tests a new configuration. r=mkmelin

[Approval Request Comment]
Regression caused by (bug #): bug 1697575
User impact if declined: Inability to create an account after manually editing the Incoming and Outgoing config
Testing completed (on c-c, etc.): on c-c
Risk to taking this patch (and alternatives if risky): low

Attachment #9236520 - Flags: approval-comm-esr91?

Comment on attachment 9236520 [details]
Bug 1725812 - Update the _currentConfig object when the user manually tests a new configuration. r=mkmelin

[Triage Comment]
Approved for beta

Attachment #9236520 - Flags: approval-comm-beta? → approval-comm-beta+

We're building 91.0.2 today, but this hasn't yet been on beta. So this will be eligible for 91.0.3 which will probably happen next week.

@Wayne: I understand that it's policy to include the fix only if it was on beta before. Could we make an exception to that rule for this bug? This bug completely blocks the affected user from setting up an account. The fix can hardly make it worse.
More importantly, the fix is limited to the buggy code path, namely manual setup mode.
I think this is safe to include directly in 91.0.2.

Summary: Can't create a new account. Autoconfig fails in AccountCreationUtils.jsm → Can't create a new account using manual setup - autoconfig fails in AccountCreationUtils.jsm
Flags: needinfo?(vseerror)

Comment on attachment 9236520 [details]
Bug 1725812 - Update the _currentConfig object when the user manually tests a new configuration. r=mkmelin

[Triage Comment]
Approved for esr91 after reevaluating the patch

Flags: needinfo?(vseerror)
Attachment #9236520 - Flags: approval-comm-esr91? → approval-comm-esr91+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: