Closed Bug 247377 Opened 21 years ago Closed 20 years ago

Problem on Windows with non-ASCII characters in user name or profile path

Categories

(Toolkit :: Startup and Profile System, defect, P1)

x86
Windows XP
defect

Tracking

()

VERIFIED FIXED
mozilla1.7.4

People

(Reporter: maillist, Assigned: benjamin)

References

(Depends on 1 open bug)

Details

(Keywords: fixed-aviary1.0, intl)

Attachments

(3 files)

User-Agent:       Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)
Build Identifier: 

My username is BjΓΆrn and I'm using swedish WinXP.

Version 0.6 correctly saves/reads my user data in "C:\Documents and 
Settings\BjΓΆrn\Application Data\Thunderbird" 
But
Version 0.7 use "C:\Documents and Settings\BJâRN\APPLICATION 
DATA\Thunderbird" 
this causes all my accounts to diapear from the program of course and when I 
first start the program I am promted to create a news or mail account.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Benjamin, I've been getting a lot of complaints like this one with 0.7 about it
no longer working with profile paths that contain 8-bit characters. I wonder if
there are some charset bugs in the new profile code?
Assignee: mscott → bsmedberg
Severity: major → critical
Status: UNCONFIRMED → NEW
Component: Account Manager → Startup and Profile System
Ever confirmed: true
Product: Thunderbird → Firefox
QA Contact: bsmedberg
Target Milestone: --- → Firefox1.0beta
Can you attach your profiles.ini to this bug?
I couldn't find any profiles.ini, where should it be?
*** Bug 247367 has been marked as a duplicate of this bug. ***
Ben G. I wonder if we should try to do a point release that addresses this if
the fix turns out to be easy? 
'ΓΆ' is U+00F6 and in Windows-1252, it's 0xf6 while in UTF-8 it's 0xc3 0xb6. 
'â' in Windows-1252 is '0xc3 0xb6'. So, what's happening is somewhere '0xc6' in
ISO-8859-1 is converted to UTF-8 (0xc3 0xb6) and then is uppercased. After
'naive' (ASCII-only) case change, it has to be converted back to Windows 1252
(the code page of the system default locale) for the file operation, but it is
not (as a result, 'ΓΆ' in UTF-8 (0xc3 0xb6) is interpreted as two characters 'â'
in Windows-1252) 

At first, I suspected bug 202366, but the patch there was committed a long time
ago (on March 2nd, 20040. bug 226439 is another suspect (but not so likely). 

One place where I'm sure UTF-8 is interpreted as the code page of the system
locale is nsWinShellService.cpp
(http://lxr.mozilla.org/mozilla/source/browser/components/shell/src/nsWindowsShellService.cpp
and bug 240272), but that's little to do with the profile path. Two other places
to take a look at is nsLocalFileWin.cpp and SpecialSystemDirectory.cpp. All of
these would have impact on places other than the profile manager as well. If
it's not, it must be local to the profile code. I'll take a closer look at
patches in bug 239929.

reporter, can you try mozlla 1.7rc3 or 1.8alpha and see if  it also has the same
problem? 


This comment is in ISO-8859-1. I'd be writting this in UTF-8  if comment #0 were
in UTF-8. Unfortunately, it's not so that to make both comment #0 and this get
rendered correctly simulatneously, I'm adding this in ISO-8859-1.

Btw, I agree with Scott about the need for a point release. This bug will make
it all but impossible to recommend firefox/thunderbird to non-English speaking
users (well, not all of them have non-ASCII user names on windows, but ...)
Flags: blocking1.0?
Keywords: intl
Summary: Problem in Windows with none A to Z characters in user name → Problem on Windows with non-ASCII characters in user name
I tested Mozilla 1.7 Release and 1.7 RC3 and they don't have this problem.
*** Bug 247959 has been marked as a duplicate of this bug. ***
Some Japanese people reported to Bugzilla.JP similar invalid path problem when
"Japanese Login Name". 
BjΓΆrn Carlsson, does the problem also occur on new profile creation?
Or caused only by automatic profile conversion by installer? 
OK, I think I may have a handle on this, but I'm still working to reproduce it.

I think that this error is being caused by the profile-import code, which really
doesn't get exercized in firefox at all (which is why all the dups are from
tbird). In that code, I'm going through the old-style netscape registry to get
profile names/paths (I reverse-engineered the old registry code, because I
couldn't find any documentation). Apparently, I'm treating some data in there
with the wrong charset:
http://lxr.mozilla.org/mozilla/source/mail/components/migration/src/nsProfileMigrator.cpp#172

I think that, because of the strange way nsIRegistry works, this data is being
written in UTF8. So we need to do a utf8-ucs2 conversion and use the
nsILocalFile.initWithPath method, instead of initWithNativePath.

If my diagnosis is correct, this will not affect newly-created profiles, it will
only affect profile-import from previous thunderbird versions. Can someone
verify that new profile work correctly?
*** Bug 248287 has been marked as a duplicate of this bug. ***
This bug affect not only the user names but the whole user profile path. On
Czech Windows the %APPDATA% is called "Data aplikacΓ­". After instaling tbird 0.7
and migrating profile from 0.6 the profile folder is moved into "Data aplikacÃ-".

Newly-created profile works correctly.

Somebody with enough karma please change the Summary.
Summary: Problem on Windows with non-ASCII characters in user name → Problem on Windows with non-ASCII characters in user name or profile path
Attached file profiles.ini (deleted) β€”
I can reproduce this in Firefox also. If I have an existing profile made with a
pre-AVIARY Firefox build, I used the build from 2004-04-18, and start the
earliest AVIARY branch build I could find, 2004-05-20, the attached
profiles.ini is created in C:\Documents and Settings\BjΓΆrn\Application
Data\Firefox\. The existing profile is not used, instead a new set of profile
files are created in C:\Documents and Settings\BJÖRN\APPLICATION
DATA\Firefox\Profiles\default\rxq11wsl.slt.

This bug do not appear if I do not have an existing profile when I launch the
2004-05-20 build. I can even use the Profile manager to create a new profile in
some other place under \Documents and Settings\BjΓΆrn\. The full path is saved
in profiles.ini, and Firefox have no problem in finding it.
Attached patch Use unicode (deleted) β€” β€” Splinter Review
This is untested, because I don't have the thunderbird trees to try it.
Attachment #151541 - Flags: review?(jshin)
Comment on attachment 151541 [details] [diff] [review]
Use unicode

r=jshin

While you're at it, why don't you do the same in
browser/mail/components/migration/nsProfileMigrator.cpp? It has the same code
that leads to the same problem as confirmed by Pawell.

BTW, I'm wondering why the treatment of OS X case is different between browser
and mail. We have to look into that problem in a separate  bug.
Attachment #151541 - Flags: review?(jshin) → review+
benjamin, I'm going to check this into the aviary 1.0 branch right now so we can
see if we can get some volunteers on non English systems to test it for us. I
don't have the ability to test this either since I use an English system. 
*** Bug 248523 has been marked as a duplicate of this bug. ***
I think that "Release Notes" of Firefox 0.9 & Thunderbird 0.7 should be revised
as soon as possible - describe this bug's problem with workaround(edit
profile.ini) in "Known Issues" section.
It is not too late, I believe.

When release notes is revised, announce it for translaters, please.
If 0.9.0.1 or 0.7.0.1 will be released soon, ignore my request, please.
(In reply to comment #15)

> While you're at it, why don't you do the same in
> browser/mail/components/migration/nsProfileMigrator.cpp? It has the same code
> that leads to the same problem as confirmed by Pawell.

It should be browser/components/migration/nsProfileMigrator.cpp. 
For your information, it's fully possible to create a user account like BjΓΆrn 
for example on an English Windows version. Referring to comment #16.
(In reply to comment #16)
> I don't have the ability to test this either since I use an English system. 

Scott, problem is easily recreated on any case, (A) non-ascii username (B)
non-ascii profile name, (C) non-ascii profile directry by user choice.
I tested case (C) - ascii username/ascii profile name/Japanese directry name on
MS Win-2K.
 (1) Create a profile by Thunderbird 0.6 - no problem.
 (2) Start Thunderbird 0.7.
     - profile.ini is migrated successufully.
     - profile is copied to directry of garbage in directry name.

In case-C (probably also in cese-B), the garbage name is always used, even when
profile is newly created one by Thunderbird 0.7.
This is probably  Bug 202366 and/or Bug 229415.
a test build with this fix in it is now available:

http://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-0.8/ThunderbirdSetup.exe

If someone wants to help test that it works. 
It looks like that it works.
I've verified that Thunderbird 0.7+ 2004-06-25(latest-08 branch)/Win-2K resolved
the problem in ascii username/ascii profile name/Japanese directry name case.
Japanese directry name created by 0.6 was migrated and used successufully.
Newly created profile with Japanese directry name is also used with no problem.

Thanks for quick solution.
Comment on attachment 151541 [details] [diff] [review]
Use unicode

asking for sr
Attachment #151541 - Flags: superreview?(mscott)
we checked this in already removing the sr request

this is fixed on the 1.0 branch, the trunk and the 0.7.1 branch
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Attachment #151541 - Flags: superreview?(mscott) → superreview+
(In reply to comment #26)
> we checked this in already removing the sr request
> this is fixed on the 1.0 branch, the trunk and the 0.7.1 branch
Thanks, but it was fixed only in TB part. Firefox has exactly the same problem and 
browser/components/migration/src/nsProfileMigrator.cpp has to be fixed as well.
(see comment #15)
http://lxr.mozilla.org/mozilla/source/browser/components/migration/src/nsProfileMigrator.cpp#361

Do we need firefox peer a? 
Reopening. Not fixed in Firefox build Mozilla/5.0 (Windows; U; Windows NT 5.1;
en-US; rv:1.7) Gecko/2004062510.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Attached patch firefox patch (deleted) β€” β€” Splinter Review
identical to attachment 151541 [details] [diff] [review] but this is for firefox.
Attachment #151751 - Flags: review?(bryner)
I'm not sure if I should call it a new bug or if this one's not solved yet. 
But when I try 
http://ftp27f.newaol.com/pub/mozilla.org/thunderbird/nightly/2004-06-25-12-
0.8/thunderbird-win32.zip
with my BjΓΆrn account (with existing profile) then I'm prompted to choose user 
profile, and if I choose default a message box tells my that I can't choose 
the profile "default" because it is in use...
But if I try to start TB from an account with all ascii characters in the user 
name (also with an existing profile), I have no problems.
Flags: blocking-aviary1.0RC1+
Flags: blocking-aviary1.0?
Flags: blocking-aviary1.0+
BjΓΆrn: since this bug turns out to be in profile-migration, you might need to
delete APPDATA/Thunderbird/profiles.ini so that it will exercize the import code
again.

Did somebody checkin the firefox half of this patch? Please note that the
firefox half would only affect users who had a nightly build after 0.8 and
before 0.9 (when we were using APPDATA/Firefox instead of APPDATA/Phoenix).
Comment on attachment 151751 [details] [diff] [review]
firefox patch

This patch is identical to the patch that already went in to aviary-1.0branch,
trunk and TB 0.7.1 release except that this is for firefox.
Attachment #151751 - Flags: review?(bryner) → review?(firefox)
Thank you Benjamin Smedberg (comment #31) after deleting profiles.ini 
Thunderbird 0.7.1 works fine for me.
Attachment #151751 - Flags: review?(firefox) → review+
can someone confirm this patch has been checked in on he aviary 1.0 branch and
mark the bug with the "fixed-aviary1.0" keyword if they checked it in?  thanks

Comment on attachment 151751 [details] [diff] [review]
firefox patch

asking ro a-aviary explicitly.

In early July, I wrote a couple of times off-line to ask for that, but haven't
heard back.
Attachment #151751 - Flags: approval-aviary?
taking chofmann's comment as 'a to aviary-1.0', I checked this in to both
aviary-1.0 branch and trunk.
Status: REOPENED → RESOLVED
Closed: 21 years ago20 years ago
Keywords: fixed-aviary1.0
Resolution: --- → FIXED
Attachment #151751 - Flags: approval-aviary?
Status: RESOLVED → VERIFIED
Product: Firefox → Toolkit
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: