Closed Bug 324311 Opened 15 years ago Closed 15 years ago

Profile startup fails if non-ascii characters in profile path

Categories

(Toolkit :: Storage, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: JasnaPaka, Assigned: asqueella)

References

Details

(Keywords: fixed1.8.1, intl, regression)

Attachments

(2 files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; cs; rv:1.8) Gecko/20051111 Firefox/1.5
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; cs; rv:1.8) Gecko/20051111 Firefox/1.5

I want to create new local calendar. I choose option "File -> New Calendar File". In first window of wizard I choose "Local" and click "Next". In next window I fill name (something like "default") and click "Next" but no new window is showed. 

JavaScript Console:
Error: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageService.openSpecialDatabase]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: file:///C:/Programy/Mozilla%20Sunbird/components/calCalendarManager.js :: anonymous :: line 130"  data: no]
Source File: file:///C:/Programy/Mozilla%20Sunbird/components/calCalendarManager.js
Line: 130

Error: [Exception... "Component returned failure code: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService]"  nsresult: "0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE)"  location: "JS frame :: chrome://calendar/content/calendarUtils.js :: getCalendarManager :: line 46"  data: no]
Source File: chrome://calendar/content/calendarUtils.js
Line: 46

Path to Sunbird profile contains Czech chars. Maybe Sunbird has problem with it.
My path: C:\Documents and Settings\Pavel Cvrèek\Data aplikací\Mozilla\Sunbird

Sunbird 0.3a1 works fine. Problem is with nightly buils only. I tried new profile but same problem.

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060121 Mozilla Sunbird/0.3a1+


Reproducible: Always
Confirmed on Windows. 

I created a new profile in the directoy 'C:\temp\ä' and Sunbird won't start properly. Sunbird already fails to create storage.sdb.
On Linux it works using a profile in the directoy '/tmp/ä'
I will try to find the regression window.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Regression window:
Works in win32-2005-12-13-07-trunk build
Fails in win32-2005-12-14-08-trunk build

Checkins to module CalendarClient between 2005-12-13 06:00 and 2005-12-14 09:00:
http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=CalendarClient&branch=HEAD&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2005-12-13+06%3A00&maxdate=2005-12-14+09%3A00&cvsroot=%2Fcvsroot

All Checkins between 2005-12-13 06:00 and 2005-12-14 09:00
http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2005-12-13+06%3A00&maxdate=2005-12-14+09%3A00&cvsroot=%2Fcvsroot
Keywords: regression
Summary: Cannot create local calendars → Profile creation fails if non-ascii characters in profile path
Maybe caused by the Upgrade to SQLite 3.2.7 (no bug)? Adding vladimir to CC.
Keywords: intl
Did some more testing using a profile named 'foobär':

Firefox: Official Win32 20060201 [Trunk] build: No errors.

Firefox: Custom build with places enabled from Arthur_Dent [trunk/places] 2006.02.01 Win32/VC 7.1 http://forums.mozillazine.org/viewtopic.php?t=373509: 
Startup failed. The following errors are displayed:

---------------------------------------------------------------------
Error: uncaught exception: [Exception... "Component returned failure code: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService]"  nsresult: "0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE)"  location: "JS frame :: chrome://browser/content/places/controller.js :: <TOP_LEVEL> :: line 1399"  data: no]
---------------------------------------------------------------------
Error: uncaught exception: [Exception... "Component returned failure code: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService]"  nsresult: "0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE)"  location: "JS frame :: chrome://browser/content/places/toolbar.xml ::  :: line 14"  data: no]
---------------------------------------------------------------------
Error: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDocShellHistory.useGlobalHistory]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: chrome://browser/content/browser.js :: prepareForStartup :: line 706"  data: no]
---------------------------------------------------------------------
Error: uncaught exception: [Exception... "Component returned failure code: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService]"  nsresult: "0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE)"  location: "JS frame :: chrome://browser/content/search.xml :: initialize :: line 94"  data: no]
---------------------------------------------------------------------


Sunbird: Official Win32 20060201 [Trunk] build: 
Startup failed. The following errors are displayed:

---------------------------------------------------------------------
Error: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageService.openSpecialDatabase]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: file:///D:/sunbird/components/calCalendarManager.js :: anonymous :: line 130"  data: no]
---------------------------------------------------------------------
Error: [Exception... "Component returned failure code: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService]"  nsresult: "0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE)"  location: "JS frame :: file:///D:/sunbird/components/calAlarmService.js :: anonymous :: line 237"  data: no]
---------------------------------------------------------------------
Error: [Exception... "Component returned failure code: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService]"  nsresult: "0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE)"  location: "JS frame :: file:///D:/sunbird/components/calCompositeCalendar.js :: anonymous :: line 141"  data: no]
---------------------------------------------------------------------

Both Firefox and Sunbird versions have no problems if I remove the 'ä' from profile name.

Storage component seems to be the only component that is shared between Firefox and Sunbird. Changing bug assignment for further investigation.
Assignee: mostafah → vladimir
Component: General → Storage
Product: Calendar → Toolkit
QA Contact: general → storage
Version: unspecified → Trunk
This error also affects Lightning:

WORKS in Tbird 1.5 (20051201) and lightning-win32-2006-01-22-08-mozilla1.8
FAILS in Tbird 1.5 (20051201) and lightning-win32-2006-01-23-08-mozilla1.8

Checkins on MOZILLA_1_8_BRANCH between 2006-01-22 07:00 and 2006-01-23 08:00:
http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=MOZILLA_1_8_BRANCH&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2006-01-22+07%3A00&maxdate=2006-01-23+08%3A00&cvsroot=%2Fcvsroot
Whiteboard: [cal relnote]
Status update after request for retest:

FAILS with Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a1) Gecko/20060303 Firefox/1.6a1

FAILS with Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a1) Gecko/20060303 Mozilla Sunbird/0.3a1+
Summary: Profile creation fails if non-ascii characters in profile path → Profile startup fails if non-ascii characters in profile path
I may be missing something here, but a simple switch to UTF-16 API fixes the bug for me.
Assignee: vladimir → asqueella
Status: NEW → ASSIGNED
Attachment #214124 - Flags: first-review?(vladimir)
Attachment #214124 - Flags: first-review?(vladimir) → first-review+
Attachment #214124 - Flags: approval-branch-1.8.1+
I went ahead and landed this on both the trunk and the branch so that it can make what we hope will be Lightning release-candidate builds in the morning.  Thanks for the patch, Nickolay!
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Keywords: fixed1.8.1
Resolution: --- → FIXED
Whiteboard: [cal relnote]
I just tested with the latest Sunbird trunk hourly build and the latest Lightning branch hourly build containing this patch on Windows XP: 

The first profile startup works ok. But after that Sunbird/Thunderbird always crashes during startup.
Ok, I don't know what was wrong with the early hourly builds. The 2006-03-06 nightly builds does not crash for me. However, this check in might have caused Bug 329518.
Well as you can guess, there are no obvious problems in my build (yesterday build + this fix). I'm testing Firefox+places, and there are no obvious crashers, nor do I see bug 329518 (adapted to Firefox+places).
Okay, so I don't build sunbird/lightning, so I can't reproduce bug 329518. But even not knowing the root cause, I think we should fix the bug by switching back to sqlite3_open() and converting the path appropriately. The reason is that I missed this from the docs: "The encoding for the database will be UTF-8 if sqlite3_open() is called and UTF-16 if sqlite3_open16 is used." I thought the sqlite3_open16() was just a convenience function, which it isn't.

ssitter reports that this change fixes bug 329518. dmose had problems with his build though.
Comment on attachment 214217 [details] [diff] [review]
switch back to sqlite_open, but make sure to pass the correctly encoded path

mvl confirmed this fixes the bug.
Attachment #214217 - Attachment description: switch back to sqlite_open16, but make sure to pass the correctly encoded path → switch back to sqlite_open, but make sure to pass the correctly encoded path
Attachment #214217 - Flags: first-review?(bryner)
Attachment #214217 - Flags: first-review?(bryner) → first-review+
After a clean rebuild, this fixes the problem for me as well.  bryner has OKed this to land on both trunk and branch, which I will do this evening.
Fix to the fix checked in on both branch and trunk; thanks for the patch, Nickolay!
No longer depends on: 1423897
You need to log in before you can comment on or make changes to this bug.