Can't edit account settings after update to version 24, folder location error (if mail.root.pop3-rel , or .none-rel != [ProfD]Mail, wrong warning on proper .directory-rel==[ProfD]Mail/hostname is shown)

RESOLVED FIXED in Thunderbird 28.0

Status

defect
RESOLVED FIXED
6 years ago
3 years ago

People

(Reporter: callie450, Assigned: aceman)

Tracking

(Blocks 2 bugs, {regression})

Thunderbird 28.0
x86_64
Windows 7
Dependency tree / graph

Thunderbird Tracking Flags

(thunderbird27 fixed, thunderbird_esr2426+ fixed)

Details

(URL)

Attachments

(1 attachment, 2 obsolete attachments)

(Reporter)

Description

6 years ago
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0 (Beta/Release)
Build ID: 20130910160258

Steps to reproduce:

after upgrade from Thunderbird version 17.08 to version 24  I could not edit my accountsettings anymore.


Actual results:

 I got a pop-up screen saying " "Het lokale map-pad "C:\......\TB\Profiles\xxxxxxxx.default\Mail\Local Folders-2" is geschikt voor berichten opslag. Kies een ander pad."
I was not able anymore to edit any of the items in the Accountsettings screen as this pop-up showed every time.
someone else had/has the same problem :
http://www.mozbrowser.nl/forum/viewtopic.php?f=3&t=22587
but it was not resolved.
I added a new account, same result. And i could not delete any of the accounts.


Expected results:

I should be able to edit my account settings. after I rolled back to 17.08 all worked fine. ( running on windows 7 64bit with all the latest MS updates)
> Het lokale map-pad "C:\......\TB\Profiles\xxxxxxxx.default\Mail\Local Folders-2"
> is geschikt voor berichten opslag. Kies een ander pad.
Google Translate result.
> The local folder path "C: \ ...... \ TB \ Profiles \ xxxxxxxx.default \ Mail \ Local Folders 2"
> is suitable for storing messages. Choose a different path.

(1) It seems "is NOT suitable for storing messages".
    Is "NOT" part lost in localizatio of Tb?
    de version of Tb 24? 

(2) This message may be "warnig on Copies&Folders/Junk setting to hidden account's folder" which is improvements in Tb 24.
Do you use Global Inbox? If yes, did you correctly set Copies&Folders/Junk setting to non-hidden account's folder?
Account definitions is correct in your prefs.js?

Check following settings.
    mail.server.serverX.directory-rel = Mail directory relative path (=...\Local Folders-2)
    mail.server.serverX.directory     = Mail directory absolute path (=...\Local Folders-2)
 => mail.server.serverX.type = pop3 (none, pop3, imap, nntp, movemali etc. is possible)
    mail.server.serverX.hostname / realhostname = Your server name
    mail.server.serverX.userName / realuserName = Your userID for login
 => mail.server.serverX.deferred_to_account = accountG (accountG is Global Inbox owner)
 => mail.server.serverX.spamActionTargetFolder = Junk folder

 => mail.account.account#.server     = serverX
    mail.account.account#.identities = idP
 => mail.identity.idP.????_folder = Folder selected by you at Copies&Folders
      where ???? = archive, fcc(for Sent mail copy), drafts, stationary(for Templates)

 => mail.account.accountG.server     = serverZ (owner of Global Inbox)
    mail.account.accountG.identities = idQ
 => mail.server.serverZ.type = pop3, or none(if Local Folders)
    mail.server.serverZ.hostname / realhostname = Server name
    mail.server.serverZ.userName / realuserName = userID for login
    mail.server.serverZ.directory-rel           = Mail directory relative path
    mail.server.serverZ.directory               = Mail directory absolute path

> C:\......\TB\Profiles\xxxxxxxx.default\Mail\Local Folders-2

Why Local Folders-2?
Which account/server uses ...\Mail\Local Folders and Mail\Local Folders-1?

Do you use add-on for "secondary Local Folders"?
Do you see your problem with -safe-mode of Tb?

Updated

6 years ago
Flags: needinfo?(callie450)
Keywords: regression
Summary: after upgrade from Thunderbird version 17.08 to version 24 I could not edit my accountsettings anymore → Can't edit account settings after update to version 24, folder location error

Comment 2

6 years ago
(In reply to WADA from comment #1)

> (2) This message may be "warnig on Copies&Folders/Junk setting to hidden
> account's folder" which is improvements in Tb 24.

Wada, do you know which bug delivered this improvement (which seems to regress things from an UX perspective)?

Updated

6 years ago
See Also: → 921410
(Reporter)

Comment 3

6 years ago
Thanks for your replies.
My mail is a bit different as the msg I have showed you. This was the example of that other guy.
I dont have a local folder-2 but just local folder as origional.
I am using the global inbox but  i cannot find any setting like you suggested "Do you use Global Inbox? If yes, did you correctly set Copies&Folders/Junk setting to non-hidden account's folder?"

I have checked my prefs file which contains two server settings ( i assume from the past as i was with a different provider.)
I will have a proper look at it tommorow and paste the settings here. Also I can do another test where I do the upgrade again ( im not running on 24 as we speak)

Thanks and more input to come from me tommorow :)
(p.s sry about the late response my kids took all my time this weekend)
Flags: needinfo?(callie450)
(Reporter)

Comment 4

6 years ago
@Thomas D.  Yes Bug 921410 is exactly the same as my issue. Thanks Thomas for pointing out on this one :)
( what a great community :) :) :) :) )
(Assignee)

Comment 5

6 years ago
This message is introduced in bug 750781. Can you tell us what the full Local directory path is for the account that shows this message?
(Reporter)

Comment 6

6 years ago
(In reply to :aceman from comment #5)
> This message is introduced in bug 750781. Can you tell us what the full
> Local directory path is for the account that shows this message?

Hello Aceman,

To explain the full configuration:
I have one main account which is stored in : 
C:\Users\callie\AppData\Roaming\Thunderbird\Profiles\4erzzxxp.default\Mail\Local Folders

I have 1 other mail identity which uses the same server settings as the main one ( actually there is only one mail account configured.)
(Reporter)

Comment 7

6 years ago
I just did the following. Uninstalled thunderbird 17 and installed 24.. same issue.
Now i uninstalled 24 installed 17 and issue solved. So its defnitily something with 24.

what i do is I go to:
Account settings ( accountinstellingen)
the screen opens than automaticly on Local folders ( lokale mappen).
Than I cant do nothing else than change the path of local folders.
I have tried all kind of paths.. but the msg seems on coming back.
(Reporter)

Comment 8

6 years ago
is there maybe i file i should delete before I re-install TB24 ? I could imagine even after an uninstall files remain on the pc.
(Assignee)

Comment 9

6 years ago
We know this is only in TB24, I said which change (bug number) introduced it.
In the original description you mentioned a patch ending with "Local Folders-2". So can you paste all Local directory paths of all accounts?
(Reporter)

Comment 10

6 years ago
(In reply to :aceman from comment #9)
> We know this is only in TB24, I said which change (bug number) introduced it.
> In the original description you mentioned a patch ending with "Local
> Folders-2". So can you paste all Local directory paths of all accounts?

no no.. as i said before i dont have a path ending on local folders-2 that was an other user who had the same problem : check this link.. http://www.mozbrowser.nl/forum/viewtopic.php?f=3&t=22587

So the path is as stated above :
C:\Users\callie\AppData\Roaming\Thunderbird\Profiles\4erzzxxp.default\Mail\Local Folders

Do you want me to deliver info from the prefs.js file ?
and where can i set any settings regarding ""warnig on Copies&Folders/Junk setting to hidden account's folder" is this an option only in 24 ?
(Reporter)

Comment 11

6 years ago
ps just installed 24 again and in safe mode same problem.
(Assignee)

Comment 12

6 years ago
The path "C:\Users\callie\AppData\Roaming\Thunderbird\Profiles\*\Mail\Local Folders" looks correct and should not trigger the warning. There must be something else we are missing yet.

Please see into prefs.js and paste all lines of the format:
user_pref("mail.server.server*.directory"
user_pref("mail.server.server*.directory-rel"
(Reporter)

Comment 13

6 years ago
here you go:


user_pref("mail.server.server1.directory", "C:\\Users\\callie\\AppData\\Roaming\\Thunderbird\\Profiles\\4erzzxxp.default\\Mail\\Local Folders");
user_pref("mail.server.server1.directory-rel", "[ProfD]Mail/Local Folders");

user_pref("mail.server.server3.directory", "C:\\Users\\callie\\AppData\\Roaming\\Thunderbird\\Profiles\\4erzzxxp.default\\Mail\\pop.unet-1.nl");
user_pref("mail.server.server3.directory-rel", "[ProfD]Mail/pop.unet-1.nl");
(Assignee)

Comment 14

6 years ago
Is there no server 2?
(Reporter)

Comment 15

6 years ago
here are all the lines related to server. ( i have changed the personall stuff with XXX)

user_pref("mail.server.server1.ageLimit", 1);
user_pref("mail.server.server1.applyToFlaggedMessages", false);
user_pref("mail.server.server1.cleanupBodies", false);
user_pref("mail.server.server1.daysToKeepBodies", 1);
user_pref("mail.server.server1.daysToKeepHdrs", 30);
user_pref("mail.server.server1.directory", "C:\\Users\\callie\\AppData\\Roaming\\Thunderbird\\Profiles\\4erzzxxp.default\\Mail\\Local Folders");
user_pref("mail.server.server1.directory-rel", "[ProfD]Mail/Local Folders");
user_pref("mail.server.server1.downloadByDate", false);
user_pref("mail.server.server1.downloadUnreadOnly", false);
user_pref("mail.server.server1.hostname", "Local Folders");
user_pref("mail.server.server1.keepUnreadOnly", false);
user_pref("mail.server.server1.name", "Lokale mappen");
user_pref("mail.server.server1.numHdrsToKeep", 30);
user_pref("mail.server.server1.spamActionTargetAccount", "mailbox://nobody@Local%20Folders");
user_pref("mail.server.server1.spamActionTargetFolder", "mailbox://nobody@Local%20Folders/Junk");
user_pref("mail.server.server1.storeContractID", "@mozilla.org/msgstore/berkeleystore;1");
user_pref("mail.server.server1.type", "none");
user_pref("mail.server.server1.userName", "nobody");
user_pref("mail.server.server3.ageLimit", 1);
user_pref("mail.server.server3.applyToFlaggedMessages", false);
user_pref("mail.server.server3.cleanupBodies", false);
user_pref("mail.server.server3.daysToKeepBodies", 1);
user_pref("mail.server.server3.daysToKeepHdrs", 30);
user_pref("mail.server.server3.defer_get_new_mail", true);
user_pref("mail.server.server3.deferred_to_account", "account1");
user_pref("mail.server.server3.directory", "C:\\Users\\callie\\AppData\\Roaming\\Thunderbird\\Profiles\\4erzzxxp.default\\Mail\\pop.unet-1.nl");
user_pref("mail.server.server3.directory-rel", "[ProfD]Mail/pop.unet-1.nl");
user_pref("mail.server.server3.downloadByDate", false);
user_pref("mail.server.server3.downloadUnreadOnly", false);
user_pref("mail.server.server3.download_on_biff", true);
user_pref("mail.server.server3.hostname", "pop.unet.nl");
user_pref("mail.server.server3.keepUnreadOnly", false);
user_pref("mail.server.server3.leave_on_server", true);
user_pref("mail.server.server3.name", "mymailadress@xxx.xx");
user_pref("mail.server.server3.numHdrsToKeep", 30);
user_pref("mail.server.server3.port", 995);
user_pref("mail.server.server3.realhostname", "pop.dds.nl");
user_pref("mail.server.server3.realuserName", "xxxxxxxx");
user_pref("mail.server.server3.socketType", 3);
user_pref("mail.server.server3.spamActionTargetAccount", "mailbox://nobody@Local%20Folders");
user_pref("mail.server.server3.spamActionTargetFolder", "mailbox://nobody@Local%20Folders/Junk");
user_pref("mail.server.server3.storeContractID", "@mozilla.org/msgstore/berkeleystore;1");
user_pref("mail.server.server3.type", "pop3");
(Reporter)

Comment 16

6 years ago
you see 2 pop servers in the list. the first is the virtual name I assume pop.unet.nl but its refering to pop.dds.nl.
Unet was my old provider and i moved over to the new provider a 10 years ago or so. So this line Unet is very old .
(Reporter)

Comment 17

6 years ago
i just googled on the msg :
found this also : 
http://transvision.mozfr.org/?sourcelocale=en-US&locale=nl&repo=central&t2t=t2t&recherche=close%20tab

Het lokale map-pad "%1$S" is geschikt voor berichtenopslag. Kies een andere map.	
The Local Directory path "%1$S" is not suitable for message storage. Please choose another directory.

there is a big difference in translation. if it is indeed not suitable the word "geschikt"should be ongeschikt.
(Reporter)

Comment 18

6 years ago
check also this link .looks like the same problem

http://forums.mozillazine.org/viewtopic.php?f=39&t=2750681&start=15
(Reporter)

Comment 19

6 years ago
SOLVED !!!

it seems 24 has a problem with the . in the path.

C:\\Users\\callie\\AppData\\Roaming\\Thunderbird\\Profiles\\4erzzxxp.default\\Mail\\Local Folders"

what I did was I copied all the data to the same profile directory and renamed the folder 4erzzxxp.default  to 4erzzxxpdefault.

Than I changed the settings in Thunderbird so serversettings and foldersettings are pointing to this directory.
And indeed the problem is gonne.

So whatever tricked this, 24 cannot handle a dott in the path.
(Reporter)

Comment 20

6 years ago
okey it caused some problems..
I had to change the paths of the identies i was using in TB. after this all works fine.

But from my perspective the core of the problem has to do with the dott in the path.
(Reporter)

Comment 21

6 years ago
please also change the dutch ërror msg as "geschikt" means suited and this should be "ongeschikt"which means not suited. :)
(Assignee)

Comment 22

6 years ago
We need to CC a Dutch translator to fix the message. It should really read "...IS NOT suitable for message storage...". Usul, can you CC the right guys?

Having the dot in the profile name is default operation and must be supported. I also have a dot in the path and do not see the problem (on Win XP).
It must still be something else. Please keep the patch with the dot and do not move the mail to other directory yet (otherwise you may get problems from other parts of TB expecting the dot in profile name).
So this is not solved.

Can you tell where TB is installed in the file system? Is it in the default C:\program files\Thunderbird ?
(Assignee)

Comment 23

6 years ago
(In reply to Calliep from comment #18)
> check also this link .looks like the same problem
> 
> http://forums.mozillazine.org/viewtopic.php?f=39&t=2750681&start=15
Yes, this is the same problem and the post of 
"morat September 25th, 2013, 12:30 pm" is exactly spot on what is the problem.

Lee D. if you need any help in that forum just ask me (e.g. on IRC). I am the author of the "feature" and message so I can explain it or fix it if needed.
(Assignee)

Comment 24

6 years ago
The problem seems to be quite common and seems to hit directories that seem acceptable at first glance. I'll prepare a quick patch that scales down the message a bit. I think we should show it, but still allow to use the account manager.
It may also hit Seamonkey.
Assignee: nobody → acelists
Blocks: 750781
Status: UNCONFIRMED → ASSIGNED
Component: Preferences → Account Manager
Ever confirmed: true
Product: Thunderbird → MailNews Core
(Reporter)

Comment 25

6 years ago
(In reply to :aceman from comment #22)
> We need to CC a Dutch translator to fix the message. It should really read
> "...IS NOT suitable for message storage...". Usul, can you CC the right guys?
> 
> Having the dot in the profile name is default operation and must be
> supported. I also have a dot in the path and do not see the problem (on Win
> XP).
> It must still be something else. Please keep the patch with the dot and do
> not move the mail to other directory yet (otherwise you may get problems
> from other parts of TB expecting the dot in profile name).
> So this is not solved.
> 
> Can you tell where TB is installed in the file system? Is it in the default
> C:\program files\Thunderbird ?

its installed in the default directory...
In windows 7 it is :
C:\Program Files (x86)\Mozilla Thunderbird
(Reporter)

Comment 26

6 years ago
ps thanks for all your effort aceman !
(Assignee)

Comment 27

6 years ago
OK, can you also check the values of the prefs "mail.root.*" in prefs.js?
(Reporter)

Comment 28

6 years ago
ow by the way.. windows 7 is not using C:\Documents and Settings folders. 
just for your info :)

http://answers.microsoft.com/en-us/windows/forum/windows_7-files/windows-7-cdocuments-and-settings/52ddb9b3-7776-4221-a6a8-804d50a85e84
(Reporter)

Comment 29

6 years ago
user_pref("mail.root.none", "C:\\Documents and Settings\\callie\\Application Data\\Thunderbird\\Profiles\\yib903h5.default\\Mail");
user_pref("mail.root.none-rel", "[ProfD]../../../../../../../Documents and Settings/callie/Application Data/Thunderbird/Profiles/yib903h5.default/Mail");
user_pref("mail.root.pop3", "C:\\Documents and Settings\\callie\\Application Data\\Thunderbird\\Profiles\\yib903h5.default\\Mail");
user_pref("mail.root.pop3-rel", "[ProfD]../../../../../../../Documents and Settings/callie/Application Data/Thunderbird/Profiles/yib903h5.default/Mail");
(Assignee)

Comment 30

6 years ago
Bingo so those are the allowed folders for mail. But they do not exist on Win 7:)
Have you migrated the profile from Win XP to Win 7?
Try to just remove those lines and start TB again. They should get reset to proper values.
hmmm weird, i successfully upgraded on windows 8, so is this a windows 7 specific bug?
(Assignee)

Comment 32

6 years ago
Depends on where your Local directories are set. If they are outside of the profile (e.g. d:\data\TB-mail\*), then mail.root.* directories are not consulted. They are only used if the Local directory points into the profile. Then the prefs say which folders are safe to store mail to. Currently it should be Mail, ImapMail, News unless the user changed them.
(Reporter)

Comment 33

6 years ago
(In reply to :aceman from comment #30)
> Bingo so those are the allowed folders for mail. But they do not exist on
> Win 7:)
> Have you migrated the profile from Win XP to Win 7?
> Try to just remove those lines and start TB again. They should get reset to
> proper values.

actualy not :( this was a clean install from scratch with windows 7.
BUT of course the mailfile originated from a thunderbird which was installed on windows XP.. 2 years ago minimum..
(Reporter)

Comment 34

6 years ago
and some additonal info.. i only imported the mail. So no settings, certificates bookmarks and so on..
but what I will do is remove the lines. This wont be tonight im afraid.
Tommorow first action to take :)
(Assignee)

Comment 35

6 years ago
Posted patch 921371.patch (obsolete) — Splinter Review
I propose this patch for TB24.0.x. It still shows the message if user tries to set Local directory to a bad directory and prevents him from keeping it. But if the message store already is in a bad directory (the user does not press Browse), it only shows the message if he visits Server settings, but does not prevent him from going to another pane. I propose getting this into TB24 quickly as it may affect many users who have mail.root.* prefs set to a nonexisting folder (e.g. due to profile migration, OS upgrade (Win XP -> Win Vista+), etc.).

If we determine the proper and full cause of the problem why the message is reported even when users have a proper Local directory (e.g. as reported here c:\users\<user>\AppData\Roaming\Thunderbird\profiles\<profile>\Mail\<server>), I'll make the real patch for trunk (and later branch).
Attachment #813225 - Flags: review?(mkmelin+mozilla)
Attachment #813225 - Flags: review?(iann_bugzilla)
Comment on attachment 813225 [details] [diff] [review]
921371.patch

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

::: mailnews/base/prefs/content/AccountManager.js
@@ +585,5 @@
>    for (let i = 0; i < pageElements.length; i++) {
>      if (pageElements[i].id) {
>        if (pageElements[i].id == "server.localPath") {
>          if (!checkDirectoryIsUsable(getFormElementValue(pageElements[i])))
> +//          return false; // Temporarily disable this. Just show warning but do not block. See bug 921371.

Just commenting out the one line in the if block will get us to the break just for when not valid. Instead of commenting it out it should probably output something to the error console
Attachment #813225 - Flags: review?(mkmelin+mozilla)
(Assignee)

Comment 37

6 years ago
Posted patch 921371.patch v2 (obsolete) — Splinter Review
Good catch, thanks. The user still gets a message but can ignore it. But maybe if he gets real problems, he will paste us this message from the Error console (even if he dismissed the alert without remembering it).
Attachment #813225 - Attachment is obsolete: true
Attachment #813225 - Flags: review?(iann_bugzilla)
Attachment #813294 - Flags: review?(mkmelin+mozilla)
Comment on attachment 813294 [details] [diff] [review]
921371.patch v2

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

Looks ok to me. I wonder if we need to add more debugging somewhere.

::: mailnews/base/prefs/content/AccountManager.js
@@ +586,5 @@
>      if (pageElements[i].id) {
>        if (pageElements[i].id == "server.localPath") {
> +        if (!checkDirectoryIsUsable(getFormElementValue(pageElements[i]))) {
> +//          return false; // Temporarily disable this. Just show warning but do not block. See bug 921371.
> +          Components.utils.reportError("Local directory of account " + currentAccount.key + " is not safe to use. Consider changing it.");

Please include the file path for the getFormElementValue(pageElements[i])) file in the error message.
Attachment #813294 - Flags: review?(mkmelin+mozilla) → review+
(Assignee)

Comment 39

6 years ago
Posted patch patch v3Splinter Review
Attachment #813294 - Attachment is obsolete: true
Attachment #813606 - Flags: review?(neil)
Attachment #813606 - Flags: review?(iann_bugzilla)
(Assignee)

Comment 40

6 years ago
For all involved and mainly the great supporters (like Lee and Eckard) at
http://forums.mozillazine.org/viewtopic.php?f=39&t=2750681

The problem the users are seeing is this:
Due to some users using strange directories for their mail storage (e.g. the whole profile) and that colliding with the files in there that TB needed to use for its proper operation, in bug 750781 (and another one) I tried to blacklist some unsafe directories. The blacklist can be seen on top of the file http://hg.mozilla.org/comm-central/file/e57fef637964/mailnews/base/prefs/content/AccountManager.js and it amounts to this on Windows:
ProfD = C:\Documents and Settings\<User>\Application Data\Mozilla\Thunderbird\Profiles\12345678.default
GreD = C:\Program Files\Mozilla Thunderbird
CurProcD = C:\Program Files\Mozilla Thunderbird
TmpD = C:\Documents and Settings\User\Local Settings\Temp
SysD = C:\WINDOWS\system32
WinD = C:\WINDOWS
ProgF = C:\Program Files

You can't have the local directory point to a subdirectory of any of these directories but also not to a directory above it (e.g. C:\). There is one exception to this rule:
You can have the local directory pointing to under "ProfD = C:\Documents and Settings\User\Application Data\Mozilla\Firefox\Profiles\12345678.default" as that is the default setting. But it is allowed only for some predefined subdirectories. The catch is, the list of allowed directories is taken from each account's server type using the GetDefaultLocalPath function. And that function actually consults the "mail.root.<servertype>" prefs (see e.g. http://mxr.mozilla.org/comm-central/source/mailnews/local/src/nsPop3Service.cpp#525). The idea being that e.g. for POP3 this returns C:\Documents and Settings\<User>\Application Data\Mozilla\Thunderbird\Profiles\12345678.default\Mail. That is true by default, but seemingly not when the value of the pref is already generated like this, stored in prefs.js and then the user moves the whole profile to another place, or upgrades to Win Vista+ and just copies the profile from "C:\Documents and Settings\User\" to "C:\Users\" (creating a new profile from scratch would work fine). So if that pref now contains some invalid/unusable directory TB only allows this invalid directory to be used.
So even if you have your Local directory now set to the valid and fine "C:\Users\<user>\AppData\Mozilla\Thunderbird\Profiles\12345678.default" you may still get the warning.

So in this bug I lessen the impact of the warning (it will still allow you to proceed in the account manager) and then we will think out how to solve this. I didn't want to hardcode the allowed subdirs ("Mail", "ImapMail", "News") in the check function that is why I used GetDefaultLocalPath. But if that becomes unusable.

My idea would be to silently reset the value of the pref mail.root.pop3 if it does not match the mail.root.pop3-rel. Imagine this:
mail.root.pop3 = C:\Documents and Settings\<User>\Application Data\Mozilla\Thunderbird\Profiles\12345678.default\Mail
mail.root.pop3-rel = [ProfD]/Mail

On Win XP both prefs point to the same local directory.
When you now move to Win Vista+ the profile is in "c:\users" which means mail.root.pop3 is an invalid directory but mail.root.pop3-rel now points to (after parsing) C:\Users\<User>\AppData\Mozilla\Thunderbird\Profiles\12345678.default\Mail . In that case we could reset mail.root.pop3 so that it stores the new valid 
C:\Users\<User>\AppData\Mozilla\Thunderbird\Profiles\12345678.default\Mail value.

Of course, to still allow to set his own value of mail.root.pop3* prefs (for legacy reasons) he would need to set both prefs to point to a valid and SAME directory. I think that would be a reasonable requirement. What do you think?
Flags: needinfo?(neil)
Flags: needinfo?(mkmelin+mozilla)

Comment 41

6 years ago
(In reply to :aceman from comment #40)
Unfortunately I'm not an expert but your proposal seems to lead to a satisfying solution. 
In the meantime, can I test your patch v3 here on Mac OS X by adding it to the AccountManager.js file of my Thunderbird 24 copy? 
And which would be the exact place in the file to add the lines of your patch?
(Assignee)

Comment 42

6 years ago
Thanks. Yes you can add to your TB24 in AccountManager.js by looking for the lines:
// Check the new value of the server.localPath field for validity.
   for (let i = 0; i < pageElements.length; i++) {
     if (pageElements[i].id) {
       if (pageElements[i].id == "server.localPath") {
         if (!checkDirectoryIsUsable(getFormElementValue(pageElements[i])))
           return false;

Comment 43

6 years ago
Thanks, :aceman !
I found the lines and will give it a try.
Seems like a plan to me.
Flags: needinfo?(mkmelin+mozilla)

Comment 45

6 years ago
After implementing patch v3 in my AccountManager.js file I did some testing in various Thunderbird profiles.
I noticed that I could choose any given directory within or outside the profile without triggering a sole error message. Would this be normal?
Actually the only "forbidden directories" were system folders.
It might be noteworthy that I had to rename the omni.ja file to omni.zip to be able to open it and make the changes in AccountManager.js. 
After re-compressing the contents of the omni folder my new omni.ja file oddly enough weighed 10.9 MB instead of 10.7 MB originally but the Account Manager seemed to work normally.
(In reply to Calliep from comment #29)
> user_pref("mail.root.none", "C:\\Documents and Settings\\callie\\Application
> Data\\Thunderbird\\Profiles\\yib903h5.default\\Mail");
> user_pref("mail.root.none-rel", "[ProfD]../../../../../../../Documents and
> Settings/callie/Application
> Data/Thunderbird/Profiles/yib903h5.default/Mail");
> user_pref("mail.root.pop3", "C:\\Documents and Settings\\callie\\Application
> Data\\Thunderbird\\Profiles\\yib903h5.default\\Mail");
> user_pref("mail.root.pop3-rel", "[ProfD]../../../../../../../Documents and
> Settings/callie/Application
> Data/Thunderbird/Profiles/yib903h5.default/Mail");

IIUC, mail.root.???-rel is defaulted to [Prof]xxx where xxx=Mail if ???=none or ???=pop3, xxx=ImapMail if ???=imap, xxx=News if ???=newsrc, and mail.root.???-rel(relative path) has higher priority than mail.root.???(absolute path).
And, following is applied upon account creation.
(1) If mail.root.???-rel exists, mail.root.??? is determined from mail.root.???-rel.
(2) If mail.root.???-rel doesn't exist, and if mail.root.??? exists,
    mail.root.???-rel is generated from mail.root.???.
(3) If both mail.root.???-rel and mail.root.??? don't exist, default([ProfD]xxx) is used
    for mail.root.???-rel, and mail.root.??? is generated from mail.root.???-rel.
(4) If directory pointed by mail.root.???-rel doesn't exist,
    directory pointed by mail.root.???-rel is created,
    and mail directory for the account is created under mail.root.???-rel.
IIRC, it's done only when mail.root.???-rel(or mail.root.???) is needed and actually used upon account creation, and at least Tb 24 behaved as I thought.

So, setting like yours can't occur even if profile directory is copied or moved or renamed, as far as mail.root.???-rel in prefs.js is not manually altered or deleted.

To Calliep(bug opener):
What did you do on mail.root.???-rel in prefs.js?
You deleted mail.root.???-rel but kept mail.root.??? when you moved profile directory location in order to transfer from Win-XP to new Win7 two years ago?
Or you changed mail.root.???-rel/mail.root.??? to directory used by Tb on Win-XP upon transfer to Win7?

Anyway, your mail.server.serverX.directory-rel is fortunately proper(same as default).
Problem is unexpected/bad mail.root.???-rel which was somehow generated during your migration from Win-XP to Win7.
So, following is simplest bypass of problem caused by "mail.root.???-rel points path used on Win-XP" in your case.
(1) Delete all mail.root.??? entries, as aceman said.
(2) Change mail.root.???-rel to [Profd]xxx (same as default),
      where xxx=Mail     if ???=none or ???=pop3,
            xxx=ImapMail if ???=imap,
            xxx=News     if ???=newsrc
    or delete all mail.root.???-rel, in order to force default value, as aceman said.
(In reply to :aceman from comment #40)
> My idea would be to silently reset the value of the pref mail.root.pop3 if
> it does not match the mail.root.pop3-rel.
As I wrote in comment #46, it's executed since initial of serverX.directory-rel and root.???-rel support, although it's done only when root.???-rel is actually used by account creation.

AccountManager.js looks to refer to mail.root.???-rel first and refer to mail.root.??? if mail.root.???-rel doesn't exist.
So, as far as mail directory under profile directory is used, if "mail.root.???-rel and mail.root.??? == default mail directory location on Win-XP" happens after normal profile location change by user, it occurs and this bug occurs only when,
(1) mail.root.???-rel is deleted manually after profile location change.
    mail.root.??? points mail directory location before profile location change.
    This bug can occur at this stage.
(2) If account is created once after profile location change,
    mail.root.???-rel points mail directory location before profile location change.
    This bug can occur at this stage too, and "mail.root.???-rel and mail.root.??? ==
    default mail directory location on Win-XP" is generated.

Depth of default profile location is different in Win-XP and Win7.
> Win-XP
> C:\Doc ... \<User>\Application Data\Thunderbird\Profiles   \12345678.default
> Win7
> C:\Users   \<User>\AppData         \Roaming    \Thunderbird\Profiles\12345678.default

If "mail directory outside of profile directory" is used, and if "depth of profile directory" is changed by profile location change, problem of "mail.server.serverX.directory-rel is invalid" occurs before this bug.
In this case, user needs to delete mail.server.serverX.directory-rel while absolute path in mail.server.serverX.directory-rel is correct, before first restart of Tb after profile location change.

If user manually modified mail.root.???-rel(then mail.root.??? too), user needs to delete mail.root.???-rel too while absolute mail.root.??? correctly points required default mail directory location, before first restart of Tb after profile location change.

I guess that "mail.root.???-rel and mail.root.??? == default mail directory location on Win-XP" is generated by acccidental modifications of mail directory related settings by user, which is caused by user's confusions due to diferrent profile directory depth between Win-XP and Win7.

> Of course, to still allow to set his own value of mail.root.pop3* prefs (for
> legacy reasons) he would need to set both prefs to point to a valid and SAME
> directory. I think that would be a reasonable requirement. What do you think?

(a) If mail.server.serverX.directory-rel or mail.root.???-rel is correctly set, mail.server.serverX.directory is correctly set after restart of Tb, and mail.root.??? is correctly set when additional account is created.
(b) If mail.server.serverX.directory-rel or mail.root.???-rel is deleted, mail.server.serverX.directory or mail.root.??? is used, and mail.server.serverX.directory-rel is generated after restart of Tb, and mail.root.???-rel is generated by additional account creation, from absolute path in mail.server.serverX.directory or mail.root.???.

I think UI for mail.root.??? is nice-to-have feature, but I don't think mandatory feature.

By the way, combination of "delete mail.server.serverX.directory-rel" and "change mail.server.serverX.directory"(absolute path) is convenient when user has to change mail directory location of many accounts at same time, in order to recover from problem due to bad mail directry setting. If mail directory is changed via UI, user has to restart Tb for each mail directory path change of an account.
(In reply to :aceman from comment #32)
> Depends on where your Local directories are set. If they are outside of the
> profile (e.g. d:\data\TB-mail\*), then mail.root.* directories are not
> consulted. They are only used if the Local directory points into the
> profile. 

I think mail.root.???-rel(or mail.root.??? if mail.root.???-rel doesn't exist) is better used as "While List" only, regardless of profile directory location.
  - mail.root.???-rel is mail directory location when new account is created.
    This is not always "[ProfD]xxx where xxx=Mail, ImapMail, News".
    User can set any directory in mail.root.???-rel as he wants, with his own risk.
  - If directory pointed by mail.root.???-rel doesn't exist, it's created.
    Mail directory for an account is created under directory pointed by mail.root.???-rel
    when new account is created.
  - After account creation, user can set any directory in mail.server.serverX.directory-rel
    via UI or manual setting change, regardless of mail.root.???-rel setting, 
    as he wants, with his own risk.
  "Directory under mail.root.???-rel" can always be considered "safe directory",
  because user intentionally requested to create mail directory under mail.root.???-rel.
  If "safe directory", further absolute path checking is not needed.
  Check for "duplicated use", "sub/parent directory of other directory" only is needed,
  once it is found "safe directory".
  To use mail.root.???-rel as White List, healthy check of mail.root.???-rel is needed,
  because user can set any directory in mail.root.???-rel.

Another concern : 
  Check for sub/parent directory of profile directory for other profile in profiles.ini,
  or mail directory used by other profile in profiles.ini.
Is such check needed? I don't think such check is mandatory, because majority of general Tb users uses single profile named "default" only.
(Assignee)

Comment 49

6 years ago
(In reply to Eckard Berberich from comment #45)
> After implementing patch v3 in my AccountManager.js file I did some testing
> in various Thunderbird profiles.
> I noticed that I could choose any given directory within or outside the
> profile without triggering a sole error message. Would this be normal?
No, it should still show you the warning. Is the only change you made to your file the adding of "//" comment to the "return false" line?

> Actually the only "forbidden directories" were system folders.
> It might be noteworthy that I had to rename the omni.ja file to omni.zip to
> be able to open it and make the changes in AccountManager.js. 
> After re-compressing the contents of the omni folder my new omni.ja file
> oddly enough weighed 10.9 MB instead of 10.7 MB originally but the Account
> Manager seemed to work normally.
I think this is normal. There are some special techniques used to compress the file even more, that are lost when you recompress it using standard utilities.
Don't forget to remove all files from startupCache/ folder in your profile so that the application picks up the changed code.
(Reporter)

Comment 50

6 years ago
(In reply to WADA from comment #46)
>
> 
> To Calliep(bug opener):
> What did you do on mail.root.???-rel in prefs.js?
> You deleted mail.root.???-rel but kept mail.root.??? when you moved profile
> directory location in order to transfer from Win-XP to new Win7 two years
> ago?
> Or you changed mail.root.???-rel/mail.root.??? to directory used by Tb on
> Win-XP upon transfer to Win7?
> 
> Anyway, your mail.server.serverX.directory-rel is fortunately proper(same as
> default).
> Problem is unexpected/bad mail.root.???-rel which was somehow generated
> during your migration from Win-XP to Win7.
> So, following is simplest bypass of problem caused by "mail.root.???-rel
> points path used on Win-XP" in your case.
> (1) Delete all mail.root.??? entries, as aceman said.
> (2) Change mail.root.???-rel to [Profd]xxx (same as default),
>       where xxx=Mail     if ???=none or ???=pop3,
>             xxx=ImapMail if ???=imap,
>             xxx=News     if ???=newsrc
>     or delete all mail.root.???-rel, in order to force default value, as
> aceman said.


Hello Wada,

To be honest I did nothing.. Im just a user. I only moved the mailfile a few times during reinstalls and these backsups where done via Mozbackup.
I had a bluescreen a while ago while Thunderbird was started. after that Thunderbird did not know anymore which mails where downloaded and started to download all the 5000plus mails again which i cancelled.
I than took an older backup ( 2 months old) restored it and it worked again.

I will execute your advise and will let you know what happened.
I got an other strange thing that is that Kaspersky online scanner is claiming to see vulnerabilites in thunderbird.. dont know why. PC is clean as it has been scanned already by several scanners ( Bitdefender, Hitman, Malwarebytes. Eset and so on and all came out clean)

What I will do is reintstall thunderbird by first deleting all the files which remain after uninstall.
then I will reinstall thunderbird24 and restore from a recent backup and after this change execute your adisory.

thanks all for your effort ( even while i dont understand all the stuff which is described in this issue) :)
Flags: needinfo?(neil)

Comment 51

6 years ago
(In reply to :aceman from comment #49)

> No, it should still show you the warning. Is the only change you made to
> your file the adding of "//" comment to the "return false" line?
> 
Here is what my modified AccountManager.js file looks like:

  // Check the new value of the server.localPath field for validity.
  for (let i = 0; i < pageElements.length; i++) {
    if (pageElements[i].id) {
      if (pageElements[i].id == "server.localPath") {
        if (!checkDirectoryIsUsable(getFormElementValue(pageElements[i]))) {
//          return false; // Temporarily disable this. Just show warning but do not block. See bug 921371.
          Components.utils.reportError("Local directory '" +
            getFormElementValue(pageElements[i]).path + "' of account " +
            currentAccount.key + " is not safe to use. Consider changing it.");
        }
	break;
      }
    }
  }


> Don't forget to remove all files from startupCache/ folder in your profile
> so that the application picks up the changed code.

I have five profiles but only one of them has a startupCache folder in users/username/Library/Caches/Thunderbird/Profiles/xxxxxxxx.test/
(Assignee)

Comment 52

6 years ago
Yes, that looks fine. So you should get the warning whenever you got it without the patch. You just should be able to go on into any other account manager pane.

Comment 53

6 years ago
Sorry, my testing had been a bit sloppy!
Did some more testing: now, whenever I set the path to a directory used by another account in the same profile or to the profile folder itself, I get the error message.
No error messages when I choose a directory in another profile or folders outside my profiles.
Seems OK for me.
(In reply to Calliep from comment #50)
> To be honest I did nothing.. Im just a user. I only moved the mailfile a few
> times during reinstalls and these backsups where done via Mozbackup.

Did you do following?
1. On Win-XP, keep backup of Tb's profile by MozBackup.
2. Copy Backup file to Win7.
3. Restore backup(obtained on Win-XP) to default profile location of Tb on Win7.
If so, it may be difference in interpretation of mail.root.???-rel/mail.root.??? between us and MozBackup and Tb.
- Tb's current implementation :
       mail.root.???-rel=[ProfD]Mail means
       "always create mail directory under Mail under profile directory".
       mail.root.???=C:\\ ... \\Mail is merely absolute path representation
       of mail.root.???-rel.
- MozBackup's interpretation may be :
       User's request is "always create mail directory under mail.root.???".
       (This is always true, when user sets mail.root.???=D:\\MyMail)
       So, mail.root.???-rel=[ProfD]MyMail means
       MyMail is incidentally placed under Tb's profile directory.
       mail.root.???-rel=[ProfD]../../../../../C:/MyMail is merely
       relative path representation of requested mail.root.???.
- My want :
       If I set mail.root.???-rel=[ProfD]MyMail, I want
       "always create mail directory under MyMail under profile directory".
       If I set mail.root.???=D:\MyMail, I want
       "always create mail directory under D:\MyMail".
If MozBackup copies mail.root.??? only when restore operation on Win7, mail.root.??? and mail.root.???-rel in your prefs.js is generated when you create account in Tb on Win7.
I don't quite understand the problem with the -rel pref. Any code that reads paths should prefer the -rel version to the non-rel version. Is that not happening here, and do you know why not?
(In reply to neil@parkwaycc.co.uk from comment #55)
> I don't quite understand the problem with the -rel pref. Any code that reads
> paths should prefer the -rel version to the non-rel version. 
> Is that not happening here, (snip) ?

It did happen in Tb.

As you know, following in bug opener's prefs.js can occur in Tb only when mail.root.pop3-rel is deleted and account is created while mail.root.pop3 is set but mail.root.pop3-rel doesn't exist, because -rel version has higher priority than non-rel version in Tb.
> Profile directory(on Win7) :
>   C:\Users\callie\AppData\Roaming\Thunderbird\Profiles\4erzzxxp.default
> And,
>   user_pref("mail.server.server1.directory",
>             "C:\\Users\\callie\\AppData\\Roaming\\Thunderbird\\Profiles
>              \\4erzzxxp.default\\Mail\\Local Folders");
>   user_pref("mail.server.server1.directory-rel", "[ProfD]Mail/Local Folders");
> But,
>   user_pref("mail.root.none", "C:\\Documents and Settings\\callie\\Application
>              Data\\Thunderbird\\Profiles\\yib903h5.default\\Mail");
>   user_pref("mail.root.none-rel", "[ProfD]../../../../../../../Documents and
>              Settings/callie/Application
>              Data/Thunderbird/Profiles/yib903h5.default/Mail");
So, I'm suspecting that ;
- MozBackup removed mail.root.???-rel upon restore,
  because MozBackup perhaps already existed before Tb's mail.root.???-rel support,
- Or MozBackup generated mail.root.???-rel from mail.root.??? upon restore,
  because it's preferable behavior for user when user intentionally uses
  mail.root.???="D:\\MyMail", 
because "executed restore of MozBackup by bug opener" was restore of backup on Win-XP to Tb's default profile location on Win7.
i.e. restore on different OS, restore to different profile, and restore to different(deeper) profile directory path depth.

And, this bug is not for "-rel version vs non-rel version".
This bug is for problem when mismatch between mail.server.serverX.directry-rel/directory and mail.root.???-rel/??? exists.
Sorry, typo. Read mail.root.pop3-rel/pop3 as mail.root.none-rel/none, please.
(Assignee)

Comment 58

6 years ago
(In reply to neil@parkwaycc.co.uk from comment #55)
> I don't quite understand the problem with the -rel pref. Any code that reads
> paths should prefer the -rel version to the non-rel version. Is that not
> happening here, and do you know why not?

I can check that. I just wanted to use the -rel and non-rel prefs mismatch as an indicator something is wrong with the paths. Also, there are cases when they match, but both are still pointing to a non-existent directory. That must be covered too in some way.
(In reply to Calliep from comment #33)
> (In reply to :aceman from comment #30)
> > Bingo so those are the allowed folders for mail. But they do not exist on
> > Win 7:)
> > Have you migrated the profile from Win XP to Win 7?
> > Try to just remove those lines and start TB again. They should get reset to
> > proper values.
> 
> actualy not :( this was a clean install from scratch with windows 7.
> BUT of course the mailfile originated from a thunderbird which was installed
> on windows XP.. 2 years ago minimum..

Some of the causes of this problem are:

* Migrating a profile from an older version of Windows to Vista or newer.
* Thunderbird doesn't update/delete incorrect information in the prefs.js file.

I switched from Windows XP to Vista in 2007 and then switched to Windows 7 in 2009.  Also replaced computers a couple of times, and each time I just copied my TB profile over to the new computer/new version of Windows.  Over all those years everything worked fine and I never had any occasion to look at the prefs.js file.

Then I went from TB 17.0.6 to TB 24 and encountered this problem.  I discovered that my prefs.js file contained entries of the form "C:\Documents and Settings\<user name>\Application Data\Thunderbird\Profiles\<Profile name>" which of course does not exist in Windows Vista or 7.

The important points here, I believe are:

[1] Somewhere between TB 17 and TB 24 there was a code change that now throws this error message when prefs.js contains invalid directories for the "mail.root..." entries.  That's OK, but .....

[2] The error message I received -- "The path C:\Users\name\AppData\Roaming\Thunderbird\Profiles\profile.name\Mail\Local Folders is not suitable for message storage" -- makes no sense there is nothing wrong with that path.  This is the same exact path that I have used for years and has not changed. The error message is incorrect, confusing and misleading.

[3] TB should update the settings in prefs.js, or, at least give a proper error message and tell people that they have incorrect/non-existent paths in their prefs file.
(Assignee)

Comment 60

6 years ago
(In reply to Krueger Industrial Smoothing from comment #59)
> [1] Somewhere between TB 17 and TB 24 there was a code change that now
> throws this error message when prefs.js contains invalid directories for the
> "mail.root..." entries.  That's OK, but .....
Sure, we know about that change. It was intentional as said earlier.

> [2] The error message I received -- "The path
> C:\Users\name\AppData\Roaming\Thunderbird\Profiles\profile.name\Mail\Local
> Folders is not suitable for message storage" -- makes no sense there is
> nothing wrong with that path.  This is the same exact path that I have used
> for years and has not changed. The error message is incorrect, confusing and
> misleading.
This does not mean anything. You could have your mail stored in c:\windows\temp for years and it would not appear wrong to you. Until somebody or something decides to clean Temp as it contains only useless files. And your mail is suddenly lost. The same can happen under C:\Users\name\AppData\Roaming\Thunderbird\Profiles\profile.name\ if you use any other subdirectory except those mentioned in the mail.root.* prefs (normally initialized to Mail, ImapMail, News). Future TB versions may decide to clear any subfolders except those 3 known to be for mail. The problem is when those prefs are bogus and don't point to those 3 subfolders, what I didn't expect.

> [3] TB should update the settings in prefs.js, or, at least give a proper
> error message and tell people that they have incorrect/non-existent paths in
> their prefs file.
Yes, that is the plan here. I just need to gather all the facts and think out whan we can do against this problem.

Comment 61

6 years ago
For what it's worth:

I had a very similar user experience when upgrading to TB 24 from TB 3.x (through TB 17) and I keep getting this error message when trying to edit (or even just browse mu account settings):

The Local Directory path "E:\Koen\EmailAndNewsTB\ktanghe\ImapMail\imap.gmail.com" is not suitable for message storage. Please choose another directory.
  or
The Local Directory path "E:\Koen\EmailAndNewsTB\ktanghe\ImapMail\imap.gmail-1.com" is not suitable for message storage. Please choose another directory.
  or
The Local Directory path "E:\Koen\EmailAndNewsTB\ktanghe\Mail\pop.skynet-2.be" is not suitable for message storage. Please choose another directory.
  etc...

More info:
- I'm on WindowsXP SP3 (and I did not move my profile to Win7 or another OS)
- I was on TB 3.x (I think 3.1, but not sure about minor number) and upgraded from within TB
- my profile.ini looks like this (as I want my mail in another folder on my data disk):

[General]
StartWithLastProfile=1

[Profile0]
Name=ktanghe
IsRelative=0
Path=E:\Koen\EmailAndNewsTB\ktanghe
Default=1

- this setup has been working fine for years
- these are all my mail.server.server*.directory settings:

mail.server.server1.directory;E:\Koen\EmailAndNewsTB\ktanghe\Mail\Local Folders
mail.server.server1.directory-rel;[ProfD]Mail/Local Folders
mail.server.server2.directory;E:\Koen\EmailAndNewsTB\ktanghe\ImapMail\imap.gmail-1.com
mail.server.server2.directory-rel;[ProfD]ImapMail/imap.gmail-1.com
mail.server.server3.directory;E:\Koen\EmailAndNewsTB\ktanghe\Mail\pop.skynet.be
mail.server.server3.directory-rel;[ProfD]Mail/pop.skynet.be
mail.server.server4.directory;E:\Koen\EmailAndNewsTB\ktanghe\Mail\host.smartelectronix.com
mail.server.server4.directory-rel;[ProfD]Mail/host.smartelectronix.com
mail.server.server5.directory;E:\Koen\EmailAndNewsTB\ktanghe\Mail\pop.skynet-1.be
mail.server.server5.directory-rel;[ProfD]Mail/pop.skynet-1.be
mail.server.server6.directory;E:\Koen\EmailAndNewsTB\ktanghe\Mail\News & Blogs-1
mail.server.server6.directory-rel;[ProfD]Mail/News & Blogs-1
mail.server.server7.directory;E:\Koen\EmailAndNewsTB\ktanghe\Mail\pop.skynet-2.be
mail.server.server7.directory-rel;[ProfD]Mail/pop.skynet-2.be
mail.server.server8.directory;E:\Koen\EmailAndNewsTB\ktanghe\ImapMail\imap.gmail.com
mail.server.server8.directory-rel;[ProfD]ImapMail/imap.gmail.com

- these are all my mail.root.* settings:

mail.root.imap;C:\Documents and Settings\ktanghe\My Documents\EmailAndNewsTB\ktanghe\ImapMail
mail.root.imap-rel;[ProfD]../../../../C:/Documents and Settings/ktanghe/My Documents/EmailAndNewsTB/ktanghe/ImapMail
mail.root.nntp;C:\Documents and Settings\ktanghe\My Documents\EmailAndNewsTB\ktanghe\News
mail.root.none;C:\Documents and Settings\ktanghe\My Documents\EmailAndNewsTB\ktanghe\Mail
mail.root.none-rel;[ProfD]../../../../C:/Documents and Settings/ktanghe/My Documents/EmailAndNewsTB/ktanghe/Mail
mail.root.pop3;C:\Documents and Settings\ktanghe\My Documents\EmailAndNewsTB\ktanghe\Mail
mail.root.pop3-rel;[ProfD]../../../../C:/Documents and Settings/ktanghe/My Documents/EmailAndNewsTB/ktanghe/Mail

- I personally did not change any setting during the or after the upgrade (everything was working fine, and when it's not broken, don't fix it...)

Hope this helps...

Question 1:
Do I get it right that this problem is caused by a check (that was introduced somewhere between 3.x and 24) that verifies if the server.directory(-rel) paths point to valid locations?
And what are these valid locations? Only the ones pointed to be the mail.root.imap(-rel) and mail.root.pop3(-rel) settings?

Question 2:
Is there a fix/update by now to get rid of this problem?

Question3:
If I continue to work with this upgraded setup, ignoring these errors, can it cause my mailboxes to become corrupted?

Thanks,
Koen
(In reply to KoenT from comment #61)
> [Profile0]
> Name=ktanghe
> IsRelative=0
> Path=E:\Koen\EmailAndNewsTB\ktanghe

Your case is:
  mail.server.serverX.directory-rel = [ProfD]Mail(or ImapMail or News)/<server>
    Note: This is default mail directory location of newly created account,
          as far as mail.root.???-rel = [ProfD]Mail(or ImapMail or News) is set.
  mail.server.serverX.directory-rel is not placed under mail.root.???-rel(and ???)
i.e. Same situation as this bug's opener case.

If you want to use "C:\Documents and Settings\ktanghe\My Documents\EmailAndNewsTB\ktanghe\Mail(or ImapMail or News)" as "mail directory location of newly created mail/news account", keep current mail.root.xxx settings, and wait for fix of this bug, please.

If you want to use "E:\Koen\EmailAndNewsTB\ktanghe\Mail(or ImapMail or News)" == "[ProfD]/Mail(or ImapMail or News)" as "mail directory location of newly created mail/news account", delete all mail.root.???-rel and mail.root.???, as aceman and me already wrote.
(Assignee)

Comment 63

6 years ago
(In reply to KoenT from comment #61)
> Question 1:
> Do I get it right that this problem is caused by a check (that was
> introduced somewhere between 3.x and 24) that verifies if the
> server.directory(-rel) paths point to valid locations?
> And what are these valid locations? Only the ones pointed to be the
> mail.root.imap(-rel) and mail.root.pop3(-rel) settings?
See comment 40. The mail.root.imap paths are only one set of allowed folders.

> Question 2:
> Is there a fix/update by now to get rid of this problem?
As your profile is in E:\Koen\EmailAndNewsTB\ktanghe all the mail.root.* prefs are pointing to invalid folders (on C:). Close thunderbird and remove these prefs from prefs.js. They should become reinitialized to proper folders at next TB start.

> Question3:
> If I continue to work with this upgraded setup, ignoring these errors, can
> it cause my mailboxes to become corrupted?
You can ignore this error (and it will vanish if you do step 2) because in your case there is no real error, only TB thinks so due to those invalid prefs.

Comment 64

6 years ago
Thanks aceman and WADA for the clarifications.
Removing these mail.root.* prefs did indeed work to allow me to keep using E:\Koen\EmailAndNewsTB\ktanghe.
This solved my problem.
(Reporter)

Comment 65

6 years ago
gentlemen for me the same thing. Removed all the Mail.root lines and this solved the issue.
(Assignee)

Comment 66

6 years ago
Neil, is anybody from Seamonkey going to see this, or can we proceed with the patch?
Flags: needinfo?(neil)
(Assignee)

Updated

6 years ago
Attachment #813606 - Flags: review?(mbanner)

Comment 67

6 years ago
(In reply to :aceman from comment #66)
> Neil, is anybody from Seamonkey going to see this, or can we proceed with
> the patch?

So, by the looks of things, this is caused by certain conflicting / invalid pref settings?
The current patch hides the issue so would, I guess, be suitable as a temporary fix but I wouldn't expect to be going onto comm-central, maybe beta/release though. I'm happy to give it an r= for going onto a branch, if that is what you are looking to do.
Flags: needinfo?(neil)
(Assignee)

Comment 68

6 years ago
IanN, yes, this is a temporary bandaid for TB24.0.x . But it would be no problem if it got to comm-central and other branches too. Otherwise you probably do not get it in Seamonkey until the real fix is done. I'll work on the real fix after that.
Flags: needinfo?(iann_bugzilla)
(Assignee)

Comment 69

6 years ago
Comment on attachment 813606 [details] [diff] [review]
patch v3

[Approval Request Comment]
Regression caused by (bug #): bug 750781
User impact if declined: inability to use account manager for the affected accounts
Testing completed (on c-c, etc.): trunk
Risk to taking this patch (and alternatives if risky): ability of the user to ignore the warning and get hit by bug 750781, otherwise none.

I propose to get this into TB24.0.x. Getting it into other TB or SM branches is optional. We got 0 problems reported even without the patch on non-release branches. Only after TB24 got released there are many reports.
Attachment #813606 - Flags: review?(neil)
Attachment #813606 - Flags: review?(mbanner)
Attachment #813606 - Flags: approval-comm-esr24?
(Assignee)

Comment 70

6 years ago
There is no tracking-thunderbird-esr31 flag yet so marking into the whiteboard :)
This bug needs to be decided on/solved before TB31.
Whiteboard: [tracking TB31]
(Assignee)

Updated

6 years ago
Duplicate of this bug: 931349

Comment 72

6 years ago
@ aceman:
I don't know whether this is of any interest but I've read several reports from TB24 users in the German "Thunderbird Mail DE" forum who used a workaround to bypass the problem of not being able to edit the account settings.
Instead of going the way from "Tools" -> "Account Settings...", they right-clicked on an account name in the folder pane and chose "Settings...". 
Hence they were able to modify account settings unless they clicked on "Local Folders" where they got the error or warning message again. 
http://www.thunderbird-mail.de/forum/viewtopic.php?f=31&t=63991
(Assignee)

Comment 73

6 years ago
That is expected behaviour. The messages is account specific. So if you manage to open the account manager on an account that does not have, you can manage that account just fine. You just must not click on Server settings of an affected account.

Comment 74

6 years ago
(In reply to :aceman from comment #69)
> I propose to get this into TB24.0.x. Getting it into other TB or SM branches
> is optional. We got 0 problems reported even without the patch on
> non-release branches. Only after TB24 got released there are many reports.

The next release is 24.1 and was already built last week. SeaMonkey 2.22 final should go to the builders any moment with a release target for tomorrow. So, that's a bit tight for the current cycle. :-\

Comment 75

6 years ago
Hi all, I got probably the same problem already with version 23 or maybe earlier (Windows 7 pro / ×64). There is nothing wrong with the directories at all, I didn't change anything after 17.0.8 either (which version runs perfectly). When I enter the account settings, I cannot select any entry (not any line !) at all – always I only get the message that the path is wrong and I should change it (without of course any possibility to change anything from the window). Absolutely inacceptable !

Likely the reason of the problem is just that I use the same path for all my e-mail accounts. I use a few different e-mail adresses (private, etc.) but don't like to have e-mails at 100 different places. So it is essential that I can use the same directory for all accounts (D:\Modem\E-Mail). Just the developers seem to be willing forbidding this ("educating" users instead of removing bugs is Microsoft's strategy). The consequence is that I had totally to disable Thunderbird updates. I will not enable them again before the developers change their minds and allow again using the same directory for different accounts, as worked perfectly for many years.

Note that the problem did not appear on my Notebook (Windows 8 pro / ×64). However, on my Notebook I have only 1 e-mail account !

Comment 76

6 years ago
Hi Henri,
Comment 72 (Eckard Berberich) gives a workaround that has worked for me.  It's worth looking at to see if it's ok for you.
(Assignee)

Comment 77

6 years ago
Henri, having all accounts point to the same directory is just calling for problems. Maybe it incidentally worked for you for years but it is not supported and you may loose messages. Be aware of that and don't blame TB in the future (it is finally warning you properly).

If you want to collect messages from several accounts into one, then the supported configuration is either to use multiple identities in one account, or if you really have different incoming servers, then use the Global Inbox features (in each account, select to store mail into another account's Inbox).

But if you choose to keep the Local directories as they are (shared) then the patch here will solve your problems. You will get the warning, but you will still be able to access account manager properly.

Comment 78

6 years ago
Thanks Barrie,

The right-click workaround doesn't work as I have no account folders other than "Local folders". As everything should go to the global folders, this is OK for me. The less folders, the better

Thanks :aceman,

About 1-2 years ago) I put a new account into a different folder. The result was catastrophic as I repeatedly got all mails multiple times (possibly times the number of accounts), including already deleted mails (which remain some time on the different external mail servers). Maybe I would have to assign new folders or aliases to all accounts or even to deinstall totally Thunderbird including manually deleting all personal settings from several drives before reinstalling it (?)… just a lot of work without any obvious benefit as in the last years I have seen no advantage of any new Thunderbird version at all. 

Please note that my actual configuration was created with Thunderbird itself (very early version) - this was obviously supported at that time and I never got any warning at all until setting settings suddenly failed with a highly cryptic error message. I just copied this configuration each time when upgrading Windows (98->NT->2000->7).

All these years, however, I never lost any single e-mail with Thunderbird (unlike with MS Outlook on my company PC, where for example some important mails landed reproducibly directly in the trash folder for never found reasons !, amongst countless other problems with the mail server). Thus I will continue to use my current configuration and Thunderbird 17.0.8 with disabled upgrades as long as possible, unless I eventually get real problems. The only tiny problems now are that Thunderbird (including version 24) often fails to call mails upon start (though network already active, no error messages, then I just have to call the mails manually after waiting a while) and that upon answering a mail, Thunderbird puts as default a sender address which is neither my standard sender address (first account), nor the address to which the mail to be answered was received.
(Assignee)

Comment 79

6 years ago
So this has approval from IanN of Seamonkey side too, so let's get it in for now. I propose to get it into c-c too so Seamonkey can pick it into it's releases. It does not harm to be in c-c and we will get a common codebase (tb24 and trunk) for further patches.
Keywords: checkin-needed
Whiteboard: [tracking TB31] → [tracking TB31][leave open after checkin]

Comment 81

6 years ago
Comment on attachment 813606 [details] [diff] [review]
patch v3

It would be good to get this onto the c-a/c-b branches.

[Approval Request Comment]
Regression caused by (bug #): bug 750781
User impact if declined: inability to use account manager for the affected accounts
Testing completed (on c-c, etc.): trunk
Risk to taking this patch (and alternatives if risky): ability of the user to ignore the warning and get hit by bug 750781, otherwise none.
Attachment #813606 - Flags: review?(iann_bugzilla)
Attachment #813606 - Flags: review+
Attachment #813606 - Flags: approval-comm-beta?
Attachment #813606 - Flags: approval-comm-aurora?
Comment on attachment 813606 [details] [diff] [review]
patch v3

a=Standard8 for aurora & esr24
Attachment #813606 - Flags: approval-comm-esr24?
Attachment #813606 - Flags: approval-comm-esr24+
Attachment #813606 - Flags: approval-comm-beta?
Attachment #813606 - Flags: approval-comm-aurora?
Attachment #813606 - Flags: approval-comm-aurora+
Blocks: 946876
For tracking purposes, completely fixing this bug will be handled in bug 946876.

This bug has changed the UI to log a warning rather than putting up the dialog.
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Flags: needinfo?(iann_bugzilla)
Resolution: --- → FIXED
Whiteboard: [tracking TB31][leave open after checkin]
Target Milestone: --- → Thunderbird 28.0

Updated

5 years ago
Blocks: 921410
Summary: Can't edit account settings after update to version 24, folder location error → Can't edit account settings after update to version 24, folder location error (if mail.root.pop3-rel , or .none-rel != [ProfD]Mail, wrong warning on proper .directory-rel==[ProfD]Mail/hostname is shown)
(Assignee)

Comment 85

5 years ago
Just to make it clear, the patch as is only demotes the error to a warning with ability to proceed FOR EXISTING ACCOUNTS (where the local directory is already set and you do not touch it). If you try to change any existing local directory to another one that is deemed unsafe, it is still prevented by TB (the error message can't be ignored).
If you need to change to an unsafe directory, please do the fixing of mail.root.* prefs manually for now (see comment 64).

Updated

3 years ago
Blocks: 926224
(Assignee)

Updated

3 years ago
Duplicate of this bug: 926224
You need to log in before you can comment on or make changes to this bug.