ASSERTION: POP: authMethod pref invalid: 'false', file /var/tmp/portage/www-client/seamonkey-2.33.1/work/comm-release/mailnews/local/src/nsPop3Protocol.cpp, line 1607

RESOLVED FIXED in Thunderbird 52.0

Status

MailNews Core
Networking: POP
RESOLVED FIXED
3 years ago
2 years ago

People

(Reporter: Martin Mokrejs, Assigned: aceman)

Tracking

Trunk
Thunderbird 52.0

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments, 1 obsolete attachment)

3.99 KB, image/png
Details
1.33 KB, patch
aceman
: review+
Details | Diff | Splinter Review
(Reporter)

Description

3 years ago
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 SeaMonkey/2.33.1
Build ID: 20150425013755

Steps to reproduce:

I compiled seamonkey-2.33.1 DEBUG build and see the following, likely during the periodic POP3 email fetches:

GetDiskSpaceAvailable returned: 1149141307392 bytes
[32592] ###!!! ASSERTION: POP: authMethod pref invalid: 'false', file /var/tmp/portage/www-client/seamonkey-2.33.1/work/comm-release/mailnews/local/src/nsPop3Protocol.cpp, line 1607
Begin mail message delivery.
Abort mail message delivery.
GetDiskSpaceAvailable returned: 1149141307392 bytes
[32592] ###!!! ASSERTION: POP: authMethod pref invalid: 'false', file /var/tmp/portage/www-client/seamonkey-2.33.1/work/comm-release/mailnews/local/src/nsPop3Protocol.cpp, line 1607
Begin mail message delivery.
Abort mail message delivery.
GetDiskSpaceAvailable returned: 1149141307392 bytes
[32592] ###!!! ASSERTION: POP: authMethod pref invalid: 'false', file /var/tmp/portage/www-client/seamonkey-2.33.1/work/comm-release/mailnews/local/src/nsPop3Protocol.cpp, line 1607
Begin mail message delivery.
Abort mail message delivery.
GetDiskSpaceAvailable returned: 1149144072192 bytes
[32592] ###!!! ASSERTION: POP: authMethod pref invalid: 'false', file /var/tmp/portage/www-client/seamonkey-2.33.1/work/comm-release/mailnews/local/src/nsPop3Protocol.cpp, line 1607
Begin mail message delivery.
Abort mail message delivery.
GetDiskSpaceAvailable returned: 1149144199168 bytes
[32592] ###!!! ASSERTION: POP: authMethod pref invalid: 'false', file /var/tmp/portage/www-client/seamonkey-2.33.1/work/comm-release/mailnews/local/src/nsPop3Protocol.cpp, line 1607
Begin mail message delivery.
Abort mail message delivery.
GetDiskSpaceAvailable returned: 1149143384064 bytes
[32592] ###!!! ASSERTION: POP: authMethod pref invalid: 'false', file /var/tmp/portage/www-client/seamonkey-2.33.1/work/comm-release/mailnews/local/src/nsPop3Protocol.cpp, line 1607
Begin mail message delivery.
Abort mail message delivery.






Expected results:

BTW, the "Abort mail message delivery." seems too harsh. would "Finished mail message delivery." or "Abort mail message delivery (nothing to deliver)." be more appropriate?

Updated

3 years ago
Component: General → Networking: POP
OS: Unspecified → Linux
Product: SeaMonkey → MailNews Core
Hardware: Unspecified → x86_64
Version: SeaMonkey 2.33 Branch → 36
(Assignee)

Comment 1

3 years ago
So what is your value of the authMethod preference for that server?
(Reporter)

Comment 2

3 years ago
Created attachment 8597888 [details]
authMethod.png

I don't see any related to POP3 account. Clues?
(Assignee)

Comment 3

3 years ago
So a value of 7 seems to be nsMsgAuthMethodValue::External. There is a comment that this method means "/// Auth External is cert-based authentication". Somehow this one is not acceptable for POP3. How did you set the prefs like that? Please go into account settings and review the security of the connection and password sending of each pop3 account.
(Reporter)

Comment 4

3 years ago
The window in "Security" was all greyed-out (with placeholder for values for GPG/S-MIME crypto I guess). Here are values from "Server settings":

Server name: 192.168.251.1
Port: 110
Connection security: None
Auth method: TLS Cert

Server name: pop.gmail.com (I bet this one is the culprit)
Port: 995
Connection security: SSL/TLS
Auth method: Normal password

Server name: 192.168.251.1
Port: 110
Connection security: None
Auth method: TLS Cert

Server name: pop3.seznam.cz (should be unused)
Port: 995
Connection security: SSL/TLS
Auth method: Normal password

Server name: xx.xx.xx.xx (should be unused)
Port: 110
Connection security: None
Auth method: Password, transmitted insecurely

Server name: 192.168.252.1
Port: 110
Connection security: None
Auth method: TLS Cert
(Assignee)

Comment 5

3 years ago
I never noticed that "TLS Certificate" option in the Auth method list. But I see it now. I don't know how it is supposed to work and why POP3 rejects it as unknown value. Then why is it even offered in the account settings.

Rkent, would you have an idea who could know something about this?
Flags: needinfo?(rkent)

Comment 6

3 years ago
No, I don't know anything about this option. I woiuld have to research it.
Flags: needinfo?(rkent)
(Reporter)

Comment 7

3 years ago
It still happens with seamoneky-2.38:

[4464] ###!!! ASSERTION: POP: authMethod pref invalid: 'false', file /var/tmp/portage/www-client/seamonkey-2.38/work/comm-release/mailnews/local/src/nsPop3Protocol.cpp, line 1610
(Reporter)

Comment 8

2 years ago
Still happens with:

[27536] ###!!! ASSERTION: POP: authMethod pref invalid: 'false', file /scratch/var/tmp/portage/www-client/seamonkey-2.42.3.0_p0/work/thunderbird-45.3.0/mailnews/local/src/nsPop3Protocol.cpp, line 1627
(Assignee)

Comment 9

2 years ago
So when reading the code in that file, I think this happens:
1.The TLS certificate method is not supported in our POP3 handling.
2.if this value is set in account settings, the assertion is printed out.
3.Then the code falls back to supporting all the other methods, and matching with what the server advertises, chooses one of the other methods.

Martin, do you actually expect it to use any TLS certificate? Do you have any set in TB for this purpose (but I don't know how that is done)?
Can you try any of the other Auth options, like Normal password? I'd guess one of them will work as one of them is actually used even if you have TLS cert.

I see nsMsgAuthMethodValue::External being supported for IMAP.
So if my theory is true, we can hide this method for POP3 so that users do not run into it by mistake.

Wayne, I CC you here as this "TLS cert" method could be in use in enterprises. In case it actually works for somebody and we mistakenly disable it here, you may remember this bug :)
Assignee: nobody → acelists
(Reporter)

Comment 10

2 years ago
So, looking at the Certificate for the 192.168.251.1 server I see it is anyway expired. Second, if I revert to Connection security: "None" and Auth method: "None, password transmitted insecurely", the ASSERT is gone. I agree now it is probably a misconfiguration on my side. So, the below combination should probably be banned:

Port: 110
Connection security: None
Auth method: TLS Cert
(Assignee)

Comment 11

2 years ago
Created attachment 8794548 [details] [diff] [review]
patch

Ok, let's hide it from the menu.
My reading of the code indicates External is not supported for POP3:
https://dxr.mozilla.org/comm-central/rev/a94bcdb65d806805648ad6c9e1251a2edb8d1df4/mailnews/local/src/nsPop3Protocol.cpp#1600
It is only for IMAP:
https://dxr.mozilla.org/comm-central/rev/a94bcdb65d806805648ad6c9e1251a2edb8d1df4/mailnews/imap/src/nsImapProtocol.cpp#5504
Attachment #8794548 - Flags: review?(mkmelin+mozilla)
(Assignee)

Updated

2 years ago
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
OS: Linux → All
Hardware: x86_64 → All
Version: 36 → Trunk

Comment 12

2 years ago
Comment on attachment 8794548 [details] [diff] [review]
patch

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

::: mailnews/base/prefs/content/am-server.js
@@ +34,3 @@
>    document.getElementById("authMethod-oauth2").hidden = (serverType != "imap");
> +  if (serverType != "imap")
> +    hideUnlessSelected(document.getElementById("authMethod-external"));

I think you should just use .hidden like for oauth2. If someone has it selected, it's not a working account anyway.
Attachment #8794548 - Flags: review?(mkmelin+mozilla) → review+
(Assignee)

Comment 13

2 years ago
As you can see in the bug report, the account is working thanks to the fallback to other methods. The user only noticed because he was observing warnings from a DEBUG build (thanks!).

I worried that if we just hide it in the AM, if the user has the value selected, visiting the Server settings panel will reset the value to some other value (potentially choosing a method that does not work). But it seems to preserve the value so let's try it with your version.
(Assignee)

Comment 14

2 years ago
Created attachment 8794623 [details] [diff] [review]
patch v2
Attachment #8794548 - Attachment is obsolete: true
Attachment #8794623 - Flags: review+
(Assignee)

Updated

2 years ago
Keywords: checkin-needed
https://hg.mozilla.org/comm-central/rev/75c57c9dc363
Status: ASSIGNED → RESOLVED
Last Resolved: 2 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 52.0
You need to log in before you can comment on or make changes to this bug.